|
|
1.1 ! root 1: /*- ! 2: * Copyright (c) 1990 The Regents of the University of California. ! 3: * All rights reserved. ! 4: * ! 5: * Redistribution and use in source and binary forms are permitted provided ! 6: * that: (1) source distributions retain this entire copyright notice and ! 7: * comment, and (2) distributions including binaries display the following ! 8: * acknowledgement: ``This product includes software developed by the ! 9: * University of California, Berkeley and its contributors'' in the ! 10: * documentation or other materials provided with the distribution and in ! 11: * all advertising materials mentioning features or use of this software. ! 12: * Neither the name of the University nor the names of its contributors may ! 13: * be used to endorse or promote products derived from this software without ! 14: * specific prior written permission. ! 15: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED ! 16: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF ! 17: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 18: * ! 19: * @(#)string.h 5.4 (Berkeley) 5/29/90 ! 20: */ ! 21: ! 22: #ifndef _STRING_H_ ! 23: #define _STRING_H_ ! 24: #include <machine/machtypes.h> ! 25: ! 26: #ifdef _SIZE_T_ ! 27: typedef _SIZE_T_ size_t; ! 28: #undef _SIZE_T_ ! 29: #endif ! 30: ! 31: #ifndef NULL ! 32: #define NULL 0 ! 33: #endif ! 34: ! 35: #if __STDC__ || c_plusplus ! 36: ! 37: void *memchr(const void *, int, size_t); ! 38: int memcmp(const void *, const void *, size_t); ! 39: void *memcpy(void *, const void *, size_t); ! 40: void *memmove(void *, const void *, size_t); ! 41: void *memset(void *, int, size_t); ! 42: char *strcat(char *, const char *); ! 43: char *strchr(const char *, int); ! 44: int strcmp(const char *, const char *); ! 45: int strcoll(const char *, const char *); ! 46: char *strcpy(char *, const char *); ! 47: size_t strcspn(const char *, const char *); ! 48: char *strerror(int); ! 49: size_t strlen(const char *); ! 50: char *strncat(char *, const char *, size_t); ! 51: int strncmp(const char *, const char *, size_t); ! 52: char *strncpy(char *, const char *, size_t); ! 53: char *strpbrk(const char *, const char *); ! 54: char *strrchr(const char *, int); ! 55: size_t strspn(const char *, const char *); ! 56: char *strstr(const char *, const char *); ! 57: char *strtok(char *, const char *); ! 58: size_t strxfrm(char *, const char *, size_t); ! 59: ! 60: #else ! 61: ! 62: void *memchr(); ! 63: int memcmp(); ! 64: void *memcpy(); ! 65: void *memmove(); ! 66: void *memset(); ! 67: char *strcat(); ! 68: char *strchr(); ! 69: int strcmp(); ! 70: int strcoll(); ! 71: char *strcpy(); ! 72: size_t strcspn(); ! 73: char *strerror(); ! 74: size_t strlen(); ! 75: char *strncat(); ! 76: int strncmp(); ! 77: char *strncpy(); ! 78: char *strpbrk(); ! 79: char *strrchr(); ! 80: size_t strspn(); ! 81: char *strstr(); ! 82: char *strtok(); ! 83: size_t strxfrm(); ! 84: ! 85: #endif ! 86: ! 87: /* Nonstandard routines */ ! 88: #ifndef _ANSI_SOURCE ! 89: #if __STDC__ || c_plusplus ! 90: ! 91: int bcmp(const char *, const char *, size_t); ! 92: void bcopy(const char *, char *, size_t); ! 93: void bzero(char *, size_t); ! 94: int ffs(int); ! 95: char *index(const char *, int); ! 96: void *memccpy(void *, const void *, int, size_t); ! 97: char *rindex(const char *, int); ! 98: int strcasecmp(const char *, const char *); ! 99: char *strdup(const char *); ! 100: void strmode(mode_t, char *); ! 101: int strncasecmp(const char *, const char *, size_t); ! 102: char *strsep(char *, const char *); ! 103: void swab(const char *, char *, size_t); ! 104: ! 105: #else ! 106: ! 107: int bcmp(); ! 108: void bcopy(); ! 109: void bzero(); ! 110: int ffs(); ! 111: char *index(); ! 112: void *memccpy(); ! 113: char *rindex(); ! 114: int strcasecmp(); ! 115: char *strdup(); ! 116: void strmode(); ! 117: int strncasecmp(); ! 118: char *strsep(); ! 119: void swab(); ! 120: ! 121: #endif ! 122: #endif ! 123: #endif /* _STRING_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.