Plan9.c 968 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. #include "cc.h"
  2. void*
  3. mysbrk(ulong size)
  4. {
  5. return sbrk(size);
  6. }
  7. int
  8. mycreat(char *n, int p)
  9. {
  10. return create(n, 1, p);
  11. }
  12. int
  13. mywait(int *s)
  14. {
  15. int p;
  16. Waitmsg *w;
  17. if((w = wait()) == nil)
  18. return -1;
  19. else{
  20. p = w->pid;
  21. *s = 0;
  22. if(w->msg[0])
  23. *s = 1;
  24. free(w);
  25. return p;
  26. }
  27. }
  28. int
  29. mydup(int f1, int f2)
  30. {
  31. return dup(f1,f2);
  32. }
  33. int
  34. mypipe(int *fd)
  35. {
  36. return pipe(fd);
  37. }
  38. int
  39. systemtype(int sys)
  40. {
  41. return sys&Plan9;
  42. }
  43. int
  44. pathchar(void)
  45. {
  46. return '/';
  47. }
  48. char*
  49. mygetwd(char *path, int len)
  50. {
  51. return getwd(path, len);
  52. }
  53. int
  54. myexec(char *path, char *argv[])
  55. {
  56. return exec(path, argv);
  57. }
  58. int
  59. myfork(void)
  60. {
  61. return fork();
  62. }
  63. /*
  64. * fake mallocs
  65. */
  66. void*
  67. malloc(ulong n)
  68. {
  69. return alloc(n);
  70. }
  71. void*
  72. calloc(ulong m, ulong n)
  73. {
  74. return alloc(m*n);
  75. }
  76. void*
  77. realloc(void*, ulong)
  78. {
  79. fprint(2, "realloc called\n");
  80. abort();
  81. return 0;
  82. }
  83. void
  84. free(void*)
  85. {
  86. }
  87. int
  88. myaccess(char *f)
  89. {
  90. return access(f, AEXIST);
  91. }
  92. void
  93. setmalloctag(void*, ulong)
  94. {
  95. }