###########################################################################
#  LISTE DES MODELES DE FONCTIONS C STANDARD ADAPTES AUX REGLES DE "dcc"  #
###########################################################################


***** ctype.h *****

extern bool isalnum(char);
extern bool isalpha(char);
extern bool iscntrl(char);
extern bool isdigit(char);
extern bool isgraph(char);
extern bool islower(char);
extern bool isprint(char);
extern bool ispunct(char);
extern bool isspace(char);
extern bool isupper(char);
extern bool isxdigit(char);
extern char tolower(char /*~ResultType*/);
extern char toupper(char /*~ResultType*/);


***** stdio.h *****

extern int fflush(FILE *stream) /*~PseudoVoid*/;
extern int remove(const char *fileName) /*~PseudoVoid*/;
extern int printf(const char *format, ...) /*~PseudoVoid*/;
extern int sprintf(char *buffer, const char *format, ...) /*~PseudoVoid*/;
extern int fprintf(FILE *stream, const char *format, ...) /*~PseudoVoid*/;
extern bool feof(FILE *stream);
extern bool ferror(FILE *stream);
extern char fgetc(FILE *stream);
extern int fputc(char, FILE *stream);
extern char getc(FILE *stream);
extern char getchar();
extern int putc(char, FILE *stream);
extern int putchar(char) /*~PseudoVoid*/;
extern int puts(const char *str) /*~PseudoVoid*/;
extern int ungetc(char, FILE *stream) /*~PseudoVoid*/;
extern size_t fwrite(const void *buffer, size_t itemSize,
					    size_t numberItems, FILE *stream);
extern int fseek(FILE *stream, long offset, int direction);
extern int fgetpos(FILE *stream, fpos_t *ptr) /*~PseudoVoid*/;
extern int fsetpos(FILE *stream, const fpos_t *ptr) /*~PseudoVoid*/;


***** stdlib.h *****

extern void *realloc(void *buffer /*~ResultType*/, size_t newSize);
extern void abort() /*~NeverReturns*/;
extern void exit(int status) /*~NeverReturns*/;
extern void *bsearch(const void *searchedItem, const void *arrayItems
  /*~ResultType*/, size_t arraySize, size_t itemSize,
  int (*pCmpFct)(const void *searchItem, const void *arrayItem));
extern int abs(int /*~ResultType*/);
extern long labs(long /*~ResultType*/);


***** string.h *****

extern char *strcpy(char *dst /*~ResultType*/,
					     const char *src) /*~PseudoVoid*/;
extern char *strncpy(char *dst /*~ResultType*/, const char *src,
					       size_t nbChar) /*~PseudoVoid*/;
extern char *strcat(char *dst /*~ResultType*/,
					     const char *src) /*~PseudoVoid*/;
extern char *strncat(char *dst /*~ResultType*/, const char *src,
					       size_t nbChar) /*~PseudoVoid*/;
extern char *strchr(const char *str /*~ResultType*/, char searchedChar);
extern char *strrchr(const char *str /*~ResultType*/, char searchedChar);
extern char *strpbrk(const char *str /*~ResultType*/, const char *charList);
extern char *strstr(const char *str /*~ResultType*/, const char *searchedStr);
extern void *memcpy(void *dst /*~ResultType*/, const void *src,
					       size_t nbByte) /*~PseudoVoid*/;
extern void *memmove(void *dst /*~ResultType*/, const void *src,
					       size_t nbByte) /*~PseudoVoid*/;
extern void *memchr(const void *buf /*~ResultType*/,
				  unsigned char searchedByte, size_t bufSize);
extern void *memset(void *buf /*~ResultType*/, unsigned char initByte,
					       size_t nbByte) /*~PseudoVoid*/;
