blob: a11e6ea501926b4c528191761c189ff874e823b2 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001/* autoconf cannot fiddle out declarations. Use our homebrewn tools. (jw) */
2/*
3 * Declarations that may cause conflicts belong here so that osdef.sh
4 * can clean out the forest. Everything else belongs in os_unix.h
5 *
6 * How this works:
7 * - This file contains all unix prototypes that Vim might need.
8 * - The shell script osdef.sh is executed at compile time to remove all the
9 * prototypes that are in an include file. This results in osdef.h.
10 * - osdef.h is included in vim.h.
11 *
12 * sed cannot always handle so many commands, this is file 1 of 2
13 */
14
Bram Moolenaare240c2d2016-01-23 22:46:10 +010015extern int printf(char *, ...);
16extern int fprintf(FILE *, char *, ...);
17extern int sprintf(char *, char *, ...);
18extern int sscanf(char *, char *, ...);
Bram Moolenaar071d4272004-06-13 20:20:40 +000019#ifndef fopen /* could be redefined to fopen64() */
Bram Moolenaare240c2d2016-01-23 22:46:10 +010020extern FILE *fopen(const char *, const char *);
Bram Moolenaar071d4272004-06-13 20:20:40 +000021#endif
Bram Moolenaare240c2d2016-01-23 22:46:10 +010022extern int fclose(FILE *);
23extern int fseek(FILE *, long, int);
Bram Moolenaar071d4272004-06-13 20:20:40 +000024#ifdef HAVE_FSEEKO
Bram Moolenaare240c2d2016-01-23 22:46:10 +010025extern int fseeko(FILE *, off_t, int);
Bram Moolenaar071d4272004-06-13 20:20:40 +000026#endif
Bram Moolenaare240c2d2016-01-23 22:46:10 +010027extern long ftell(FILE *);
Bram Moolenaar25153e12010-02-24 14:47:08 +010028#ifdef HAVE_FSEEKO
Bram Moolenaare240c2d2016-01-23 22:46:10 +010029extern off_t ftello(FILE *);
Bram Moolenaar071d4272004-06-13 20:20:40 +000030#endif
Bram Moolenaare240c2d2016-01-23 22:46:10 +010031extern void rewind(FILE *);
32extern int fread(char *, int, int, FILE *);
33extern int fwrite(char *, int, int, FILE *);
34extern int fputs(char *, FILE *);
Bram Moolenaar071d4272004-06-13 20:20:40 +000035#ifndef ferror /* let me say it again: "macros should never have prototypes" */
Bram Moolenaare240c2d2016-01-23 22:46:10 +010036extern int ferror(FILE *);
Bram Moolenaar071d4272004-06-13 20:20:40 +000037#endif
Bram Moolenaare240c2d2016-01-23 22:46:10 +010038extern int fflush(FILE *);
Bram Moolenaar071d4272004-06-13 20:20:40 +000039#if defined(sun) || defined(_SEQUENT_)
40/* used inside of stdio macros getc(), puts(), putchar()... */
Bram Moolenaare240c2d2016-01-23 22:46:10 +010041extern int _flsbuf(int, FILE *);
42extern int _filbuf(FILE *);
Bram Moolenaar071d4272004-06-13 20:20:40 +000043#endif
44
45#if !defined(HAVE_SELECT)
Bram Moolenaare240c2d2016-01-23 22:46:10 +010046struct pollfd; /* for poll() */
47extern int poll(struct pollfd *, long, int);
Bram Moolenaar071d4272004-06-13 20:20:40 +000048#endif
49
50#ifdef HAVE_MEMSET
Bram Moolenaare240c2d2016-01-23 22:46:10 +010051extern void *memset(void *, int, size_t);
Bram Moolenaar071d4272004-06-13 20:20:40 +000052#endif
53#ifdef HAVE_BCMP
Bram Moolenaare240c2d2016-01-23 22:46:10 +010054extern int bcmp(void *, void *, size_t);
Bram Moolenaar071d4272004-06-13 20:20:40 +000055#endif
56#ifdef HAVE_MEMCMP
Bram Moolenaare240c2d2016-01-23 22:46:10 +010057extern int memcmp(const void *, const void *, size_t);
Bram Moolenaar071d4272004-06-13 20:20:40 +000058#endif
59#ifdef HAVE_STRPBRK
Bram Moolenaare240c2d2016-01-23 22:46:10 +010060extern char *strpbrk(const char *, const char *);
Bram Moolenaar071d4272004-06-13 20:20:40 +000061#endif
62#ifdef USEBCOPY
Bram Moolenaare240c2d2016-01-23 22:46:10 +010063extern void bcopy(char *, char *, int);
Bram Moolenaar071d4272004-06-13 20:20:40 +000064#else
65# ifdef USEMEMCPY
Bram Moolenaare240c2d2016-01-23 22:46:10 +010066extern void memcpy(char *, char *, int);
Bram Moolenaar071d4272004-06-13 20:20:40 +000067# else
68# ifdef USEMEMMOVE
Bram Moolenaare240c2d2016-01-23 22:46:10 +010069extern void memmove(char *, char *, int);
Bram Moolenaar071d4272004-06-13 20:20:40 +000070# endif
71# endif
72#endif
73/* used inside of FD_ZERO macro: */
Bram Moolenaare240c2d2016-01-23 22:46:10 +010074extern void bzero(void *, size_t);
Bram Moolenaar071d4272004-06-13 20:20:40 +000075#ifdef HAVE_SETSID
Bram Moolenaare240c2d2016-01-23 22:46:10 +010076extern pid_t setsid(void);
Bram Moolenaar071d4272004-06-13 20:20:40 +000077#endif
78#ifdef HAVE_SETPGID
Bram Moolenaare240c2d2016-01-23 22:46:10 +010079extern int setpgid(pid_t, pid_t);
Bram Moolenaar071d4272004-06-13 20:20:40 +000080#endif
81#ifdef HAVE_STRTOL
Bram Moolenaare240c2d2016-01-23 22:46:10 +010082extern int strtol(char *, char **, int);
Bram Moolenaar071d4272004-06-13 20:20:40 +000083#endif
84#ifdef HAVE_STRFTIME
Bram Moolenaare240c2d2016-01-23 22:46:10 +010085extern size_t strftime(char *, size_t, char *, struct tm *);
Bram Moolenaar071d4272004-06-13 20:20:40 +000086#endif
87#ifdef HAVE_STRCASECMP
Bram Moolenaare240c2d2016-01-23 22:46:10 +010088extern int strcasecmp(char *, char *);
Bram Moolenaar071d4272004-06-13 20:20:40 +000089#endif
90#ifdef HAVE_STRNCASECMP
Bram Moolenaare240c2d2016-01-23 22:46:10 +010091extern int strncasecmp(char *, char *, size_t);
Bram Moolenaar071d4272004-06-13 20:20:40 +000092#endif
93#ifndef strdup
Bram Moolenaare240c2d2016-01-23 22:46:10 +010094extern char *strdup(const char *);
Bram Moolenaar071d4272004-06-13 20:20:40 +000095#endif
Bram Moolenaare240c2d2016-01-23 22:46:10 +010096extern int atoi(char *);
97extern int atol(char *);
Bram Moolenaar071d4272004-06-13 20:20:40 +000098
99#ifndef USE_SYSTEM
Bram Moolenaare240c2d2016-01-23 22:46:10 +0100100extern int fork(void);
Bram Moolenaar311d9822007-02-27 15:48:28 +0000101# ifndef __TANDEM
Bram Moolenaare240c2d2016-01-23 22:46:10 +0100102extern int execvp(const char *, const char **);
Bram Moolenaar311d9822007-02-27 15:48:28 +0000103# endif
Bram Moolenaare240c2d2016-01-23 22:46:10 +0100104extern int wait(int *); /* will this break things ...? */
105extern int waitpid(pid_t, int *, int);
Bram Moolenaar071d4272004-06-13 20:20:40 +0000106#endif
107
Bram Moolenaare240c2d2016-01-23 22:46:10 +0100108extern int toupper(int);
109extern int tolower(int);
Bram Moolenaar071d4272004-06-13 20:20:40 +0000110
Bram Moolenaare240c2d2016-01-23 22:46:10 +0100111extern RETSIGTYPE (*signal(int, RETSIGTYPE (*func) SIGPROTOARG)) SIGPROTOARG;
Bram Moolenaar071d4272004-06-13 20:20:40 +0000112#ifdef HAVE_SIGSET
Bram Moolenaare240c2d2016-01-23 22:46:10 +0100113extern RETSIGTYPE (*sigset(int, RETSIGTYPE (*func) SIGPROTOARG)) SIGPROTOARG;
Bram Moolenaar071d4272004-06-13 20:20:40 +0000114#endif
115
116#if defined(HAVE_SETJMP_H)
117# ifdef HAVE_SIGSETJMP
Bram Moolenaare240c2d2016-01-23 22:46:10 +0100118extern int sigsetjmp(sigjmp_buf, int);
119extern void siglongjmp(sigjmp_buf, int);
Bram Moolenaar071d4272004-06-13 20:20:40 +0000120# else
Bram Moolenaare240c2d2016-01-23 22:46:10 +0100121extern int setjmp(jmp_buf);
122extern void longjmp(jmp_buf, int);
Bram Moolenaar071d4272004-06-13 20:20:40 +0000123# endif
124#endif
125
Bram Moolenaare240c2d2016-01-23 22:46:10 +0100126extern int kill(int, int);
Bram Moolenaar071d4272004-06-13 20:20:40 +0000127
Bram Moolenaar311d9822007-02-27 15:48:28 +0000128#ifndef __TANDEM
Bram Moolenaare240c2d2016-01-23 22:46:10 +0100129extern int access(char *, int);
Bram Moolenaar311d9822007-02-27 15:48:28 +0000130#endif
Bram Moolenaare240c2d2016-01-23 22:46:10 +0100131extern int fsync(int);
132extern int fchown(int, int, int);
Bram Moolenaar311d9822007-02-27 15:48:28 +0000133#if defined(HAVE_GETCWD) && !defined(sun) && !defined(__TANDEM)
Bram Moolenaare240c2d2016-01-23 22:46:10 +0100134extern char *getcwd(char *, int);
Bram Moolenaar071d4272004-06-13 20:20:40 +0000135#else
Bram Moolenaare240c2d2016-01-23 22:46:10 +0100136extern char *getwd(char *);
Bram Moolenaar071d4272004-06-13 20:20:40 +0000137#endif
138#ifndef __alpha /* suggested by Campbell */
Bram Moolenaare240c2d2016-01-23 22:46:10 +0100139extern int ioctl(int, int, ...);
Bram Moolenaar071d4272004-06-13 20:20:40 +0000140#endif
Bram Moolenaare240c2d2016-01-23 22:46:10 +0100141extern int chmod(const char *, mode_t);