home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / languages / pot / potsrc / lib / Core / c / Files < prev    next >
Encoding:
Text File  |  1995-04-13  |  14.8 KB  |  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__make_byte_arr((void*)&(*pOt_i),0,sizeof(pOt_LONGINT)),(pOt_LONGINT)(4));
  355.  
  356. pOt__Epilogue:;
  357.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  358. }
  359.  
  360.  
  361.  
  362.  
  363. extern void pOt_ReadString_Files
  364. #if pOt__ANSI_C
  365.   (struct pOt__tag_2_Files *pOt_r, pOt__DynArr *pOt_s)
  366. #else
  367.   (pOt_r, pOt_s)
  368.   struct pOt__tag_2_Files *pOt_r;
  369.   pOt__DynArr *pOt_s;
  370.  
  371. #endif
  372. {
  373.   pOt_INTEGER pOt_i;
  374.   pOt_CHAR pOt_ch;
  375.   struct {void*next;} pOt__gc_ptrs;
  376.   pOt__gc_ptrs.next = pOt__gc_root;
  377.  
  378.   pOt_i=(pOt_INTEGER)(0);
  379.   for(;;) {
  380.     pOt_Read_Files((struct pOt__tag_2_Files*)&(*pOt_r),(pOt_BYTE_SYSTEM*)&pOt_ch);
  381.     (*((pOt_CHAR*)(((char *)pOt_s+sizeof(pOt__ArrTypDsc*)+sizeof(pOt_CHAR)*pOt__inxchk(__FILE__,__LINE__,(*(pOt_s))->nofel,pOt_i)))))=pOt_ch;
  382.     pOt_i+=(1);
  383.     if(((unsigned char) pOt_ch==(unsigned char)'\0')) break;
  384.   }
  385.  
  386. pOt__Epilogue:;
  387.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  388. }
  389.  
  390.  
  391.  
  392.  
  393. extern void pOt_Write_Files
  394. #if pOt__ANSI_C
  395.   (struct pOt__tag_2_Files *pOt_r, pOt_BYTE_SYSTEM pOt_x)
  396. #else
  397.   (pOt_r, pOt_x)
  398.   struct pOt__tag_2_Files *pOt_r;
  399.   pOt_BYTE_SYSTEM pOt_x;
  400.  
  401. #endif
  402. {
  403.   struct {void*next;} pOt__gc_ptrs;
  404.   pOt__gc_ptrs.next = pOt__gc_root;
  405.  
  406.  
  407. pOt__Epilogue:;
  408.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  409. }
  410.  
  411.  
  412.  
  413.  
  414. extern void pOt_WriteBytes_Files
  415. #if pOt__ANSI_C
  416.   (struct pOt__tag_2_Files *pOt_r, pOt__BytArr pOt_x, pOt_LONGINT pOt_n)
  417. #else
  418.   (pOt_r, pOt_x, pOt_n)
  419.   struct pOt__tag_2_Files *pOt_r;
  420.   pOt__BytArr pOt_x;
  421.   pOt_LONGINT pOt_n;
  422.  
  423. #endif
  424. {
  425.   struct {void*next;} pOt__gc_ptrs;
  426.   pOt__gc_ptrs.next = pOt__gc_root;
  427.  
  428.  
  429. pOt__Epilogue:;
  430.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  431. }
  432.  
  433.  
  434.  
  435.  
  436. extern void pOt_WriteInt_Files
  437. #if pOt__ANSI_C
  438.   (struct pOt__tag_2_Files *pOt_r, pOt_INTEGER pOt_i)
  439. #else
  440.   (pOt_r, pOt_i)
  441.   struct pOt__tag_2_Files *pOt_r;
  442.   pOt_INTEGER pOt_i;
  443.  
  444. #endif
  445. {
  446.   struct {void*next;} pOt__gc_ptrs;
  447.   pOt__gc_ptrs.next = pOt__gc_root;
  448.  
  449.   pOt_WriteBytes_Files((struct pOt__tag_2_Files*)&(*pOt_r),pOt__make_byte_arr((void*)&pOt_i,0,sizeof(pOt_INTEGER)),(pOt_LONGINT)(2));
  450.  
  451. pOt__Epilogue:;
  452.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  453. }
  454.  
  455.  
  456.  
  457.  
  458. extern void pOt_WriteLInt_Files
  459. #if pOt__ANSI_C
  460.   (struct pOt__tag_2_Files *pOt_r, pOt_LONGINT pOt_i)
  461. #else
  462.   (pOt_r, pOt_i)
  463.   struct pOt__tag_2_Files *pOt_r;
  464.   pOt_LONGINT pOt_i;
  465.  
  466. #endif
  467. {
  468.   struct {void*next;} pOt__gc_ptrs;
  469.   pOt__gc_ptrs.next = pOt__gc_root;
  470.  
  471.   pOt_WriteBytes_Files((struct pOt__tag_2_Files*)&(*pOt_r),pOt__make_byte_arr((void*)&pOt_i,0,sizeof(pOt_LONGINT)),(pOt_LONGINT)(4));
  472.  
  473. pOt__Epilogue:;
  474.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  475. }
  476.  
  477.  
  478.  
  479.  
  480. extern void pOt_WriteString_Files
  481. #if pOt__ANSI_C
  482.   (struct pOt__tag_2_Files *pOt_r, pOt__DynArr *pOt_s)
  483. #else
  484.   (pOt_r, pOt_s)
  485.   struct pOt__tag_2_Files *pOt_r;
  486.   pOt__DynArr *pOt_s;
  487.  
  488. #endif
  489. {
  490.   pOt_INTEGER pOt_i;
  491.   pOt_CHAR pOt_ch;
  492.   struct {void*next;} pOt__gc_ptrs;
  493.   pOt__gc_ptrs.next = pOt__gc_root;
  494.  
  495.   pOt_i=(pOt_INTEGER)(0);
  496.   for(;;) {
  497.     pOt_ch=(*((pOt_CHAR*)(((char *)pOt_s+sizeof(pOt__ArrTypDsc*)+sizeof(pOt_CHAR)*pOt__inxchk(__FILE__,__LINE__,(*(pOt_s))->nofel,pOt_i)))));
  498.     pOt_Write_Files((struct pOt__tag_2_Files*)&(*pOt_r),pOt_ch);
  499.     pOt_i+=(1);
  500.     if(((unsigned char) pOt_ch==(unsigned char)'\0')) break;
  501.   }
  502.  
  503. pOt__Epilogue:;
  504.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  505. }
  506.  
  507.  
  508.  
  509.  
  510. extern pOt_LONGINT pOt_Pos_Files
  511. #if pOt__ANSI_C
  512.   (struct pOt__tag_2_Files *pOt_r)
  513. #else
  514.   (pOt_r)
  515.   struct pOt__tag_2_Files *pOt_r;
  516.  
  517. #endif
  518. {
  519.   pOt_LONGINT pOt__retval;
  520.   int pOt__gc_enabled_prev;
  521.   pOt__gc_enabled_prev=pOt__gc_enabled;
  522.   pOt__gc_enabled=0;
  523.  
  524.   pOt__retval =(pOt_LONGINT)((*pOt_r).pOt_pos);
  525.   goto pOt__Epilogue;
  526.  
  527.   pOt__halt(__FILE__,__LINE__,0x11);
  528. pOt__Epilogue:;
  529.   pOt__gc_enabled=pOt__gc_enabled_prev;
  530.   return pOt__retval;
  531. }
  532.  
  533.  
  534.  
  535.  
  536. extern pOt_File_Files pOt_Base_Files
  537. #if pOt__ANSI_C
  538.   (struct pOt__tag_2_Files *pOt_r)
  539. #else
  540.   (pOt_r)
  541.   struct pOt__tag_2_Files *pOt_r;
  542.  
  543. #endif
  544. {
  545.   pOt_File_Files pOt__retval;
  546.   int pOt__gc_enabled_prev;
  547.   pOt__gc_enabled_prev=pOt__gc_enabled;
  548.   pOt__gc_enabled=0;
  549.  
  550.   pOt__retval =(struct pOt__tag_1_Files*)((*pOt_r).pOt_file);
  551.   goto pOt__Epilogue;
  552.  
  553.   pOt__halt(__FILE__,__LINE__,0x11);
  554. pOt__Epilogue:;
  555.   pOt__gc_enabled=pOt__gc_enabled_prev;
  556.   return pOt__retval;
  557. }
  558.  
  559.  
  560.  
  561.  
  562. extern void pOt_Rename_Files
  563. #if pOt__ANSI_C
  564.   (pOt__DynArr *pOt_old, pOt__DynArr *pOt_new, pOt_INTEGER *pOt_res)
  565. #else
  566.   (pOt_old, pOt_new, pOt_res)
  567.   pOt__DynArr *pOt_old, *pOt_new;
  568.   pOt_INTEGER *pOt_res;
  569.  
  570. #endif
  571. {
  572.   struct {void*next;} pOt__gc_ptrs;
  573.   pOt__gc_ptrs.next = pOt__gc_root;
  574.  
  575.  
  576. pOt__Epilogue:;
  577.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  578.   pOt__rm_par((pOt__TypDsc**)pOt_old);
  579.   pOt__rm_par((pOt__TypDsc**)pOt_new);
  580. }
  581.  
  582.  
  583.  
  584.  
  585. extern void pOt_Delete_Files
  586. #if pOt__ANSI_C
  587.   (pOt__DynArr *pOt_name, pOt_INTEGER *pOt_res)
  588. #else
  589.   (pOt_name, pOt_res)
  590.   pOt__DynArr *pOt_name;
  591.   pOt_INTEGER *pOt_res;
  592.  
  593. #endif
  594. {
  595.   struct {void*next;} pOt__gc_ptrs;
  596.   pOt__gc_ptrs.next = pOt__gc_root;
  597.  
  598.  
  599. pOt__Epilogue:;
  600.   pOt__gc_root=(struct pOt__tag_gc_node*)pOt__gc_ptrs.next;
  601.   pOt__rm_par((pOt__TypDsc**)pOt_name);
  602. }
  603.  
  604. void pOt_Files__body()
  605. {
  606.   static int pOt_Files__loaded=0;
  607.   if(!pOt_Files__loaded){
  608.     pOt_Files__loaded=1;
  609.  
  610.  
  611.     pOt__gc_ptrs.next=pOt__gc_root;
  612.     pOt__gc_root=(struct pOt__tag_gc_node*)&pOt__gc_strs;
  613.  
  614.     pOt_StdIn_Files=pOt_NIL;
  615.     pOt_StdOut_Files=pOt_NIL;
  616.     pOt_StdErr_Files=pOt_NIL;
  617.  
  618.     pOt__new(__FILE__,__LINE__,(pOt__TypDsc***)&pOt_StdIn_Files,(pOt__TypDsc*)&pOt__td_1_Files);
  619.     (*((struct pOt__tag_1_Files*)pOt__nilchk(__FILE__,__LINE__,pOt_StdIn_Files))).pOt_pos=(pOt_LONGINT)(0);
  620.     pOt__arr_assign((pOt__ArrTypDsc**)& (*((struct pOt__tag_1_Files*)pOt__nilchk(__FILE__,__LINE__,pOt_StdIn_Files))).pOt_name,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__td_0_Files)));
  621.     (*((struct pOt__tag_1_Files*)pOt__nilchk(__FILE__,__LINE__,pOt_StdIn_Files))).pOt_handle=(pOt_LONGINT)(0);
  622.     pOt__new(__FILE__,__LINE__,(pOt__TypDsc***)&pOt_StdOut_Files,(pOt__TypDsc*)&pOt__td_1_Files);
  623.     (*((struct pOt__tag_1_Files*)pOt__nilchk(__FILE__,__LINE__,pOt_StdOut_Files))).pOt_pos=(pOt_LONGINT)(0);
  624.     pOt__arr_assign((pOt__ArrTypDsc**)& (*((struct pOt__tag_1_Files*)pOt__nilchk(__FILE__,__LINE__,pOt_StdOut_Files))).pOt_name,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__td_0_Files)));
  625.     (*((struct pOt__tag_1_Files*)pOt__nilchk(__FILE__,__LINE__,pOt_StdOut_Files))).pOt_handle=(pOt_LONGINT)(0);
  626.     pOt__new(__FILE__,__LINE__,(pOt__TypDsc***)&pOt_StdErr_Files,(pOt__TypDsc*)&pOt__td_1_Files);
  627.     (*((struct pOt__tag_1_Files*)pOt__nilchk(__FILE__,__LINE__,pOt_StdErr_Files))).pOt_pos=(pOt_LONGINT)(0);
  628.     pOt__arr_assign((pOt__ArrTypDsc**)& (*((struct pOt__tag_1_Files*)pOt__nilchk(__FILE__,__LINE__,pOt_StdErr_Files))).pOt_name,(pOt__ArrTypDsc**)&(*pOt__set_str_td(&pOt__strcon_buf[0x0L],&pOt__td_0_Files)));
  629.     (*((struct pOt__tag_1_Files*)pOt__nilchk(__FILE__,__LINE__,pOt_StdErr_Files))).pOt_handle=(pOt_LONGINT)(0);
  630.  
  631.   pOt__Epilogue:;
  632.   }
  633. }
  634.