Annotation of qemu/roms/openbios/include/libc/string.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  *   Creation Date: <2002/10/12 20:41:57 samuel>
                      3:  *   Time-stamp: <2003/10/25 12:51:22 samuel>
                      4:  *
                      5:  *     <string.h>
                      6:  *
                      7:  *     string library functions
                      8:  *
                      9:  *   Copyright (C) 2002, 2003 Samuel Rydh ([email protected])
                     10:  *
                     11:  *   This program is free software; you can redistribute it and/or
                     12:  *   modify it under the terms of the GNU General Public License
                     13:  *   as published by the Free Software Foundation
                     14:  *
                     15:  */
                     16: 
                     17: #ifndef _H_STRING
                     18: #define _H_STRING
                     19: 
                     20: #include "config.h"
                     21: 
                     22: #define bzero(s,n)     memset( s, 0, n )
                     23: #define atol(nptr)     strtol(nptr, NULL, 10 )
                     24: 
                     25: extern long    strtol( const char *nptr, char **endptr, int base );
                     26: extern long long int strtoll( const char *nptr, char **endptr, int base );
                     27: 
                     28: 
                     29: extern int     strnicmp(const char *s1, const char *s2, size_t len);
                     30: extern char    *strcpy(char * dest,const char *src);
                     31: extern char    *strncpy(char * dest,const char *src,size_t count);
                     32: extern char    *strcat(char * dest, const char * src);
                     33: extern char    *strncat(char *dest, const char *src, size_t count);
                     34: extern int     strcmp(const char * cs,const char * ct);
                     35: extern int     strncmp(const char * cs,const char * ct,size_t count);
                     36: extern char    *strchr(const char * s, int c);
                     37: extern char    *strrchr(const char * s, int c);
                     38: extern size_t  strlen(const char * s);
                     39: extern size_t  strnlen(const char * s, size_t count);
                     40: extern char    *strpbrk(const char * cs,const char * ct);
                     41: extern char    *strsep(char **s, const char *ct);
                     42: extern void    *memset(void * s,int c,size_t count);
                     43: extern void    *memcpy(void * dest,const void *src,size_t count);
                     44: extern void    *memmove(void * dest,const void *src,size_t count);
                     45: extern int     memcmp(const void * cs,const void * ct,size_t count);
                     46: 
                     47: extern char    *strdup( const char *str );
                     48: extern int     strcasecmp( const char *cs, const char *ct );
                     49: extern int     strncasecmp( const char *cs, const char *ct, size_t count );
                     50: 
                     51: extern  char   *strncpy_nopad( char *dest, const char *src, size_t n );
                     52: 
                     53: #define _U      0x01    /* upper */
                     54: #define _L      0x02    /* lower */
                     55: #define _D      0x04    /* digit */
                     56: #define _C      0x08    /* cntrl */
                     57: #define _P      0x10    /* punct */
                     58: #define _S      0x20    /* white space (space/lf/tab) */
                     59: #define _X      0x40    /* hex digit */
                     60: #define _SP     0x80    /* hard space (0x20) */
                     61: 
                     62: extern const unsigned char _ctype[];
                     63: 
                     64: #define __ismask(x) (_ctype[(int)(unsigned char)(x)])
                     65: 
                     66: #define isalnum(c)      ((__ismask(c)&(_U|_L|_D)) != 0)
                     67: #define isalpha(c)      ((__ismask(c)&(_U|_L)) != 0)
                     68: #define iscntrl(c)      ((__ismask(c)&(_C)) != 0)
                     69: #define isdigit(c)      ((__ismask(c)&(_D)) != 0)
                     70: #define isgraph(c)      ((__ismask(c)&(_P|_U|_L|_D)) != 0)
                     71: #define islower(c)      ((__ismask(c)&(_L)) != 0)
                     72: #define isprint(c)      ((__ismask(c)&(_P|_U|_L|_D|_SP)) != 0)
                     73: #define ispunct(c)      ((__ismask(c)&(_P)) != 0)
                     74: #define isspace(c)      ((__ismask(c)&(_S)) != 0)
                     75: #define isupper(c)      ((__ismask(c)&(_U)) != 0)
                     76: #define isxdigit(c)     ((__ismask(c)&(_D|_X)) != 0)
                     77: 
                     78: #define isascii(c) (((unsigned char)(c))<=0x7f)
                     79: #define toascii(c) (((unsigned char)(c))&0x7f)
                     80: 
                     81: 
                     82: static inline unsigned char __tolower(unsigned char c) {
                     83:         if (isupper(c))
                     84:                 c -= 'A'-'a';
                     85:         return c;
                     86: }
                     87: 
                     88: static inline unsigned char __toupper(unsigned char c) {
                     89:         if (islower(c))
                     90:                 c -= 'a'-'A';
                     91:         return c;
                     92: }
                     93: 
                     94: #define tolower(c) __tolower(c)
                     95: #define toupper(c) __toupper(c)
                     96: 
                     97: extern int errno_int;
                     98: 
                     99: // Propolice support
                    100: extern long __guard[8];
                    101: 
                    102: void __stack_smash_handler(const char *func, int damaged);
                    103: void __stack_chk_fail(void);
                    104: 
                    105: #endif   /* _H_STRING */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.