unistd.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #pragma once
  2. #include <stdint.h>
  3. #include <libc/sys/types.h>
  4. // 字体颜色的宏定义
  5. #define COLOR_WHITE 0x00ffffff //白
  6. #define COLOR_BLACK 0x00000000 //黑
  7. #define COLOR_RED 0x00ff0000 //红
  8. #define COLOR_ORANGE 0x00ff8000 //橙
  9. #define COLOR_YELLOW 0x00ffff00 //黄
  10. #define COLOR_GREEN 0x0000ff00 //绿
  11. #define COLOR_BLUE 0x000000ff //蓝
  12. #define COLOR_INDIGO 0x0000ffff //靛
  13. #define COLOR_PURPLE 0x008000ff //紫
  14. /**
  15. * @brief 往屏幕上输出字符串
  16. *
  17. * @param str 字符串指针
  18. * @param front_color 前景色
  19. * @param bg_color 背景色
  20. * @return int64_t
  21. */
  22. int64_t put_string(char* str, uint64_t front_color, uint64_t bg_color);
  23. /**
  24. * @brief 关闭文件接口
  25. *
  26. * @param fd 文件描述符
  27. * @return int
  28. */
  29. int close(int fd);
  30. /**
  31. * @brief 从文件读取数据的接口
  32. *
  33. * @param fd 文件描述符
  34. * @param buf 缓冲区
  35. * @param count 待读取数据的字节数
  36. * @return ssize_t 成功读取的字节数
  37. */
  38. ssize_t read(int fd, void *buf, size_t count);
  39. /**
  40. * @brief 向文件写入数据的接口
  41. *
  42. * @param fd 文件描述符
  43. * @param buf 缓冲区
  44. * @param count 待写入数据的字节数
  45. * @return ssize_t 成功写入的字节数
  46. */
  47. ssize_t write(int fd, void const *buf, size_t count);
  48. /**
  49. * @brief 调整文件的访问位置
  50. *
  51. * @param fd 文件描述符号
  52. * @param offset 偏移量
  53. * @param whence 调整模式
  54. * @return uint64_t 调整结束后的文件访问位置
  55. */
  56. off_t lseek(int fd, off_t offset, int whence);
  57. /**
  58. * @brief fork当前进程
  59. *
  60. * @return pid_t
  61. */
  62. pid_t fork(void);
  63. /**
  64. * @brief fork当前进程,但是与父进程共享VM、flags、fd
  65. *
  66. * @return pid_t
  67. */
  68. pid_t vfork(void);