Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 
 
 
 

126 řádky
3.4 KiB

  1. /* Various typedefs -- some are x86-specific */
  2. #define CUSTOM_INTTYPES
  3. #define outb(port,value) __asm__ __volatile__ ("outb %%al,%%dx"::"d" (port), "a" (value));
  4. #define outbp(port,value) __asm __volatile__ ("outb %%al,%%dx; jmp 1f; 1:"::"d" (port), "a" (value));
  5. #define inb(port) ({unsigned char _v; __asm__ __volatile__ ("inb %%dx,%%al" : "=a" (_v) : "d" (port)); _v; })
  6. /* Various defines */
  7. #define NULL ((void *)0)
  8. #define EOF (-1)
  9. #define BUFSIZ 4096
  10. #define RAND_MAX ((unsigned int)0x8000000)
  11. #define INT_MAX ((int)0x7fffffff)
  12. #define M_PI 3.14159265358979323846
  13. #define __BYTE_ORDER 1
  14. #define __BIG_ENDIAN 2
  15. typedef unsigned char u8;
  16. typedef unsigned short u16;
  17. typedef unsigned int u32;
  18. typedef unsigned long int u64;
  19. #ifndef size_t
  20. typedef unsigned int size_t;
  21. #endif
  22. typedef struct file
  23. {
  24. void *mem;
  25. } FILE;
  26. struct timeval {
  27. int tv_sec;
  28. int tv_usec;
  29. };
  30. struct timezone {
  31. int tz_minuteswest;
  32. int tz_dsttime;
  33. };
  34. /* stdlib.h functions */
  35. void *malloc(size_t size);
  36. void free(void *ptr);
  37. void *realloc(void *ptr, size_t size);
  38. char *getenv(const char *name);
  39. int rand(void);
  40. int abs(int j);
  41. void exit(int status);
  42. void srand(unsigned int s);
  43. int atexit(void (*function)(void));
  44. FILE *stdin, *stdout, *stderr;
  45. /* string.h functions */
  46. void *memset(void *s, int c, size_t n);
  47. void *memcpy(void *dest, const void *src, size_t n);
  48. void *memmove(void *dest, const void *src, size_t n);
  49. size_t strlen(const char *s);
  50. int strcmp(const char *s1, const char *s2);
  51. int strcasecmp(const char *s1, const char *s2);
  52. int memcmp(const void *s1, const void *s2, size_t n);
  53. char *strdup(const char *s);
  54. char *strchr(const char *s, int c);
  55. /* stdarg.h functions */
  56. typedef void * va_list;
  57. #define va_start(v,a) v = (void *)((uintptr_t)(&a) + sizeof(a))
  58. #define va_end(v)
  59. int vsnprintf(char *str, size_t size, const char *format, va_list ap);
  60. /* va_arg*/
  61. #define args_list char *
  62. #define _arg_stack_size(type) (((sizeof(type)-1)/sizeof(int)+1)*sizeof(int))
  63. #define args_start(ap, fmt) do { \
  64. ap = (char *)((unsigned int)&fmt + _arg_stack_size(&fmt)); \
  65. } while (0)
  66. #define args_end(ap)
  67. #define args_next(ap, type) (((type *)(ap+=_arg_stack_size(type)))[-1])
  68. /* stdio.h functions */
  69. FILE *fopen(const char *path, const char *mode);
  70. int feof(FILE *stream);
  71. char *fgets(char *s, int size, FILE *stream);
  72. size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
  73. int fclose(FILE *fp);
  74. int printf(const char *format, ...);
  75. int fprintf(FILE *stream, const char *format, ...);
  76. int fflush(FILE *stream);
  77. int sprintf(char *str, const char *format, ...);
  78. int sscanf(const char *str, const char *format, ...);
  79. void itoa(int n, char s[]);
  80. void clearscreen(void);
  81. /* unistd.h functions */
  82. void usleep(unsigned long usec);
  83. void sleep(unsigned long sec);
  84. int getpid(void);
  85. /* time.h functions */
  86. u64 rdtsc(void);
  87. int gettimeofday(struct timeval *tv, struct timezone *tz);
  88. int time(void *);
  89. /* math.h functions */
  90. double cos(double x);
  91. double sin(double x);
  92. double sqrt(double x);
  93. /* errno.h functions */
  94. #define ENOENT 2 /* No such file or directory */
  95. #define ENOMEM 12 /* Out of memory */
  96. #define EBUSY 16 /* Device or resource busy */
  97. #define ENODEV 19 /* No such device */
  98. #define EINVAL 22 /* Invalid argument */
  99. #define ENOTTY 25 /* Not a typewriter */
  100. #define ENOSYS 38 /* Function not implemented */
  101. extern int errno;
  102. /* arpa/inet.h functions */
  103. unsigned int htonl(unsigned int hostlong);
  104. unsigned short htons(unsigned short hostlong);
  105. void print(char *str);