Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.73 KB | None | 0 0
  1. enum {
  2.     O_RDONLY = 0,
  3.     O_WRONLY = 1,
  4.     O_CREAT = 64,
  5. };
  6.  
  7. extern void _exit(int status);
  8. extern int read(int fd, void* buf, int sz);
  9. extern int write(int fd, void* buf, int sz);
  10. extern int open(const char* path, int flags, int mode);
  11. extern int close(int fd);
  12. extern int lseek(int fd, int offset, int whence);
  13.  
  14.  
  15. // 0 = stdin
  16. // 1 = stdout
  17. // 2 = stderr
  18.  
  19.  
  20. void _start() {
  21.     char buf[100];
  22.  
  23.     int fd = open("./clean", O_WRONLY | O_CREAT, 00666);
  24.  
  25.     lseek(fd, 16, 0);
  26.     write(fd, &fd, 4);
  27.     lseek(fd, 8, 0);
  28.  
  29.     int r = -1;
  30.     write(fd, &r, 4);
  31.     // if (fd < 0) {
  32.     //     _exit(1);
  33.     // }
  34.  
  35.     // int res = read(0, buf, 100);
  36.     // write(fd, buf, res);
  37.  
  38.     close(fd);
  39.     _exit(0);
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement