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