X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flib%2Flib.h;h=71291395ce2ccdcf9ea4b2c25421dc98a192c285;hb=dc83e159fc3dd0301a967aef2b84f1460aa3ef08;hp=29dc17cdf8cb9abca1af887d13d88bd8300b4d49;hpb=750d21936d284127e265d050ccbce76fca1ece1a;p=pintos-anon diff --git a/src/lib/lib.h b/src/lib/lib.h index 29dc17c..7129139 100644 --- a/src/lib/lib.h +++ b/src/lib/lib.h @@ -2,28 +2,41 @@ #define HEADER_LIB_H 1 #include +#include #include +#include "debug.h" #define ROUND_UP(X, STEP) (((X) + (STEP) - 1) / (STEP) * (STEP)) #define DIV_ROUND_UP(X, STEP) (((X) + (STEP) - 1) / (STEP)) +#define ROUND_DOWN(X, STEP) ((X) / (STEP) * (STEP)) void *memset (void *, int, size_t); void *memcpy (void *, const void *, size_t); void *memmove (void *, const void *, size_t); void *memchr (const void *, int, size_t); +int memcmp (const void *, const void *, size_t); char *strchr (const char *, int); size_t strlcpy (char *, const char *, size_t); size_t strlen (const char *); +int strcmp (const char *, const char *); +char *strtok_r (char *, const char *, char **); -void vprintk (const char *, va_list); -void printk (const char *, ...) - __attribute__ ((format (printf, 1, 2))); +int atoi (const char *); -static inline int -isdigit (int c) -{ - return c >= '0' && c <= '9'; -} +void vprintk (const char *, va_list) PRINTF_FORMAT (1, 0); +void printk (const char *, ...) PRINTF_FORMAT (1, 2); +int vsnprintf (char *, size_t, const char *, va_list) PRINTF_FORMAT (3, 0); +int snprintf (char *, size_t, const char *, ...) PRINTF_FORMAT (3, 4); + +void hex_dump (const void *, size_t size, bool ascii); + +static inline int isdigit (int c) { return c >= '0' && c <= '9'; } +static inline int isprint (int c) { return c >= 32 && c < 127; } +static inline int isgraph (int c) { return c >= 33 && c < 127; } +static inline int isspace (int c) { return strchr (" \t\n\r\v", c) != NULL; } +static inline int islower (int c) { return c >= 'a' && c <= 'z'; } +static inline int isupper (int c) { return c >= 'A' && c <= 'Z'; } +static inline int isalpha (int c) { return islower (c) || isupper (c); } #endif /* lib.h */