| 1 | /* |
| 2 | * (c) Copyright 1990-1996 OPEN SOFTWARE FOUNDATION, INC. |
| 3 | * (c) Copyright 1990-1996 HEWLETT-PACKARD COMPANY |
| 4 | * (c) Copyright 1990-1996 DIGITAL EQUIPMENT CORPORATION |
| 5 | * (c) Copyright 1991, 1992 Siemens-Nixdorf Information Systems |
| 6 | * To anyone who acknowledges that this file is provided "AS IS" without |
| 7 | * any express or implied warranty: permission to use, copy, modify, and |
| 8 | * distribute this file for any purpose is hereby granted without fee, |
| 9 | * provided that the above copyright notices and this notice appears in |
| 10 | * all source code copies, and that none of the names listed above be used |
| 11 | * in advertising or publicity pertaining to distribution of the software |
| 12 | * without specific, written prior permission. None of these organizations |
| 13 | * makes any representations about the suitability of this software for |
| 14 | * any purpose. |
| 15 | */ |
| 16 | /* |
| 17 | * Header file for CMA internal UTIL operations |
| 18 | */ |
| 19 | |
| 20 | #ifndef CMA_UTIL |
| 21 | #define CMA_UTIL |
| 22 | |
| 23 | /* |
| 24 | * INCLUDE FILES |
| 25 | */ |
| 26 | |
| 27 | #include <cma.h> |
| 28 | #include <cma_attr.h> |
| 29 | #include <cma_defs.h> |
| 30 | |
| 31 | #if _CMA_OS_ == _CMA__VMS |
| 32 | # include <cma_rms.h> |
| 33 | #endif |
| 34 | |
| 35 | #if _CMA_VENDOR_ == _CMA__SUN |
| 36 | # include <sys/time.h> |
| 37 | #else |
| 38 | # include <time.h> |
| 39 | #endif |
| 40 | |
| 41 | #if _CMA_OS_ == _CMA__UNIX |
| 42 | # include <stdio.h> |
| 43 | #endif |
| 44 | |
| 45 | /* |
| 46 | * CONSTANTS AND MACROS |
| 47 | */ |
| 48 | |
| 49 | #define cma__c_buffer_size 256 /* Size of output buffer */ |
| 50 | |
| 51 | /* |
| 52 | * TYPEDEFS |
| 53 | */ |
| 54 | |
| 55 | /* |
| 56 | * Alternate eol routine |
| 57 | */ |
| 58 | typedef void (*cma__t_eol_routine) (char *); |
| 59 | |
| 60 | #if _CMA_OS_ == _CMA__VMS |
| 61 | typedef struct CMA__T_VMSFILE { |
| 62 | struct RAB rab; |
| 63 | struct FAB fab; |
| 64 | } cma__t_vmsfile, *cma__t_file; |
| 65 | #elif ( _CMA_UNIX_TYPE == _CMA__SVR4 ) |
| 66 | typedef int cma__t_file; |
| 67 | #else |
| 68 | typedef FILE *cma__t_file; |
| 69 | #endif |
| 70 | |
| 71 | /* |
| 72 | * GLOBAL DATA |
| 73 | */ |
| 74 | |
| 75 | /* |
| 76 | * INTERNAL INTERFACES |
| 77 | */ |
| 78 | |
| 79 | extern void cma__abort (void); |
| 80 | |
| 81 | extern cma_t_integer cma__atol (char *); |
| 82 | |
| 83 | extern cma_t_integer cma__atoi (char *); |
| 84 | |
| 85 | extern char * cma__getenv (char *,char *,int); |
| 86 | |
| 87 | extern int cma__gettimespec (struct timespec *); |
| 88 | |
| 89 | extern cma__t_file cma__int_fopen (char *,char *); |
| 90 | |
| 91 | #ifndef NDEBUG |
| 92 | extern void cma__init_trace (char *_env); |
| 93 | #endif |
| 94 | |
| 95 | extern char * cma__memcpy (char *,char *,cma_t_integer); |
| 96 | |
| 97 | #ifndef cma__memset |
| 98 | extern char * cma__memset (char *,cma_t_integer,cma_t_integer); |
| 99 | #endif |
| 100 | |
| 101 | extern void cma__putformat (char *,char *,...); |
| 102 | |
| 103 | extern void cma__putstring (char *,char *); |
| 104 | |
| 105 | extern void cma__putint (char *,cma_t_integer); |
| 106 | |
| 107 | extern void cma__putint_5 (char *,cma_t_integer); |
| 108 | |
| 109 | extern void cma__putint_10 (char *,cma_t_integer); |
| 110 | |
| 111 | extern void cma__puthex (char *,cma_t_integer); |
| 112 | |
| 113 | extern void cma__puthex_8 (char *,cma_t_integer); |
| 114 | |
| 115 | extern void cma__puteol (char *); |
| 116 | |
| 117 | extern void cma__set_eol_routine (cma__t_eol_routine,cma__t_eol_routine *); |
| 118 | |
| 119 | extern cma_t_integer cma__strlen (char *); |
| 120 | |
| 121 | extern int cma__strncmp (char *,char *,cma_t_integer); |
| 122 | |
| 123 | extern char *cma__gets (char *,char *); |
| 124 | |
| 125 | #endif |