1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213
|
/*
* Copyright 2001 Novell, Inc. All Rights Reserved.
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
*/
/*
* FILENAME : nw5iop.h
* DESCRIPTION : Redefined functions for NetWare.
* Author : SGP, HYAK
* Date : January 2001.
*
*/
#ifndef NW5IOP_H
#define NW5IOP_H
#ifndef START_EXTERN_C
#ifdef __cplusplus
# define START_EXTERN_C extern "C" {
# define END_EXTERN_C }
# define EXTERN_C extern "C"
#else
# define START_EXTERN_C
# define END_EXTERN_C
# define EXTERN_C
#endif
#endif
#if defined(_MSC_VER) || defined(__MINGW32__)
# include <sys/utime.h>
#else
# include <utime.h>
#endif
/*
* defines for flock emulation
*/
#define LOCK_SH 1
#define LOCK_EX 2
#define LOCK_NB 4
#define LOCK_UN 8
/*
* Make this as close to original stdio as possible.
*/
/*
* function prototypes for our own win32io layer
*/
/********CHKSGP ****/
//making DLLExport as nothing
#define DllExport
/*******************/
START_EXTERN_C
int * nw_errno(void);
char *** nw_environ(void);
FILE* nw_stdin(void);
FILE* nw_stdout(void);
FILE* nw_stderr(void);
int nw_ferror(FILE *fp);
int nw_feof(FILE *fp);
char* nw_strerror(int e);
int nw_fprintf(FILE *pf, const char *format, ...);
int nw_printf(const char *format, ...);
int nw_vfprintf(FILE *pf, const char *format, va_list arg);
int nw_vprintf(const char *format, va_list arg);
size_t nw_fread(void *buf, size_t size, size_t count, FILE *pf);
size_t nw_fwrite(const void *buf, size_t size, size_t count, FILE *pf);
FILE* nw_fopen(const char *path, const char *mode);
FILE* nw_fdopen(int fh, const char *mode);
FILE* nw_freopen(const char *path, const char *mode, FILE *pf);
int nw_fclose(FILE *pf);
int nw_fputs(const char *s,FILE *pf);
int nw_fputc(int c,FILE *pf);
int nw_ungetc(int c,FILE *pf);
int nw_getc(FILE *pf);
int nw_fileno(FILE *pf);
void nw_clearerr(FILE *pf);
int nw_fflush(FILE *pf);
long nw_ftell(FILE *pf);
int nw_fseek(FILE *pf,long offset,int origin);
int nw_fgetpos(FILE *pf,fpos_t *p);
int nw_fsetpos(FILE *pf,const fpos_t *p);
void nw_rewind(FILE *pf);
FILE* nw_tmpfile(void);
void nw_abort(void);
int nw_stat(const char *name,struct stat *sbufptr);
FILE* nw_Popen(char* command, char* mode, int* e);
int nw_Pclose(FILE* file, int* e);
int nw_Pipe(int* a, int* e);
int nw_rename( const char *oname, const char *newname);
//int nw_setmode( int fd, int mode);
int nw_setmode( FILE *fp, int mode);
long nw_lseek( int fd, long offset, int origin);
int nw_dup( int fd);
int nw_dup2(int h1, int h2);
int nw_open(const char *path, int oflag,...);
int nw_close(int fd);
int nw_read(int fd, void *buf, unsigned int cnt);
int nw_write(int fd, const void *buf, unsigned int cnt);
int nw_spawnvp(int mode, char *cmdname, char **argv);
int nw_rmdir(const char *dir);
int nw_chdir(const char *dir);
int nw_flock(int fd, int oper);
int nw_execv(char *cmdname, char **argv);
int nw_execvp(char *cmdname, char **argv);
void nw_setbuf(FILE *pf, char *buf);
int nw_setvbuf(FILE *pf, char *buf, int type, size_t size);
char* nw_fgets(char *s, int n, FILE *pf);
int nw_fgetc(FILE *pf);
int nw_putc(int c, FILE *pf);
int nw_open_osfhandle(long handle, int flags);
long nw_get_osfhandle(int fd);
DIR* nw_opendir(char *filename);
struct direct* nw_readdir(DIR *dirp);
long nw_telldir(DIR *dirp);
void nw_seekdir(DIR *dirp, long loc);
void nw_rewinddir(DIR *dirp);
int nw_closedir(DIR *dirp);
unsigned int nw_sleep(unsigned int);
int nw_times(struct tms *timebuf);
int nw_stat(const char *path, struct stat *buf);
int nw_link(const char *oldname, const char *newname);
int nw_unlink(const char *f);
int nw_utime(const char *f, struct utimbuf *t);
DllExport int nw_uname(struct utsname *n);
int nw_wait(int *status);
int nw_waitpid(int pid, int *status, int flags);
int nw_kill(int pid, int sig);
unsigned long nw_os_id(void);
void* nw_dynaload(const char*filename);
int nw_access(const char *path, int mode);
int nw_chmod(const char *path, int mode);
int nw_getpid(void);
char * nw_crypt(const char *txt, const char *salt);
int nw_isatty(int fd);
char* nw_mktemp(char *Template);
int nw_chsize(int handle, long size);
END_EXTERN_C
/*
* the following six(6) is #define in stdio.h
*/
#ifndef WIN32IO_IS_STDIO
#undef environ
#undef feof
#undef pipe
#undef pause
#undef sleep
#undef times
#undef alarm
#undef ioctl
#undef unlink
#undef utime
#undef uname
#undef wait
#ifdef __BORLANDC__
#undef ungetc
#undef getc
#undef putc
#undef getchar
#undef putchar
#undef fileno
#endif
#define environ (*nw_environ())
#if !defined(MYMALLOC) || !defined(PERL_CORE)
#endif
#endif /* WIN32IO_IS_STDIO */
#endif /* NW5IOP_H */
|