352 lines
8.9 KiB
C
352 lines
8.9 KiB
C
/*
|
|
******************************************************************************
|
|
* 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 <lob@interpeak.se>
|
|
******************************************************************************
|
|
*/
|
|
#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) <X.h>
|
|
#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
|
|
****************************************************************************
|
|
*/
|