home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / languages / pot / potsrc / lib / Core / c / Files < prev    next >
Text File  |  1995-04-13  |  15KB  |  634 lines

  1. /* This code is generated by pOt. */
  2.  
  3. #include <pOtRTL.h>
  4.  
  5. #include "hi.Files"
  6.  
  7. typedef struct pOt__tag_1_Files *pOt_File_Files;
  8. typedef struct pOt__tag_1_Files pOt_FileDesc_Files;
  9. typedef struct pOt__tag_2_Files pOt_Rider_Files;
  10.  
  11. struct pOt__tag_0_Files {
  12.   pOt__ArrTypDsc *td;
  13.   pOt_CHAR arr[0x100L];
  14. } ;
  15. pOt__ArrTypDsc pOt__td_0_Files= {
  16.   1,
  17.   0x100L, sizeof(pOt_CHAR)
  18. };
  19. struct pOt__tag_1_Files {
  20.   pOt__RecTypDsc *td;
  21.   struct pOt__tag_0_Files pOt_name;
  22.   pOt_LONGINT pOt_handle, pOt_pos;
  23. } ;
  24. struct {
  25.   pOt_INTEGER mode;
  26.   pOt_LONGINT size;
  27.   pOt_INTEGER extlev, nstr, nptr, npro;
  28.   pOt__RecTypDsc *base_td[pOt__MaxExts];
  29.   struct {pOt_LONGINT poffs; pOt__TypDsc *fld_td;} tab[0x1];
  30. } pOt__td_1_Files= {
  31.   0,
  32.   sizeof(struct pOt__tag_1_Files),
  33.   0x0, 0x1, 0x0, 0x0,
  34.   {pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL},
  35.   {
  36.     {(pOt_LONGINT)&((struct pOt__tag_1_Files*)0)->pOt_name, (pOt__TypDsc*)&pOt__td_0_Files}
  37.   }
  38. };
  39. struct pOt__tag_2_Files {
  40.   pOt__RecTypDsc *td;
  41.   pOt_INTEGER pOt_res;
  42.   pOt_BOOLEAN pOt_eof;
  43.   pOt_LONGINT pOt_pos;
  44.   pOt_File_Files pOt_file;
  45. } ;
  46. struct {
  47.   pOt_INTEGER mode;
  48.   pOt_LONGINT size;
  49.   pOt_INTEGER extlev, nstr, nptr, npro;
  50.   pOt__RecTypDsc *base_td[pOt__MaxExts];
  51.   struct {pOt_LONGINT poffs; pOt__TypDsc *fld_td;} tab[0x1];
  52. } pOt__td_2_Files= {
  53.   0,
  54.   sizeof(struct pOt__tag_2_Files),
  55.   0x0, 0x0, 0x1, 0x0,
  56.   {pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL, pOt_NIL},
  57.   {
  58.     {(pOt_LONGINT)&((struct pOt__tag_2_Files*)0)->pOt_file, pOt_NIL}
  59.   }
  60. };
  61.  
  62. pOt_File_Files pOt_StdIn_Files, pOt_StdOut_Files, pOt_StdErr_Files;
  63.  
  64. static struct {void *next, *vars[0x4];} pOt__gc_ptrs = {pOt_NIL,{
  65.   &pOt_StdIn_Files,
  66.   &pOt_StdOut_Files,
  67.   &pOt_StdErr_Files,
  68.   pOt_NIL
  69. }};
  70. static struct {void *next, *vars[0x1];} pOt__gc_strs = {&pOt__gc_ptrs,{
  71.   pOt_NIL
  72. }};
  73.  
  74.  
  75.  
  76.  
  77. extern pOt_File_Files pOt_Old_Files
  78. #if pOt__ANSI_C
  79.   (pOt__DynArr *pOt_name)
  80. #else
  81.   (pOt_name)
  82.   pOt__DynArr *pOt_name;
  83.  
  84. #endif
  85. {
  86.   pOt_File_Files pOt__retval;
  87.   pOt_File_Files pOt_f;
  88.   int pOt__gc_enabled_prev;
  89.   pOt__gc_enabled_prev=pOt__gc_enabled;
  90.   pOt__gc_enabled=0;
  91.   pOt_f=pOt_NIL;
  92.  
  93.   pOt__new(__FILE__,__LINE__,(pOt__TypDsc***)&pOt_f,(pOt__TypDsc*)&pOt__td_1_Files);
  94.   (*((struct pOt__tag_1_Files*)pOt__nilchk(__FILE__,__LINE__,pOt_f))).pOt_handle=(pOt_LONGINT)(0);
  95.   (*((struct pOt__tag_1_Files*)pOt__nilchk(__FILE__,__LINE__,pOt_f))).pOt_pos=(pOt_LONGINT)(0);
  96.   pOt__copychk(__FILE__,__LINE__,(pOt_CHAR*)&(*pOt_name),(pOt_CHAR*)&(*((struct pOt__tag_1_Files*)pOt__nilchk(__FILE__,__LINE__,pOt_f))).pOt_name);
  97.   pOt__retval =(struct pOt__tag_1_Files*)(pOt_f);
  98.   goto pOt__Epilogue;
  99.  
  100.   pOt__halt(__FILE__,__LINE__,0x11);
  101. pOt__Epilogue:;
  102.   pOt__gc_enabled=pOt__gc_enabled_prev;
  103.   pOt__rm_par((pOt__TypDsc**)pOt_name);
  104.   return pOt__retval;
  105. }
  106.  
  107.  
  108.  
  109.  
  110. extern pOt_File_Files pOt_New_Files
  111. #if pOt__ANSI_C
  112.   (pOt__DynArr *pOt_name)
  113. #else
  114.   (pOt_name)
  115.   pOt__DynArr *pOt_name;
  116.  
  117. #endif
  118. {
  119.   pOt_File_Files pOt__retval;
  120.   pOt_File_Files pOt_f;
  121.   int pOt__gc_enabled_prev;
  122.   pOt__gc_enabled_prev=pOt__gc_enabled;
  123.   pOt__gc_enabled=0;
  124.   pOt_f=pOt_NIL;
  125.  
  126.   pOt__new(__FILE__,__LINE__,(pOt__TypDsc***)&pOt_f,(pOt__TypDsc*)&pOt__td_1_Files);
  127.   (*((struct pOt__tag_1_Files*)pOt__nilchk(__FILE__,__LINE__,pOt_f))).pOt_handle=(pOt_LONGINT)(0);
  128.   (*((struct pOt__tag_1_Files*)pOt__nilchk(__FILE__,__LINE__,pOt_f))).pOt_pos=(pOt_LONGINT)(0);
  129.   pOt__copychk(__FILE__,__LINE__,(pOt_CHAR*)&(*pOt_name),(pOt_CHAR*)&(*((struct pOt__tag_1_Files*)pOt__nilchk(__FILE__,__LINE__,pOt_f))).pOt_name);
  130.   pOt__retval =(struct pOt__tag_1_Files*)(pOt_f);
  131.   goto pOt__Epilogue;
  132.  
  133.   pOt__halt(__FILE__,__LINE__,0x11);
  134. pOt__Epilogue:;
  135.   pOt__gc_enabled=pOt__gc_enabled_prev;
  136.   pOt__rm_par((pOt__TypDsc**)pOt_name);
  137.   return pOt__retval;
  138. }
  139.  
  140.  
  141.  
  142.  
  143. extern void pOt_Register_Files
  144. #if pOt__ANSI_C
  145.   (pOt_File_Files pOt_f)
  146. #else
  147.   (pOt_f)
  148.   pOt_File_Files pOt_f;
  149.  
  150. #endif
  151. {
  152.   struct {void *next, *vars[0x2];} pOt__gc_ptrs;
  153.   struct {void *next, *vars[0x1];} pOt__gc_strs;
  154.   pOt__gc_ptrs.next = pOt__gc_root;
  155.   pOt__gc_strs.next = &pOt__gc_ptrs;
  156.   pOt__gc_ptrs.vars[0x1]=pOt_NIL;
  157.   pOt__gc_strs.vars[0x0]=pOt_NIL;
  158.   pOt__gc_ptrs.vars[0x0]=&pOt_f;
  159.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  160.  
  161.   pOt_f=(struct pOt__tag_1_Files*)(pOt_NIL);
  162.  
  163. pOt__Epilogue:;
  164.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  165. }
  166.  
  167.  
  168.  
  169.  
  170. extern void pOt_Close_Files
  171. #if pOt__ANSI_C
  172.   (pOt_File_Files pOt_f)
  173. #else
  174.   (pOt_f)
  175.   pOt_File_Files pOt_f;
  176.  
  177. #endif
  178. {
  179.   struct {void *next, *vars[0x2];} pOt__gc_ptrs;
  180.   struct {void *next, *vars[0x1];} pOt__gc_strs;
  181.   pOt__gc_ptrs.next = pOt__gc_root;
  182.   pOt__gc_strs.next = &pOt__gc_ptrs;
  183.   pOt__gc_ptrs.vars[0x1]=pOt_NIL;
  184.   pOt__gc_strs.vars[0x0]=pOt_NIL;
  185.   pOt__gc_ptrs.vars[0x0]=&pOt_f;
  186.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  187.  
  188.   pOt_f=(struct pOt__tag_1_Files*)(pOt_NIL);
  189.  
  190. pOt__Epilogue:;
  191.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  192. }
  193.  
  194.  
  195.  
  196.  
  197. extern void pOt_Purge_Files
  198. #if pOt__ANSI_C
  199.   (pOt_File_Files pOt_f)
  200. #else
  201.   (pOt_f)
  202.   pOt_File_Files pOt_f;
  203.  
  204. #endif
  205. {
  206.   struct {void *next, *vars[0x2];} pOt__gc_ptrs;
  207.   struct {void *next, *vars[0x1];} pOt__gc_strs;
  208.   pOt__gc_ptrs.next = pOt__gc_root;
  209.   pOt__gc_strs.next = &pOt__gc_ptrs;
  210.   pOt__gc_ptrs.vars[0x1]=pOt_NIL;
  211.   pOt__gc_strs.vars[0x0]=pOt_NIL;
  212.   pOt__gc_ptrs.vars[0x0]=&pOt_f;
  213.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  214.  
  215.   pOt_f=(struct pOt__tag_1_Files*)(pOt_NIL);
  216.  
  217. pOt__Epilogue:;
  218.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  219. }
  220.  
  221.  
  222.  
  223.  
  224. extern pOt_LONGINT pOt_Length_Files
  225. #if pOt__ANSI_C
  226.   (pOt_File_Files pOt_f)
  227. #else
  228.   (pOt_f)
  229.   pOt_File_Files pOt_f;
  230.  
  231. #endif
  232. {
  233.   pOt_LONGINT pOt__retval;
  234.   int pOt__gc_enabled_prev;
  235.   pOt__gc_enabled_prev=pOt__gc_enabled;
  236.   pOt__gc_enabled=0;
  237.  
  238.  
  239.   pOt__halt(__FILE__,__LINE__,0x11);
  240. pOt__Epilogue:;
  241.   pOt__gc_enabled=pOt__gc_enabled_prev;
  242.   return pOt__retval;
  243. }
  244.  
  245.  
  246.  
  247.  
  248. extern void pOt_Set_Files
  249. #if pOt__ANSI_C
  250.   (struct pOt__tag_2_Files *pOt_r, pOt_File_Files pOt_f, pOt_LONGINT pOt_pos)
  251. #else
  252.   (pOt_r, pOt_f, pOt_pos)
  253.   struct pOt__tag_2_Files *pOt_r;
  254.   pOt_File_Files pOt_f;
  255.   pOt_LONGINT pOt_pos;
  256.  
  257. #endif
  258. {
  259.   struct {void *next, *vars[0x2];} pOt__gc_ptrs;
  260.   struct {void *next, *vars[0x1];} pOt__gc_strs;
  261.   pOt__gc_ptrs.next = pOt__gc_root;
  262.   pOt__gc_strs.next = &pOt__gc_ptrs;
  263.   pOt__gc_ptrs.vars[0x1]=pOt_NIL;
  264.   pOt__gc_strs.vars[0x0]=pOt_NIL;
  265.   pOt__gc_ptrs.vars[0x0]=&pOt_f;
  266.   pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  267.  
  268.  
  269. pOt__Epilogue:;
  270.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  271. }
  272.  
  273.  
  274.  
  275.  
  276. extern void pOt_Read_Files
  277. #if pOt__ANSI_C
  278.   (struct pOt__tag_2_Files *pOt_r, pOt_BYTE_SYSTEM *pOt_x)
  279. #else
  280.   (pOt_r, pOt_x)
  281.   struct pOt__tag_2_Files *pOt_r;
  282.   pOt_BYTE_SYSTEM *pOt_x;
  283.  
  284. #endif
  285. {
  286.   struct {void*next;} pOt__gc_ptrs;
  287.   pOt__gc_ptrs.next = pOt__gc_root;
  288.  
  289.  
  290. pOt__Epilogue:;
  291.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  292. }
  293.  
  294.  
  295.  
  296.  
  297. extern void pOt_ReadBytes_Files
  298. #if pOt__ANSI_C
  299.   (struct pOt__tag_2_Files *pOt_r, pOt__BytArr pOt_x, pOt_LONGINT pOt_n)
  300. #else
  301.   (pOt_r, pOt_x, pOt_n)
  302.   struct pOt__tag_2_Files *pOt_r;
  303.   pOt__BytArr pOt_x;
  304.   pOt_LONGINT pOt_n;
  305.  
  306. #endif
  307. {
  308.   struct {void*next;} pOt__gc_ptrs;
  309.   pOt__gc_ptrs.next = pOt__gc_root;
  310.  
  311.  
  312. pOt__Epilogue:;
  313.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  314. }
  315.  
  316.  
  317.  
  318.  
  319. extern void pOt_ReadInt_Files
  320. #if pOt__ANSI_C
  321.   (struct pOt__tag_2_Files *pOt_r, pOt_INTEGER *pOt_i)
  322. #else
  323.   (pOt_r, pOt_i)
  324.   struct pOt__tag_2_Files *pOt_r;
  325.   pOt_INTEGER *pOt_i;
  326.  
  327. #endif
  328. {
  329.   struct {void*next;} pOt__gc_ptrs;
  330.   pOt__gc_ptrs.next = pOt__gc_root;
  331.  
  332.   pOt_ReadBytes_Files((struct pOt__tag_2_Files*)&(*pOt_r),pOt__make_byte_arr((void*)&(*pOt_i),0,sizeof(pOt_INTEGER)),(pOt_LONGINT)(2));
  333.  
  334. pOt__Epilogue:;
  335.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  336. }
  337.  
  338.  
  339.  
  340.  
  341. extern void pOt_ReadLInt_Files
  342. #if pOt__ANSI_C
  343.   (struct pOt__tag_2_Files *pOt_r, pOt_LONGINT *pOt_i)
  344. #else
  345.   (pOt_r, pOt_i)
  346.   struct pOt__tag_2_Files *pOt_r;
  347.   pOt_LONGINT *pOt_i;
  348.  
  349. #endif
  350. {
  351.   struct {void*next;} pOt__gc_ptrs;
  352.   pOt__gc_ptrs.next = pOt__gc_root;
  353.  
  354.   pOt_ReadBytes_Files((struct pOt__tag_2_Files*)&(*pOt_r),pOt__m