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 126