Diff markup
001                001 
002     002 
003                                                   003 
004     004 
005     005 
006     006 
007     007 
008                                                008 
009     009 
010     010 
011     011 
012     012 
013                                                013 
014     014 
015     015 
016     016 
017                                           017 
018                                                 018 
019 #ifndef _SOS_KLIBC_H_                             019 #ifndef _SOS_KLIBC_H_
020 #define _SOS_KLIBC_H_                             020 #define _SOS_KLIBC_H_
021                                                   021 
022                                                022 
023                                   023 
024                                                 024 
025     025 
026     026 
027                                              << 
028  << 
029  << 
030      << 
031                                                027 
032                                                   028 
033 #include <sos/types.h>                            029 #include <sos/types.h>
034                                                   030 
035                           031 
036                                                   032 
037 void *memcpy(void *dst, const void *src, regis    033 void *memcpy(void *dst, const void *src, register unsigned int size ) ;
038 void *memset(void *dst, register int c, regist    034 void *memset(void *dst, register int c, register unsigned int length ) ;
039 int memcmp(const void *s1, const void *s2, sos    035 int memcmp(const void *s1, const void *s2, sos_size_t n);
040                                                   036 
041 unsigned int strlen( register const char *str)    037 unsigned int strlen( register const char *str) ;
042 unsigned int strnlen(const char * s, sos_size_    038 unsigned int strnlen(const char * s, sos_size_t maxlen);
043                                                   039 
044                                                040 
045     041 
046     042 
047     043 
048     044 
049                 045 
050                                                046 
051 char *strzcpy( register char *dst, register co    047 char *strzcpy( register char *dst, register const char *src,
052                register int len ) ;               048                register int len ) ;
053                                                   049 
054                                                050 
055     051 
056     052 
057                 053 
058                                                054 
059 char *strzcat (char *dest, const char *src,       055 char *strzcat (char *dest, const char *src,
060                const sos_size_t len);             056                const sos_size_t len);
061                                                   057  
062 int strcmp(register const char *s1, register c    058 int strcmp(register const char *s1, register const char *s2 );
063 int strncmp(register const char *s1, register     059 int strncmp(register const char *s1, register const char *s2,
064             register int len );                   060             register int len );
065                                                   061 
066     062 
067 #define __GNUC_VA_LIST                            063 #define __GNUC_VA_LIST 
068 typedef void *__gnuc_va_list;                     064 typedef void *__gnuc_va_list;
069 typedef __gnuc_va_list va_list;                   065 typedef __gnuc_va_list va_list;
070 #define __va_rounded_size(TYPE) \                 066 #define __va_rounded_size(TYPE) \
071   (((sizeof (TYPE) + sizeof (int) - 1) / sizeo    067   (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
072 #define va_start(AP, LASTARG) \                   068 #define va_start(AP, LASTARG) \
073   (AP = ((__gnuc_va_list) __builtin_next_arg (    069   (AP = ((__gnuc_va_list) __builtin_next_arg (LASTARG)))
074 #define va_end(AP) \                              070 #define va_end(AP) \
075   ((void)0)                                       071   ((void)0)
076 #define va_arg(AP, TYPE) \                        072 #define va_arg(AP, TYPE) \
077   (AP = (__gnuc_va_list) ((char *) (AP) + __va    073   (AP = (__gnuc_va_list) ((char *) (AP) + __va_rounded_size (TYPE)),  \
078    *((TYPE *) (void *) ((char *) (AP) - __va_r    074    *((TYPE *) (void *) ((char *) (AP) - __va_rounded_size (TYPE))))
079 #define __va_copy(dest, src) \                    075 #define __va_copy(dest, src) \
080   (dest) = (src)                                  076   (dest) = (src)
081                                                   077 
082     078 
083     079 
084 int vsnprintf(char *, sos_size_t, const char *    080 int vsnprintf(char *, sos_size_t, const char *, va_list);
085 int snprintf(char *, sos_size_t, const char *,    081 int snprintf(char *, sos_size_t, const char *,  ...)
086   __attribute__ ((format (printf, 3, 4)));        082   __attribute__ ((format (printf, 3, 4)));
087                                                << 
088                                                << 
089                                              << 
090  << 
091                                       << 
092                                             << 
093                                                << 
094  << 
095 #define RAND_MAX 4294967291U                   << 
096                                                << 
097  << 
098 unsigned long int random (void);               << 
099                                                << 
100               << 
101 void srandom (unsigned long int seed);         << 
102                                                   083 
103 #endif                         084 #endif