123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- #ifndef _LIB_H_
- #define _LIB_H_
- #include <cdefs.h>
- #include "opt-noasserts.h"
- #if OPT_NOASSERTS
- #define KASSERT(expr) ((void)(expr))
- #else
- #define KASSERT(expr) \
- ((expr) ? (void)0 : badassert(#expr, __FILE__, __LINE__, __func__))
- #endif
- #if 1
- #define DEBUGASSERT(expr) ((void)(expr))
- #else
- #define DEBUGASSERT(expr) \
- ((expr) ? (void)0 : badassert(#expr, __FILE__, __LINE__, __func__))
- #endif
- #define DB_LOCORE 0x0001
- #define DB_SYSCALL 0x0002
- #define DB_INTERRUPT 0x0004
- #define DB_DEVICE 0x0008
- #define DB_THREADS 0x0010
- #define DB_VM 0x0020
- #define DB_EXEC 0x0040
- #define DB_VFS 0x0080
- #define DB_SFS 0x0100
- #define DB_NET 0x0200
- #define DB_NETFS 0x0400
- #define DB_KMALLOC 0x0800
- #define DB_SYNCPROB 0x1000
- extern uint32_t dbflags;
- #define DEBUG(d, ...) ((dbflags & (d)) ? kprintf(__VA_ARGS__) : 0)
- #define RANDOM_MAX (randmax())
- uint32_t randmax(void);
- uint32_t random(void);
- void *kmalloc(size_t size);
- void kfree(void *ptr);
- void kheap_printstats(void);
- size_t strlen(const char *str);
- int strcmp(const char *str1, const char *str2);
- char *strcpy(char *dest, const char *src);
- char *strcat(char *dest, const char *src);
- char *kstrdup(const char *str);
- char *strchr(const char *searched, int searchfor);
- char *strrchr(const char *searched, int searchfor);
- char *strtok_r(char *buf, const char *seps, char **context);
- void *memcpy(void *dest, const void *src, size_t len);
- void *memmove(void *dest, const void *src, size_t len);
- void bzero(void *ptr, size_t len);
- int atoi(const char *str);
- int snprintf(char *buf, size_t maxlen, const char *fmt, ...) __PF(3,4);
- const char *strerror(int errcode);
- void putch(int ch);
- void putch_prepare(void);
- void putch_complete(void);
- int getch(void);
- void beep(void);
- int kprintf(const char *format, ...) __PF(1,2);
- void panic(const char *format, ...) __PF(1,2);
- void badassert(const char *expr, const char *file, int line, const char *func);
- void kgets(char *buf, size_t maxbuflen);
- void kprintf_bootstrap(void);
- #define DIVROUNDUP(a,b) (((a)+(b)-1)/(b))
- #define ROUNDUP(a,b) (DIVROUNDUP(a,b)*b)
- #endif
|