/* ****************************************************************************** * HEADER FILE * * Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: stdio.h,v $ $Revision: 1.9 $ * $Source: /home/interpeak/CVSRoot/ipxinc/include/stdio.h,v $ * $Author: lob $ $Date: 2006-04-10 11:03:29 $ * $State: Exp $ $Locker: $ * * INTERPEAK_COPYRIGHT_STRING * Design and implementation by Lennart Bang ****************************************************************************** */ #ifndef IP_STDIO_H #define IP_STDIO_H /* **************************************************************************** * 1 DESCRIPTION **************************************************************************** */ /* **************************************************************************** * 2 CONFIGURATION **************************************************************************** */ #include "ipcom_config.h" /* **************************************************************************** * 3 INCLUDE FILES **************************************************************************** */ #define IPCOM_USE_CLIB_PROTO #include "ipcom_clib.h" #include "ipcom_clib2.h" #include "ipcom_type.h" #include "ipcom_file.h" #ifdef IPCOM_STDOUT_TO_SYSLOG #include "ipcom_stdio_syslog.h" #endif #include "sys/types.h" #include "stdarg.h" #include "sys/select.h" #ifdef __cplusplus extern "C" { #endif /* **************************************************************************** * 4 DEFINES **************************************************************************** */ #define EOF IP_EOF #ifndef NULL #define NULL IP_NULL #endif #define FILE IP_FILE #define BUFSIZ IP_BUFSIZ #define stderr ipcom_stderr() #define stdin ipcom_stdin() #define stdout ipcom_stdout() /* *=========================================================================== * seek 'whence' *=========================================================================== */ #define SEEK_SET IP_SEEK_SET #define SEEK_CUR IP_SEEK_CUR #define SEEK_END IP_SEEK_END /* *=========================================================================== * setvbuf 'mode' *=========================================================================== */ #define _IOFBF IP__IOFBF #define _IOLBF IP__IOLBF #define _IONBF IP__IONBF /* **************************************************************************** * 5 TYPES **************************************************************************** */ #define dirent Ip_dirent /* **************************************************************************** * 6 FUNCTIONS **************************************************************************** */ #define fopen(a1,a2) ipcom_fopen(a1,a2) #define fclose(a1) ipcom_fclose(a1) #define fwrite(a1,a2,a3,a4) ipcom_fwrite(a1,a2,a3,a4) #define fread(a1,a2,a3,a4) ipcom_fread(a1,a2,a3,a4) #define fflush(fp) ipcom_fflush(fp) #define ferror(fp) ipcom_ferror(fp) #define feof(fp) ipcom_feof(fp) #define rename(o,n) ipcom_rename(o,n) #define fdopen(fd,m) ipcom_fdopen(fd,m) #define fileno(fp) ipcom_fileno(fp) #define fseek(fp,o,w) ipcom_fseek(fp,o,w) #define rewind(fp) ipcom_fseek(fp,0,IP_SEEK_SET) #define ftell(fp) ipcom_ftell(fp) #define lseek(a1,a2,a3) ipcom_lseek(a1,a2,a3) #define setvbuf(a1,a2,a3,a4) ipcom_setvbuf(a1,a2,a3,a4) #if (defined(IPCOM_PRINTF) && IPCOM_PRINTF == 1) || defined(IPCOM_PORT_PRINTF) #define printf ipcom_printf #elif defined(IPCOM_PRINTF) #define printf IPCOM_PRINTF #endif #if (defined(IPCOM_FPRINTF) && IPCOM_FPRINTF == 1) || defined(IPCOM_PORT_FPRINTF) #define fprintf ipcom_fprintf #elif defined(IPCOM_FPRINTF) #define fprintf IPCOM_FPRINTF #endif #if (defined(IPCOM_SPRINTF) && IPCOM_SPRINTF == 1) || defined(IPCOM_PORT_SPRINTF) #define sprintf ipcom_sprintf #elif defined(IPCOM_SPRINTF) #define sprintf IPCOM_SPRINTF #endif #if (defined(IPCOM_SNPRINTF) && IPCOM_SNPRINTF == 1) || defined(IPCOM_PORT_SNPRINTF) #define snprintf ipcom_snprintf #elif defined(IPCOM_SNPRINTF) #define snprintf IPCOM_SNPRINTF #endif #if (defined(IPCOM_VSPRINTF) && IPCOM_VSPRINTF == 1) || defined(IPCOM_PORT_VSPRINTF) #define vsprintf ipcom_vsprintf #elif defined(IPCOM_VSPRINTF) #define vsprintf IPCOM_VSPRINTF #endif #if (defined(IPCOM_VSNPRINTF) && IPCOM_VSNPRINTF == 1) || defined(IPCOM_PORT_VSNPRINTF) #define vsnprintf ipcom_vsnprintf #elif defined(IPCOM_VSNPRINTF) #define vsnprintf IPCOM_VSNPRINTF #endif #if (defined(IPCOM_SSCANF) && IPCOM_SSCANF == 1) || defined(IPCOM_PORT_SSCANF) #define sscanf ipcom_sscanf #elif defined(IPCOM_SSCANF) #define sscanf IPCOM_SSCANF #endif #if (defined(IPCOM_FSCANF) && IPCOM_FSCANF == 1) || defined(IPCOM_PORT_FSCANF) #define fscanf ipcom_fscanf #elif defined(IPCOM_FSCANF) #define fscanf IPCOM_FSCANF #endif #if (defined(IPCOM_PERROR) && IPCOM_PERROR == 1) || defined(IPCOM_PORT_PERROR) #define perror(s) ipcom_perror(s) #elif defined(IPCOM_PERROR) #define perror(s) IPCOM_PERROR(s) #endif #if (defined(IPCOM_FPUTC) && IPCOM_FPUTC == 1) || defined(IPCOM_PORT_FPUTC) #define fputc(c,s) ipcom_fputc(c,s) #elif defined(IPCOM_FPUTC) #define fputc(c,s) IPCOM_FPUTC(c,s) #endif #if (defined(IPCOM_FGETC) && IPCOM_FGETC == 1) || defined(IPCOM_PORT_FGETC) #define fgetc(s) ipcom_fgetc(s) #elif defined(IPCOM_FGETC) #define fgetc(s) IPCOM_FGETC(s) #endif #if (defined(IPCOM_PUTC) && IPCOM_PUTC == 1) || defined(IPCOM_PORT_PUTC) #define putc(c,s) ipcom_putc(c,s) #elif defined(IPCOM_PUTC) #define putc(c,s) IPCOM_PUTC(c,s) #endif #if (defined(IPCOM_GETC) && IPCOM_GETC == 1) || defined(IPCOM_PORT_GETC) #define getc(s) ipcom_getc(s) #elif defined(IPCOM_GETC) #define getc(s) IPCOM_GETC(s) #endif #if (defined(IPCOM_UNGETC) && IPCOM_UNGETC == 1) || defined(IPCOM_PORT_UNGETC) #define ungetc(c,s) ipcom_ungetc(c,s) #elif defined(IPCOM_UNGETC) #define ungetc(c,s) IPCOM_UNGETC(c,s) #endif #if (defined(IPCOM_FGETS) && IPCOM_FGETS == 1) || defined(IPCOM_PORT_FGETS) #define fgets(b,l,s) ipcom_fgets(b,l,s) #elif defined(IPCOM_FGETS) #define fgets(b,l,s) IPCOM_FGETS(b,l,s) #endif #if (defined(IPCOM_FPUTS) && IPCOM_FPUTS == 1) || defined(IPCOM_PORT_FPUTS) #define fputs(b,s) ipcom_fputs(b,s) #elif defined(IPCOM_FPUTS) #define fputs(b,s) IPCOM_FPUTS(b,s) #endif #if (defined(IPCOM_PUTCHAR) && IPCOM_PUTCHAR == 1) || defined(IPCOM_PORT_PUTCHAR) #define putchar(c) ipcom_putchar(c) #elif defined(IPCOM_PUTCHAR) #define putchar(c) IPCOM_PUTCHAR(c) #endif #if (defined(IPCOM_GETCHAR) && IPCOM_GETCHAR == 1) || defined(IPCOM_PORT_GETCHAR) #define getchar ipcom_getchar #elif defined(IPCOM_GETCHAR) #define getchar IPCOM_GETCHAR #endif /* *=========================================================================== * IPCOM_STDOUT_TO_SYSLOG *=========================================================================== * Define this macro from the makefile if you want to re-route all output * from stdout and stderr to syslog. * */ #ifdef IPCOM_STDOUT_TO_SYSLOG /* fwrite */ #ifdef fwrite #undef fwrite #endif #define fwrite ipcom_fwrite_syslog /* fflush */ #ifdef fflush #undef fflush #endif #define fflush ipcom_fflush_syslog /* ferror */ #ifdef ferror #undef ferror #endif #define ferror ipcom_ferror_syslog /* feof */ #ifdef feof #undef feof #endif #define feof ipcom_feof_syslog /* printf */ #ifdef printf #undef printf #endif #define printf ipcom_printf_syslog /* fprintf */ #ifdef fprintf #undef fprintf #endif #define fprintf ipcom_fprintf_syslog /* perror */ #ifdef perror #undef perror #endif #define perror ipcom_perror_syslog /* fputc */ #ifdef fputc #undef fputc #endif #define fputc ipcom_fputc_syslog /* putc */ #ifdef putc #undef putc #endif #define putc ipcom_putc_syslog /* fputs */ #ifdef fputs #undef fputs #endif #define fputs ipcom_fputs_syslog /* putchar */ #ifdef putchar #undef putchar #endif #define putchar ipcom_putchar_syslog #endif /* #ifdef IPCOM_STDOUT_TO_SYSLOG */ /* Special trick for Hitachi SHC compiler */ #if defined(IPEMANATE) && defined(IP_PORT_ITRON) #define SR_QUOTE(X) #endif #ifdef NETSNMP_INTERPEAK #ifdef ungetc #undef ungetc #endif /* Use c library version directly since function is not available in IPCOM */ IP_PUBLIC int ungetc(int c, IP_FILE *stream); #endif /* #ifdef NETSNMP_INTERPEAK */ #ifdef NETSNMP_INTERPEAK #ifdef fscanf #undef fscanf #endif /* Use c library version directly since function is not available in IPCOM */ IP_PUBLIC int fscanf(IP_FILE *stream, const char *format, ...); #endif /* #ifdef NETSNMP_INTERPEAK */ #ifdef __cplusplus } #endif #endif /* **************************************************************************** * END OF FILE **************************************************************************** */