home *** CD-ROM | disk | FTP | other *** search
/ Photo CD Demo 1 / Demo.bin / hdf / unix / hdf3_2r2 / src / hproto.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-11-04  |  45.2 KB  |  1,667 lines

  1. /***************************************************************************
  2. *
  3. *
  4. *                         NCSA HDF version 3.2r2
  5. *                            October 30, 1992
  6. *
  7. * NCSA HDF Version 3.2 source code and documentation are in the public
  8. * domain.  Specifically, we give to the public domain all rights for future
  9. * licensing of the source code, all resale rights, and all publishing rights.
  10. *
  11. * We ask, but do not require, that the following message be included in all
  12. * derived works:
  13. *
  14. * Portions developed at the National Center for Supercomputing Applications at
  15. * the University of Illinois at Urbana-Champaign, in collaboration with the
  16. * Information Technology Institute of Singapore.
  17. *
  18. * THE UNIVERSITY OF ILLINOIS GIVES NO WARRANTY, EXPRESSED OR IMPLIED, FOR THE
  19. * SOFTWARE AND/OR DOCUMENTATION PROVIDED, INCLUDING, WITHOUT LIMITATION,
  20. * WARRANTY OF MERCHANTABILITY AND WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE
  21. *
  22. ****************************************************************************
  23. */
  24.  
  25. /*
  26. $Header: /hdf/hdf/v3.2r2/src/RCS/hproto.h,v 1.11 1992/10/30 18:36:52 koziol beta koziol $
  27.  
  28. $Log: hproto.h,v $
  29.  * Revision 1.11  1992/10/30  18:36:52  koziol
  30.  * Fixed casts in a bunch of functions to make the SGI ANSI compiler happy
  31.  *
  32.  * Revision 1.10  1992/10/28  09:15:59  koziol
  33.  * Updated prototypes for DFSDpre32() call and transarray calls
  34.  *
  35.  * Revision 1.9  1992/10/23  19:51:58  koziol
  36.  * Added _HUGE keyword for MS-Windows and MS-DOS compatibility.  On
  37.  * all other machines it gets pre-processed out.  Please use this
  38.  * in all future prototype declarations with pointers in them.
  39.  *
  40.  * Revision 1.8  1992/10/23  00:14:11  koziol
  41.  * Changed all DFIstr*() and DFImem*() calls to HDstr*() and HDmem*() calls
  42.  * #ifdef'd out the macros Jason defined for Hopen, Hclose, etc. for Vsets
  43.  * Replaced Vset VFREESPACE and VGETSPACE calls with actual calls to HDfreespace
  44.  * and HDgetspace
  45.  * Added a MS-Windows lower lower for file I/O (which may not be completely working
  46.  *
  47.  * Revision 1.6  1992/10/12  18:11:51  koziol
  48.  * Updated for v3.2r2 release
  49.  *
  50.  * Revision 1.5  1992/09/15  19:56:48  koziol
  51.  * Changed major and minor -> majorv & minorv respectively
  52.  *
  53.  * Revision 1.4  1992/09/11  14:15:04  koziol
  54.  * Changed Fortran stubs' parameter passing to use a new typedef, intf,
  55.  * which should be typed to the size of an INTEGER*4 in whatever Fortran
  56.  * compiler the C functions need to be compatible with.  (This is mostly
  57.  * for the PC and possibly for the Mac)
  58.  *
  59.  * Revision 1.3  1992/08/31  16:14:52  chouck
  60.  * Added Fortran support for calibration tags
  61.  *
  62.  * Revision 1.2  1992/08/27  19:55:26  likkai
  63.  * change declaration of Vclose: now it returns intn instead of void.
  64.  * change declaration of DFvsetclose: returns intn instead of int.
  65.  *
  66.  * Revision 1.1  1992/08/25  21:40:44  koziol
  67.  * Initial revision
  68.  *
  69. */
  70. #ifndef _H_PROTO
  71. #define _H_PROTO
  72.  
  73. /*
  74. ** from hfile.c 
  75. */
  76. extern int32 Hopen 
  77.   PROTO((char _HUGE *path, intn access, int16 ndds));
  78.  
  79. extern intn Hclose
  80.   PROTO((int32 file_id));
  81.  
  82. extern int32 Hstartread
  83.   PROTO((int32 file_id, uint16 tag, uint16 ref));
  84.  
  85. extern intn Hnextread
  86.   PROTO((int32 access_id, uint16 tag, uint16 ref, int origin));
  87.  
  88. extern intn Hinquire
  89.   PROTO((int32 access_id, int32 _HUGE *pfile_id, uint16 _HUGE *ptag,
  90.      uint16 _HUGE *pref,int32 _HUGE *plength, int32 _HUGE *poffset,
  91.      int32 _HUGE *pposn, int16 _HUGE *paccess,int16 _HUGE *pspecial));
  92.  
  93. extern int32 Hstartwrite
  94.   PROTO((int32 file_id, uint16 tag, uint16 ref, int32 length));
  95.  
  96. extern intn Hseek
  97.   PROTO((int32 access_id, int32 offset, int origin));
  98.  
  99. extern int32 Hread
  100.   PROTO((int32 access_id, int32 length, uint8 _HUGE *data));
  101.  
  102. extern int32 Hwrite
  103.   PROTO((int32 access_id, int32 length, uint8 _HUGE *data));
  104.  
  105. extern int32 Hendaccess
  106.   PROTO((int32 access_id));
  107.  
  108. extern int32 Hgetelement
  109.   PROTO((int32 file_id, uint16 tag, uint16 ref, uint8 _HUGE *data));
  110.  
  111. extern int Hputelement
  112.   PROTO((int32 file_id, uint16 tag, uint16 ref, uint8 _HUGE *data, int32 length));
  113.  
  114. extern int32 Hlength
  115.   PROTO((int32 file_id, uint16 tag, uint16 ref));
  116.  
  117. extern int32 Hoffset
  118.   PROTO((int32 file_id, uint16 tag, uint16 ref));
  119.  
  120. extern int Hdupdd
  121.   PROTO((int32 file_id, uint16 tag, uint16 ref, uint16 old_tag, uint16 old_ref));
  122.  
  123. extern int Hdeldd
  124.   PROTO((int32 file_id, uint16 tag, uint16 ref));
  125.  
  126. extern uint16 Hnewref
  127.   PROTO((int32 file_id));
  128.  
  129. extern int Hsync
  130.   PROTO((int32 file_id));
  131.  
  132. extern int Hnumber
  133.   PROTO((int32 file_id, uint16 tag));
  134.  
  135. extern int Hgetlibversion
  136.   PROTO((uint32 _HUGE *majorv, uint32 _HUGE *minorv,
  137.     uint32 _HUGE *release, char _HUGE *string));
  138.  
  139. extern int Hgetfileversion
  140.   PROTO((int32 file_id, uint32 _HUGE *majorv, uint32 _HUGE *minorv,
  141.     uint32 _HUGE *release,char _HUGE *string));
  142.  
  143. #if defined WIN3
  144. extern int32 HDfreadbig
  145.   PROTO((VOIDP buffer, int32 size,HFILE fp));
  146.  
  147. extern int32 HDfwritebig
  148.   PROTO((VOIDP buffer, int32 size,HFILE fp));
  149.  
  150. #elif defined PC
  151. extern int32 HDfreadbig
  152.   PROTO((VOIDP buffer, int32 size,FILE _HUGE *fp));
  153.  
  154. extern int32 HDfwritebig
  155.   PROTO((VOIDP buffer, int32 size,FILE _HUGE *fp));
  156. #endif
  157.  
  158. extern uint16 HDmake_special_tag
  159.   PROTO((uint16 tag));
  160.  
  161. extern bool HDis_special_tag
  162.   PROTO((uint16 tag));
  163.  
  164. extern uint16 HDbase_tag
  165.   PROTO((uint16 tag));
  166.  
  167. extern int HDerr
  168.   PROTO((int32 file_id));
  169.  
  170. extern bool HDvalidfid
  171.   PROTO((int32 file_id));
  172.  
  173. extern char _HUGE *HDgettagname
  174.   PROTO((uint16 tag));
  175.  
  176. extern int32 Hishdf
  177.   PROTO((char _HUGE *filename));
  178.  
  179. /*
  180. ** from hkit.c 
  181. */
  182. extern char _HUGE *HIstrncpy
  183.   PROTO((register char _HUGE *dest, register char _HUGE *source, int32 len));
  184.  
  185. extern int32 HDspaceleft
  186.   PROTO((void));
  187.  
  188. extern void _HUGE *HDgetspace
  189.   PROTO((uint32 qty));
  190.  
  191. extern void _HUGE *HDfreespace
  192.   PROTO((void _HUGE *ptr));
  193.  
  194. extern intn HDc2fstr
  195.   PROTO((char _HUGE *str, int len));
  196.  
  197. extern char _HUGE *HDf2cstring
  198.   PROTO((_fcd fdesc, int len));
  199.  
  200. extern intn HDflush
  201.     PROTO((int32 file_id));
  202.  
  203. /* 
  204. ** from hblocks.c 
  205. */
  206. extern int32 HLcreate
  207.   PROTO((int32 file_id, uint16 tag, uint16 ref, int32 block_length, 
  208.      int32 number_blocks));
  209.  
  210. /*
  211. ** from hextelt.c 
  212. */
  213. extern int32 HXcreate
  214.   PROTO((int32 file_id, uint16 tag, uint16 ref, char _HUGE *extern_file_name));
  215.  
  216. /*
  217. ** from herr.c 
  218. */
  219. extern char _HUGE *HEstring
  220.   PROTO((int16 error_code));
  221.  
  222. extern VOID HEpush
  223.   PROTO((int16 error_code, char _HUGE *function_name, char _HUGE *file_name, int line));
  224.  
  225. #ifndef _H_ERR_MASTER_
  226. extern VOID HEreport
  227.   PROTO((char _HUGE *, ...));
  228. #endif /* _H_ERR_MASTER_ */
  229.  
  230. extern VOID HEprint
  231.   PROTO((FILE _HUGE *stream, int32 print_level));
  232.  
  233. extern int16 HEvalue
  234.   PROTO((int32 level));
  235.  
  236. /* 
  237. ** from dfcomp.c 
  238. */
  239. extern int DFputcomp
  240.   PROTO((int32 file_id, uint16 tag, uint16 ref, uint8 _HUGE *image, int32 xdim,
  241.      int32 ydim, uint8 _HUGE *palette, uint8 _HUGE *newpal, int16 scheme));
  242.  
  243. extern int DFgetcomp
  244.   PROTO((int32 file_id, uint16 tag, uint16 ref, uint8 _HUGE *image, int32 xdim,
  245.      int32 ydim, uint16 scheme));
  246.  
  247. extern int32 DFCrle
  248.   PROTO((VOIDP buf, VOIDP bufto, int32 len));
  249.  
  250. extern int32 DFCunrle
  251.   PROTO((uint8 _HUGE *buf, uint8 _HUGE *bufto, int32 outlen, int resetsave));
  252.  
  253. /*
  254. ** from dfimcomp.c 
  255. */
  256. extern VOID DFCimcomp
  257.   PROTO((int32 xdim, int32 ydim, uint8 _HUGE in[], uint8 _HUGE out[], uint8 _HUGE in_pal[],
  258.      uint8 _HUGE out_pal[], int mode));
  259.  
  260. extern VOID DFCunimcomp
  261.   PROTO((int32 xdim, int32 ydim, uint8 _HUGE in[], uint8 _HUGE out[]));
  262.  
  263. /* 
  264. ** from dfgroup.c 
  265. */
  266. extern int DFdiread
  267.   PROTO((int32 file_id, uint16 tag, uint16 ref));
  268.  
  269. extern int DFdiget
  270.   PROTO((uint16 _HUGE *ptag, uint16 _HUGE *pref));
  271.  
  272. extern int DFdisetup
  273.   PROTO((int maxsize));
  274.  
  275. extern int DFdiput
  276.   PROTO((uint16 tag, uint16 ref));
  277.  
  278. extern int DFdiwrite
  279.   PROTO((int32 file_id, uint16 tag, uint16 ref));
  280.  
  281. /*
  282. ** from dfp.c 
  283. */
  284. extern intn DFPgetpal
  285.   PROTO((char _HUGE *filename, VOIDP palette));
  286.  
  287. extern intn DFPputpal
  288.   PROTO((char _HUGE *filename, VOIDP palette, int overwrite, char _HUGE *filemode));
  289.  
  290. extern int DFPaddpal
  291.   PROTO((char _HUGE *filename, VOIDP palette));
  292.  
  293. extern int DFPnpals
  294.   PROTO((char _HUGE *filename));
  295.  
  296. extern intn DFPreadref
  297.   PROTO((char _HUGE *filename, uint16 ref));
  298.  
  299. extern int DFPwriteref
  300.   PROTO((char _HUGE *filename, uint16 ref));
  301.  
  302. extern int DFPrestart
  303.   PROTO((void));
  304.  
  305. extern int DFPlastref
  306.   PROTO((void));
  307.  
  308. extern int32 DFPIopen
  309.   PROTO((char _HUGE *filename, int access));
  310.  
  311. /*
  312. ** from dfr8.c 
  313. */
  314. extern intn DFR8getdims
  315.   PROTO((char _HUGE *filename, int32 _HUGE *pxdim, int32 _HUGE *pydim, intn _HUGE *pispal));
  316.  
  317. extern intn DFR8getimage
  318.   PROTO((char _HUGE *filename, uint8 _HUGE *image, int32 xdim, int32 ydim, uint8 _HUGE *pal));
  319.  
  320. extern int DFR8setpalette
  321.   PROTO((uint8 _HUGE *pal));
  322.  
  323. extern int DFR8putimage
  324.   PROTO((char _HUGE *filename, VOIDP image, int32 xdim, int32 ydim, uint16 compress));
  325.  
  326. extern int DFR8addimage
  327.   PROTO((char _HUGE *filename, VOIDP image, int32 xdim, int32 ydim, uint16 compress));
  328.  
  329. extern int DFR8nimages
  330.   PROTO((char _HUGE *filename));
  331.  
  332. extern intn DFR8readref
  333.   PROTO((char _HUGE *filename, uint16 ref));
  334.  
  335. extern int DFR8writeref
  336.   PROTO((char _HUGE *filename, uint16 ref));
  337.  
  338. extern int DFR8restart
  339.   PROTO((void));
  340.  
  341. extern int DFR8lastref
  342.   PROTO((void));
  343.  
  344. /*
  345. ** from dfgr.c 
  346. */
  347. extern int DFGRgetlutdims
  348.   PROTO((char _HUGE *filename, int32 _HUGE *pxdim, int32 _HUGE *pydim, int _HUGE *pncomps, int _HUGE *pil));
  349.  
  350. extern int DFGRreqlutil
  351.   PROTO((int il));
  352.  
  353. extern int DFGRgetlut
  354.   PROTO((char _HUGE *filename, VOIDP lut, int32 xdim, int32 ydim));
  355.  
  356. extern int DFGRgetimdims
  357.   PROTO((char _HUGE *filename, int32 _HUGE *pxdim, int32 _HUGE *pydim, int _HUGE *pncomps, int _HUGE *pil));
  358.  
  359. extern int DFGRreqimil
  360.   PROTO((int il));
  361.  
  362. extern int DFGRgetimage
  363.   PROTO((char _HUGE *filename, VOIDP image, int32 xdim, int32 ydim));
  364.  
  365. extern int DFGRsetcompress
  366.   PROTO((int scheme));
  367.  
  368. extern int DFGRsetlutdims
  369.   PROTO((int32 xdim, int32 ydim, int ncomps, int il));
  370.  
  371. extern int DFGRsetlut
  372.   PROTO((VOIDP lut, int32 xdim, int32 ydim));
  373.  
  374. extern int DFGRaddlut
  375.   PROTO((char _HUGE *filename, VOIDP lut, int32 xdim, int32 ydim));
  376.  
  377. extern int DFGRsetimdims
  378.   PROTO((int32 xdim, int32 ydim, int ncomps, int il));
  379.  
  380. extern int DFGRaddimage
  381.   PROTO((char _HUGE *filename, VOIDP image, int32 xdim, int32 ydim));
  382.  
  383. extern int DFGRputimage
  384.   PROTO((char _HUGE *filename, VOIDP image, int32 xdim, int32 ydim));
  385.  
  386. extern int DFGRreadref
  387.   PROTO((char _HUGE *filename, uint16 ref));
  388.  
  389. extern uint16 DFGRIlastref
  390.     PROTO((void));
  391.  
  392. extern int DFGRIgetdims
  393.   PROTO((char _HUGE *filename, int32 _HUGE *pxdim, int32 _HUGE *pydim, int _HUGE *pncomps,
  394.      int _HUGE *pil, int type));
  395.  
  396. extern int DFGRIreqil
  397.   PROTO((int il, int type));
  398.  
  399. extern int DFGRIgetimlut
  400.   PROTO((char _HUGE *filename, VOIDP imlut, int32 xdim, int32 ydim, int type,
  401.      int isfortran));
  402.  
  403. extern int DFGRIsetdims
  404.   PROTO((int32 xdim, int32 ydim, int ncomps, int type));
  405.  
  406. extern int DFGRIsetil
  407.   PROTO((int il, int type));
  408.  
  409. extern int DFGRIrestart
  410.   PROTO((void));
  411.  
  412. extern int DFGRIaddimlut
  413.   PROTO((char _HUGE *filename, VOIDP imlut, int32 xdim, int32 ydim, int type,
  414.      int isfortran, int newfile));
  415.  
  416. /*
  417. ** from df24.c 
  418. */
  419. extern int DF24getdims
  420.   PROTO((char _HUGE *filename, int32 _HUGE *pxdim, int32 _HUGE *pydim, intn _HUGE *pil));
  421.  
  422. extern int DF24reqil
  423.   PROTO((int il));
  424.  
  425. extern int DF24getimage
  426.   PROTO((char _HUGE *filename, VOIDP image, int32 xdim, int32 ydim));
  427.  
  428. extern int DF24setdims
  429.   PROTO((int32 xdim, int32 ydim));
  430.  
  431. extern int DF24setil
  432.   PROTO((int il));
  433.  
  434. extern int DF24restart
  435.   PROTO((void));
  436.  
  437. extern int DF24addimage
  438.   PROTO((char _HUGE *filename, VOIDP image, int32 xdim, int32 ydim));
  439.  
  440. extern int DF24putimage
  441.   PROTO((char _HUGE *filename, VOIDP image, int32 xdim, int32 ydim));
  442.  
  443. extern int DF24readref
  444.   PROTO((char _HUGE *filename, uint16 ref));
  445.  
  446. extern uint16 DF24lastref
  447.     PROTO((void));
  448.  
  449. /*
  450. ** from dfan.c
  451. */
  452.  
  453. extern int32 DFANgetlablen
  454.     PROTO((char _HUGE *filename, uint16 tag, uint16 ref));
  455.  
  456. extern int DFANgetlabel
  457.     PROTO((char _HUGE *filename, uint16 tag, uint16 ref, char _HUGE *label, int32 maxlen));
  458.  
  459. extern int32 DFANgetdesclen
  460.     PROTO((char _HUGE *filename, uint16 tag, uint16 ref));
  461.  
  462. extern int DFANgetdesc
  463.     PROTO((char _HUGE *filename, uint16 tag, uint16 ref, char _HUGE *desc, int32 maxlen));
  464.  
  465. extern int32 DFANgetfidlen
  466.     PROTO((int32 file_id, int isfirst));
  467.  
  468. extern int32 DFANgetfid
  469.     PROTO((int32 file_id, char _HUGE *id, int32 maxlen, int isfirst));
  470.  
  471. extern int32 DFANgetfdslen
  472.     PROTO((int32 file_id, int isfirst));
  473.  
  474. extern int32 DFANgetfds
  475.     PROTO((int32 file_id, char _HUGE *desc, int32 maxlen, int isfirst));
  476.  
  477. extern int DFANputlabel
  478.     PROTO((char _HUGE *filename, uint16 tag, uint16 ref, char _HUGE *label));
  479.  
  480. extern int DFANputdesc
  481.     PROTO((char _HUGE *filename, uint16 tag, uint16 ref, char _HUGE *desc, int32 desclen));
  482.  
  483. extern int DFANaddfid
  484.     PROTO((int32 file_id, char _HUGE *id));
  485.  
  486. extern int DFANaddfds
  487.     PROTO((int32 file_id, char _HUGE *desc, int32 desclen));
  488.  
  489. extern uint16 DFANlastref
  490.     PROTO((void));
  491.  
  492. extern int DFANlablist
  493.     PROTO((char _HUGE *filename, uint16 tag, uint16 _HUGE reflist[], char _HUGE *labellist,
  494.                 int listsize, int maxlen, int startpos));
  495.  
  496. extern uint16 DFANIlocate
  497.   PROTO((int32 file_id, int type, uint16 tag, uint16 ref));
  498.  
  499. extern int DFANIaddentry
  500.   PROTO((int type, uint16 annref, uint16 datatag, uint16 dataref));
  501.  
  502. extern int32 DFANIgetannlen
  503.   PROTO((char _HUGE *filename, uint16 tag, uint16 ref, int type));
  504.  
  505. extern intn DFANIgetann
  506.   PROTO((char _HUGE *filename, uint16 tag, uint16 ref, uint8 _HUGE *ann,
  507.                 int32 maxlen, int type));
  508.  
  509. extern intn DFANIputann
  510.   PROTO((char _HUGE *filename, uint16 tag, uint16 ref, uint8 _HUGE *ann,
  511.      int32 annlen, int type));
  512.  
  513. extern int DFANIlablist
  514.   PROTO((char _HUGE *filename, uint16 tag, uint16 _HUGE reflist[], uint8 _HUGE *labellist,
  515.      int listsize, int maxlen, int startpos, int isfortran));
  516.  
  517. extern int DFANIaddfann
  518.   PROTO((int32 file_id, char _HUGE *ann, int32 annlen, int type));
  519.  
  520. extern int32 DFANIgetfannlen
  521.   PROTO((int32 file_id, int type, int isfirst));
  522.  
  523. extern int32 DFANIgetfann
  524.   PROTO((int32 file_id, char _HUGE *ann, int32 maxlen, int type, int isfirst));
  525.  
  526. /*
  527. ** from dfsd.c (actually contained in dfsd.h because of use of private data
  528. **              types in the prototypes)
  529. */
  530.  
  531. /*
  532. ** from dfconv.c
  533. */
  534.  
  535. extern int DFKNTsize
  536.     PROTO((int32 number_type));
  537.  
  538. extern int32 DFKisnativeNT
  539.     PROTO((int32 numbertype));
  540.  
  541. extern int8 DFKgetPNSC
  542.     PROTO((int32 numbertype, int32 machinetype));
  543.  
  544. extern intn DFKsetNT
  545.     PROTO((int32 ntype));
  546.  
  547. extern int32 DFKconvert
  548.     PROTO((uint8 _HUGE *source, uint8 _HUGE *dest, int32 ntype, int32 num_elm,
  549.             int16 access, int32 source_stride, int32 dest_stride));
  550.  
  551. /*
  552. ** from dfanF.c
  553. */
  554. #ifndef DFAN_FNAMES
  555. #   define  DFAN_FNAMES
  556. #ifdef DF_CAPFNAMES
  557. #   define ndaiganl  FNAME(DAIGANL)
  558. #   define ndaigann  FNAME(DAIGANN)
  559. #   define ndaipann  FNAME(DAIPANN)
  560. #   define ndailist  FNAME(DAILIST)
  561. #   define ndalref   FNAME(DALREF)
  562. #   define ndfanlastref     FNAME(DFANLASTREF)
  563.  
  564. #   define ndfanaddfds      FNAME(DFANADDFDS)
  565. #   define ndfangetfidlen   FNAME(DFANGETFIDLEN)
  566. #   define ndfangetfdslen   FNAME(DFANGETFDSLEN)
  567. #   define ndfangetfid      FNAME(DFANGETFID)
  568. #   define ndfangetfds      FNAME(DFANGETFDS)
  569. #   define ndaafds          FNAME(DAAFDS)
  570. #   define ndagfidl         FNAME(DAGFIDL)
  571. #   define ndagfdsl         FNAME(DAGFDSL)
  572. #   define ndagfid          FNAME(DAGFID)
  573. #   define ndagfds          FNAME(DAGFDS)
  574. #   define ndaiafid         FNAME(DAIAFID)
  575. #else   /* DF_CAPFNAMES */
  576. #   define ndaiganl  FNAME(daiganl)
  577. #   define ndaigann  FNAME(daigann)
  578. #   define ndaipann  FNAME(daipann)
  579. #   define ndailist  FNAME(dailist)
  580. #   define ndalref   FNAME(dalref)
  581. #   define ndfanlastref     FNAME(dfanlastref)
  582.  
  583. #   define ndfanaddfds      FNAME(dfanaddfds)
  584. #   define ndfangetfidlen   FNAME(dfangetfidlen)
  585. #   define ndfangetfdslen   FNAME(dfangetfdslen)
  586. #   define ndfangetfid      FNAME(dfangetfid)
  587. #   define ndfangetfds      FNAME(dfangetfds)
  588. #   define ndaafds          FNAME(daafds)
  589. #   define ndagfidl         FNAME(dagfidl)
  590. #   define ndagfdsl         FNAME(dagfdsl)
  591. #   define ndagfid          FNAME(dagfid)
  592. #   define ndagfds          FNAME(dagfds)
  593. #   define ndaiafid         FNAME(daiafid)
  594. #endif /* DF_CAPFNAMES */
  595. #endif /* DFAN_FNAMES */
  596.  
  597. extern FRETVAL(intf) ndaiganl
  598.     PROTO((_fcd filename, intf _HUGE *tag, intf _HUGE *ref, intf _HUGE *type, intf _HUGE *fnlen));
  599.  
  600. extern FRETVAL(intf) ndaigann
  601.     PROTO((_fcd filename, intf _HUGE *tag, intf _HUGE *ref, _fcd annotation, intf _HUGE *maxlen,
  602.         intf _HUGE *type, intf _HUGE *fnlen));
  603.  
  604. extern FRETVAL(intf) ndaipann
  605.     PROTO((_fcd filename, intf _HUGE *tag, intf _HUGE *ref, _fcd annotation, intf _HUGE *annlen,
  606.         intf _HUGE *type, intf _HUGE *fnlen));
  607.  
  608. extern FRETVAL(intf) ndailist
  609.     PROTO((_fcd filename, intf _HUGE *tag, intf _HUGE reflist[], _fcd labellist,
  610.         intf _HUGE *listsize, intf _HUGE *maxlen, intf _HUGE *startpos, intf _HUGE *fnlen));
  611.  
  612. extern FRETVAL(intf) ndalref
  613.     PROTO((void));
  614.  
  615. extern FRETVAL(intf) ndfanlastref
  616.     PROTO((void));
  617.  
  618. extern FRETVAL(intf) ndfanaddfds
  619.     PROTO((intf _HUGE *dfile, _fcd desc, intf _HUGE *desclen));
  620.  
  621. extern FRETVAL(intf) ndfangetfidlen
  622.     PROTO((intf _HUGE *dfile, intf _HUGE *isfirst));
  623.  
  624. extern FRETVAL(intf) ndfangetfdslen
  625.     PROTO((intf _HUGE *dfile, intf _HUGE *isfirst));
  626.  
  627. extern FRETVAL(intf) ndfangetfid
  628.     PROTO((intf _HUGE *dfile, _fcd id, intf _HUGE *maxlen, intf _HUGE *isfirst));
  629.  
  630. extern FRETVAL(intf) ndfangetfds
  631.     PROTO((intf _HUGE *dfile, _fcd id, intf _HUGE *maxlen, intf _HUGE *isfirst));
  632.  
  633. extern FRETVAL(intf) ndaafds
  634.     PROTO((intf _HUGE *dfile, _fcd desc, intf _HUGE *desclen));
  635.  
  636. extern FRETVAL(intf) ndagfidl
  637.     PROTO((intf _HUGE *dfile, intf _HUGE *isfirst));
  638.  
  639. extern FRETVAL(intf) ndagfdsl
  640.     PROTO((intf _HUGE *dfile, intf _HUGE *isfirst));
  641.  
  642. extern FRETVAL(intf) ndagfid
  643.   PROTO((intf _HUGE *dfile, _fcd id, intf _HUGE *maxlen, intf _HUGE *isfirst));
  644.  
  645. extern FRETVAL(intf) ndagfds
  646.   PROTO((intf _HUGE *dfile, _fcd id, intf _HUGE *maxlen, intf _HUGE *isfirst));
  647.  
  648. extern FRETVAL(intf) ndaiafid
  649.   PROTO((intf _HUGE *dfile, _fcd id, intf _HUGE *idlen));
  650.  
  651. /*
  652. ** from dfr8F.c
  653. */
  654. #ifndef DFR8_FNAMES
  655. #   define DFR8_FNAMES
  656. #ifdef DF_CAPFNAMES
  657. #   define nd8spal   FNAME(D8SPAL)
  658. #   define nd8first  FNAME(D8FIRST)
  659. #   define nd8igdim  FNAME(D8IGDIM)
  660. #   define nd8igimg  FNAME(D8IGIMG)
  661. #   define nd8ipimg  FNAME(D8IPIMG)
  662. #   define nd8iaimg  FNAME(D8IAIMG)
  663. #   define nd8irref  FNAME(D8IRREF)
  664. #   define nd8iwref  FNAME(D8IWREF)
  665. #   define nd8inims  FNAME(D8INIMS)
  666. #   define nd8lref   FNAME(D8LREF)
  667. #   define ndfr8lastref      FNAME(DFR8LASTREF)
  668. #   define ndfr8setpalette   FNAME(DFR8SETPALETTE)
  669. #   define ndfr8restart  FNAME(DFR8RESTART)
  670. #else   /* !DF_CAPFNAMES */
  671. #   define nd8spal   FNAME(d8spal)
  672. #   define nd8first  FNAME(d8first)
  673. #   define nd8igdim  FNAME(d8igdim)
  674. #   define nd8igimg  FNAME(d8igimg)
  675. #   define nd8ipimg  FNAME(d8ipimg)
  676. #   define nd8iaimg  FNAME(d8iaimg)
  677. #   define nd8irref  FNAME(d8irref)
  678. #   define nd8iwref  FNAME(d8iwref)
  679. #   define nd8inims  FNAME(d8inims)
  680. #   define nd8lref   FNAME(d8lref)
  681. #   define ndfr8lastref      FNAME(dfr8lastref)
  682. #   define ndfr8setpalette   FNAME(dfr8setpalette)
  683. #   define ndfr8restart  FNAME(dfr8restart)
  684. #endif /* DF_CAPFNAMES */
  685. #endif /* DFR8_FNAMES */
  686.  
  687. extern  FRETVAL(intf) nd8spal
  688.     PROTO((_fcd pal));
  689.  
  690. extern  FRETVAL(intf) nd8first
  691.     PROTO((void));
  692.  
  693. extern  FRETVAL(intf) nd8igdim
  694.     PROTO((_fcd filename, intf _HUGE *xdim, intf _HUGE *ydim, intf _HUGE *ispal, intf _HUGE *lenfn));
  695.  
  696. extern  FRETVAL(intf) nd8igimg
  697.     PROTO((_fcd filename, _fcd image, intf _HUGE *xdim, intf _HUGE *ydim, _fcd pal,
  698.         intf _HUGE *lenfn));
  699.  
  700. extern  FRETVAL(intf) nd8ipimg
  701.     PROTO((_fcd filename, _fcd image, intf _HUGE *xdim, intf _HUGE *ydim, intf _HUGE *compress,
  702.         intf _HUGE *lenfn));
  703.  
  704. extern  FRETVAL(intf) nd8iaimg
  705.     PROTO((_fcd filename, _fcd image, intf _HUGE *xdim, intf _HUGE *ydim, intf _HUGE *compress,
  706.         intf _HUGE *lenfn));
  707.  
  708. extern  FRETVAL(intf) nd8irref
  709.     PROTO((_fcd filename, intf _HUGE *ref, intf _HUGE *fnlen));
  710.  
  711. extern FRETVAL(intf) nd8iwref
  712.     PROTO((_fcd filename, intf _HUGE *ref, intf _HUGE *fnlen));
  713.  
  714. extern FRETVAL(intf) nd8inims
  715.     PROTO((_fcd filename, intf _HUGE *fnlen));
  716.  
  717. extern FRETVAL(intf) nd8lref
  718.     PROTO((void));
  719.  
  720. extern FRETVAL(intf) ndfr8lastref
  721.     PROTO((void));
  722.  
  723. extern  FRETVAL(intf) ndfr8setpalette
  724.     PROTO((_fcd pal));
  725.  
  726. extern  FRETVAL(intf) ndfr8restart
  727.     PROTO((void));
  728.  
  729. /*
  730. ** from dfsdF.c
  731. */
  732. #ifndef DFSD_FNAMES
  733. #   define DFSD_FNAMES
  734. #ifdef DF_CAPFNAMES
  735. #   define ndsgdast  FNAME(DSGDAST)
  736. #   define ndsgdisc  FNAME(DSGDISC)
  737. #   define ndsgrang  FNAME(DSGRANG)
  738. #   define ndssdims  FNAME(DSSDIMS)
  739. #   define ndssdisc  FNAME(DSSDISC)
  740. #   define ndssrang  FNAME(DSSRANG)
  741. #   define ndsclear  FNAME(DSCLEAR)
  742. #   define ndsslens  FNAME(DSSLENS)
  743. #   define ndsgdiln  FNAME(DSGDILN)
  744. #   define ndsgdaln  FNAME(DSGDALN)
  745. #   define ndsfirst  FNAME(DSFIRST)
  746. #   define ndspslc   FNAME(DSPSLC)
  747. #   define ndseslc   FNAME(DSESLC)
  748. #   define ndsgnt    FNAME(DSGNT)
  749. #   define ndspre32  FNAME(DSPRE32)
  750. #   define ndssnt    FNAME(DSSNT)
  751. #   define ndsigdim  FNAME(DSIGDIM)
  752. #   define ndsigdat  FNAME(DSIGDAT)
  753. #   define ndsipdat  FNAME(DSIPDAT)
  754. #   define ndsiadat  FNAME(DSIADAT)
  755. #   define ndsigdas  FNAME(DSIGDAS)
  756. #   define ndsigslc  FNAME(DSIGSLC)
  757. #   define ndsigdis  FNAME(DSIGDIS)
  758. #   define ndsisslc  FNAME(DSISSLC)
  759. #   define ndsisdas  FNAME(DSISDAS)
  760. #   define ndsisdis  FNAME(DSISDIS)
  761. #   define ndsirref  FNAME(DSIRREF)
  762. #   define ndslref   FNAME(DSLREF)
  763. #   define ndsinum   FNAME(DSINUM)
  764. #   define ndsscal   FNAME(DSSCAL)
  765. #   define ndsgcal   FNAME(DSGCAL)
  766. #   define ndfsdgetdatastrs  FNAME(DFSDGETDATASTRS)
  767. #   define ndfsdgetdimscale  FNAME(DFSDGETDIMSCALE)
  768. #   define ndfsdgetrange     FNAME(DFSDGETRANGE)
  769. #   define ndfsdsetdims      FNAME(DFSDSETDIMS)
  770. #   define ndfsdsetdimscale  FNAME(DFSDSETDIMSCALE)
  771. #   define ndfsdsetrange     FNAME(DFSDSETRANGE)
  772. #   define ndfsdclear        FNAME(DFSDCLEAR)
  773. #   define ndfsdsetlengths   FNAME(DFSDSETLENGTHS)
  774. #   define ndfsdgetdimlen    FNAME(DFSDGETDIMLEN)
  775. #   define ndfsdgetdatalen   FNAME(DFSDGETDATALEN)
  776. #   define ndfsdrestart      FNAME(DFSDRESTART)
  777. #   define ndfsdputslice     FNAME(DFSDPUTSLICE)
  778. #   define ndfsdendslice     FNAME(DFSDENDSLICE)
  779. #   define ndfsdpre32        FNAME(DFSDPRE32)
  780. #   define ndfsdsetnt        FNAME(DFSDSETNT)
  781. #   define ndfsdgetnt        FNAME(DFSDGETNT)
  782. #   define ndfsdlastref      FNAME(DFSDLASTREF)
  783. #else
  784. #   define ndsgdast  FNAME(dsgdast)
  785. #   define ndsgdisc  FNAME(dsgdisc)
  786. #   define ndsgrang  FNAME(dsgrang)
  787. #   define ndssdims  FNAME(dssdims)
  788. #   define ndssdisc  FNAME(dssdisc)
  789. #   define ndssrang  FNAME(dssrang)
  790. #   define ndsclear  FNAME(dsclear)
  791. #   define ndsslens  FNAME(dsslens)
  792. #   define ndsgdiln  FNAME(dsgdiln)
  793. #   define ndsgdaln  FNAME(dsgdaln)
  794. #   define ndsfirst  FNAME(dsfirst)
  795. #   define ndspslc   FNAME(dspslc)
  796. #   define ndseslc   FNAME(dseslc)
  797. #   define ndsgnt    FNAME(dsgnt)
  798. #   define ndspre32  FNAME(dspre32)
  799. #   define ndssnt    FNAME(dssnt)
  800. #   define ndsigdim  FNAME(dsigdim)
  801. #   define ndsigdat  FNAME(dsigdat)
  802. #   define ndsipdat  FNAME(dsipdat)
  803. #   define ndsiadat  FNAME(dsiadat)
  804. #   define ndsigdas  FNAME(dsigdas)
  805. #   define ndsigslc  FNAME(dsigslc)
  806. #   define ndsigdis  FNAME(dsigdis)
  807. #   define ndsisslc  FNAME(dsisslc)
  808. #   define ndsisdas  FNAME(dsisdas)
  809. #   define ndsisdis  FNAME(dsisdis)
  810. #   define ndsirref  FNAME(dsirref)
  811. #   define ndslref   FNAME(dslref)
  812. #   define ndsinum   FNAME(dsinum)
  813. #   define ndsscal   FNAME(dsscal)
  814. #   define ndsgcal   FNAME(dsgcal)
  815. #   define ndfsdgetdatastrs  FNAME(dfsdgetdatastrs)
  816. #   define ndfsdgetdimscale  FNAME(dfsdgetdimscale)
  817. #   define ndfsdgetrange     FNAME(dfsdgetrange)
  818. #   define ndfsdsetdims      FNAME(dfsdsetdims)
  819. #   define ndfsdsetdimscale  FNAME(dfsdsetdimscale)
  820. #   define ndfsdsetrange     FNAME(dfsdsetrange)
  821. #   define ndfsdclear        FNAME(dfsdclear)
  822. #   define ndfsdsetlengths   FNAME(dfsdsetlengths)
  823. #   define ndfsdgetdimlen    FNAME(dfsdgetdimlen)
  824. #   define ndfsdgetdatalen   FNAME(dfsdgetdatalen)
  825. #   define ndfsdrestart      FNAME(dfsdrestart)
  826. #   define ndfsdputslice     FNAME(dfsdputslice)
  827. #   define ndfsdendslice     FNAME(dfsdendslice)
  828. #   define ndfsdpre32        FNAME(dfsdpre32)
  829. #   define ndfsdsetnt        FNAME(dfsdsetnt)
  830. #   define ndfsdgetnt        FNAME(dfsdgetnt)
  831. #   define ndfsdlastref      FNAME(dfsdlastref)
  832. #endif /* DF_CAPFNAMES */
  833. #endif  /* DFSD_FNAMES */
  834.  
  835. extern FRETVAL(intf) ndsgdisc
  836.     PROTO((intf _HUGE *dim, intf _HUGE *maxsize, void _HUGE *scale));
  837.  
  838. extern FRETVAL(intf) ndsgrang
  839.     PROTO((void _HUGE *pmax, void _HUGE *pmin));
  840.  
  841. extern FRETVAL(intf) ndssdims
  842.     PROTO((intf _HUGE *rank, intf _HUGE dimsizes[]));
  843.  
  844. extern FRETVAL(intf) ndssdisc
  845.     PROTO((intf _HUGE *dim, intf _HUGE *dimsize, void _HUGE *scale));
  846.  
  847. extern FRETVAL(intf) ndssrang
  848.     PROTO((void _HUGE *max, void _HUGE *min));
  849.  
  850. extern FRETVAL(intf) ndsclear
  851.     PROTO((void));
  852.  
  853. extern FRETVAL(intf) ndsslens
  854.     PROTO((intf _HUGE *maxlen_label, intf _HUGE *maxlen_unit, intf _HUGE *maxlen_format,
  855.             intf _HUGE *maxlen_coordsys));
  856.  
  857. extern FRETVAL(intf) ndsgdiln
  858.     PROTO((intf _HUGE *dim, intf _HUGE *llabel, intf _HUGE *lunit, intf _HUGE *lformat));
  859.  
  860. extern FRETVAL(intf) ndsgdaln
  861.     PROTO((intf _HUGE *llabel, intf _HUGE *lunit, intf _HUGE *lformat, intf _HUGE *lcoordsys));
  862.  
  863. extern FRETVAL(intf) ndsfirst
  864.     PROTO((void));
  865.  
  866. extern FRETVAL(intf) ndspslc
  867.     PROTO((intf _HUGE windims[], void _HUGE *data, intf _HUGE dims[]));
  868.  
  869. extern FRETVAL(intf) ndseslc
  870.     PROTO((void));
  871.  
  872. extern FRETVAL(intf) ndspre32
  873.     PROTO((void));
  874.  
  875. extern FRETVAL(intf) ndssnt
  876.     PROTO((intf _HUGE *numbertype));
  877.  
  878. extern FRETVAL(intf) ndsgnt
  879.     PROTO((intf _HUGE *pnumbertype));
  880.  
  881. extern FRETVAL(intf) ndsigdim
  882.     PROTO((_fcd filename, intf _HUGE *prank, intf _HUGE sizes[], intf _HUGE *maxrank, intf _HUGE *lenfn));
  883.  
  884. extern FRETVAL(intf) ndsigdat
  885.     PROTO((_fcd filename, intf _HUGE *rank, intf _HUGE maxsizes[], void _HUGE *data, intf _HUGE *fnlen));
  886.  
  887. extern FRETVAL(intf) ndsipdat
  888.     PROTO((_fcd filename, intf _HUGE *rank, intf _HUGE dimsizes[], void _HUGE *data, intf _HUGE *fnlen));
  889.  
  890. extern FRETVAL(intf) ndsiadat
  891.     PROTO((_fcd filename, intf _HUGE *rank, intf _HUGE dimsizes[], void _HUGE *data, intf _HUGE *fnlen));
  892.  
  893. extern FRETVAL(intf) ndsigslc
  894.     PROTO((_fcd filename, intf _HUGE winst[], intf _HUGE windims[], void _HUGE *data,
  895.             intf _HUGE dims[], intf _HUGE *fnlen));
  896.  
  897. extern FRETVAL(intf) ndsisslc
  898.     PROTO((_fcd filename, intf _HUGE *fnlen));
  899.  
  900. extern FRETVAL(intf) ndsirref
  901.     PROTO((_fcd filename, intf _HUGE *ref, intf _HUGE *fnlen));
  902.  
  903. extern FRETVAL(intf) ndslref
  904.     PROTO((void));
  905.  
  906. extern FRETVAL(intf) ndsinum
  907.     PROTO((_fcd filename, intf _HUGE *len));
  908.  
  909. extern FRETVAL(intf) ndfsdgetdatastrs
  910.     PROTO((_fcd label, _fcd unit, _fcd format, _fcd coordsys));
  911.  
  912. extern FRETVAL(intf) ndfsdgetdimstrs
  913.     PROTO((intf _HUGE *dim, _fcd label, _fcd unit, _fcd format));
  914.  
  915. extern FRETVAL(intf) ndfsdgetdimscale
  916.     PROTO((intf _HUGE *dim, intf _HUGE *maxsize, void _HUGE *scale));
  917.  
  918. extern FRETVAL(intf) ndfsdgetrange
  919.     PROTO((void _HUGE *pmax, void _HUGE *pmin));
  920.  
  921. extern FRETVAL(intf) ndfsdsetdims
  922.     PROTO((intf _HUGE *rank, intf _HUGE dimsizes[]));
  923.  
  924. extern FRETVAL(intf) ndfsdsetdimscale
  925.     PROTO((intf _HUGE *dim, intf _HUGE *dimsize, void _HUGE *scale));
  926.  
  927. extern FRETVAL(intf) ndfsdsetrange
  928.     PROTO((void _HUGE *max, void _HUGE *min));
  929.  
  930. extern FRETVAL(intf) ndfsdclear
  931.     PROTO((void));
  932.  
  933. extern FRETVAL(intf) ndfsdsetlengths
  934.     PROTO((intf _HUGE *maxlen_label, intf _HUGE *maxlen_unit, intf _HUGE *maxlen_format,
  935.                 intf _HUGE *maxlen_coordsys));
  936.  
  937. extern FRETVAL(intf) ndfsdgetdimlen
  938.     PROTO((intf _HUGE *dim, intf _HUGE *llabel, intf _HUGE *lunit, intf _HUGE *lformat));
  939.  
  940. extern FRETVAL(intf) ndfsdgetdatalen
  941.     PROTO((intf _HUGE *llabel, intf _HUGE *lunit, intf _HUGE *lformat, intf _HUGE *lcoordsys));
  942.  
  943. extern FRETVAL(intf) ndfsdrestart
  944.     PROTO((void));
  945.  
  946. extern FRETVAL(intf) ndfsdputslice
  947.     PROTO((intf _HUGE windims[], void _HUGE *data, intf _HUGE dims[]));
  948.  
  949. extern FRETVAL(intf) ndfsdendslice
  950.     PROTO((void));
  951.  
  952. extern FRETVAL(intf) ndfsdpre32
  953.     PROTO((void));
  954.  
  955. extern FRETVAL(intf) ndfsdsetnt
  956.     PROTO((intf _HUGE *numbertype));
  957.  
  958. extern FRETVAL(intf) ndfsdgetnt
  959.     PROTO((intf _HUGE *pnumbertype));
  960.  
  961. extern FRETVAL(intf) ndfsdlastref
  962.     PROTO((void));
  963.  
  964. extern FRETVAL(intf) ndsisdis
  965.     PROTO((intf _HUGE *dim, _fcd flabel, _fcd funit, _fcd fformat, intf _HUGE *llabel,
  966.         intf _HUGE *lunit, intf _HUGE *lformat));
  967.  
  968. extern FRETVAL(intf) ndsigdis
  969.     PROTO((intf _HUGE *dim, _fcd label, _fcd unit, _fcd format, intf _HUGE *llabel,
  970.            intf _HUGE *lunit, intf _HUGE *lformat));
  971.  
  972. extern FRETVAL(intf) ndsisdas
  973.     PROTO((_fcd flabel, _fcd funit, _fcd fformat, _fcd fcoordsys,
  974.         intf _HUGE *isfortran, intf _HUGE *llabel, intf _HUGE *lunit, intf _HUGE *lformat,
  975.         intf _HUGE *lcoordsys));
  976.  
  977. extern FRETVAL(intf) ndsigdas
  978.     PROTO((_fcd label, _fcd unit, _fcd format, _fcd coordsys, intf _HUGE *llabel,
  979.         intf _HUGE *lunit, intf _HUGE *lformat, intf _HUGE *lcoord));
  980.  
  981. extern FRETVAL(intf) ndsscal
  982.     PROTO((float64 _HUGE *cal, float64 _HUGE *cal_err, float64 _HUGE *ioff, float64 _HUGE *ioff_err,
  983.         intf _HUGE *cal_type));
  984.  
  985. extern FRETVAL(intf) ndsgcal
  986.     PROTO((float64 _HUGE *cal, float64 _HUGE *cal_err, float64 _HUGE *ioff, float64 _HUGE *ioff_err,
  987.         intf _HUGE *cal_type));
  988.  
  989. /*
  990. ** from dfpF.c
  991. */
  992.  
  993. #ifndef DFP_FNAMES
  994. #   define DFP_FNAMES
  995. #ifdef DF_CAPFNAMES
  996. #   define ndpigpal  FNAME(DPIGPAL)
  997. #   define ndpippal  FNAME(DPIPPAL)
  998. #   define ndpinpal  FNAME(DPINPAL)
  999. #   define ndpiwref  FNAME(DPIWREF)
  1000. #   define ndpirref  FNAME(DPIRREF)
  1001. #   define ndprest   FNAME(DPREST)
  1002. #   define ndplref   FNAME(DPLREF)
  1003. #   define ndfprestart   FNAME(DFPRESTART)
  1004. #   define ndfplastref   FNAME(DFPLASTREF)
  1005. #else   /* !DF_CAPNAMES */
  1006. #   define ndpigpal  FNAME(dpigpal)
  1007. #   define ndpippal  FNAME(dpippal)
  1008. #   define ndpinpal  FNAME(dpinpal)
  1009. #   define ndpiwref  FNAME(dpiwref)
  1010. #   define ndpirref  FNAME(dpirref)
  1011. #   define ndprest   FNAME(dprest)
  1012. #   define ndplref   FNAME(dplref)
  1013. #   define ndfprestart   FNAME(dfprestart)
  1014. #   define ndfplastref   FNAME(dfplastref)
  1015. #endif /* DF_CAPFNAMES */
  1016. #endif /* DFP_FNAMES */
  1017.  
  1018. extern  FRETVAL(intf) ndpigpal
  1019.     PROTO((_fcd filename, _fcd pal, intf _HUGE *fnlen));
  1020.  
  1021. extern FRETVAL(intf) ndpippal
  1022.     PROTO((_fcd filename, _fcd pal, intf _HUGE *overwrite, _fcd filemode, intf _HUGE *fnlen));
  1023.  
  1024. extern FRETVAL(intf) ndpinpal
  1025.     PROTO((_fcd filename, intf _HUGE *fnlen));
  1026.  
  1027. extern FRETVAL(intf) ndpirref
  1028.     PROTO((_fcd filename, uint16 _HUGE *ref, intf _HUGE *fnlen));
  1029.  
  1030. extern FRETVAL(intf) ndpiwref
  1031.     PROTO((_fcd filename, uint16 _HUGE *ref, intf _HUGE *fnlen));
  1032.  
  1033. extern FRETVAL(intf) ndprest
  1034.     PROTO((void));
  1035.  
  1036. extern FRETVAL(intf) ndplref
  1037.     PROTO((void));
  1038.  
  1039. extern FRETVAL(intf) ndfprestart
  1040.     PROTO((void));
  1041.  
  1042. extern FRETVAL(intf) ndfplastref
  1043.     PROTO((void));
  1044.  
  1045. /*
  1046. ** from df24F.c
  1047. */
  1048. #ifndef DF24_FNAMES
  1049. #   define DF24_FNAMES
  1050. #ifdef DF_CAPFNAMES
  1051. #   define nd2reqil  FNAME(D2REQIL)
  1052. #   define ndf24reqil    FNAME(DF24REQIL)
  1053. #   define nd2sdims  FNAME(D2SDIMS)
  1054. #   define ndf24setdims  FNAME(DF24SETDIMS)
  1055. #   define nd2setil  FNAME(D2SETIL)
  1056. #   define ndf24setil    FNAME(DF24SETIL)
  1057. #   define nd2first  FNAME(D2FIRST)
  1058. #   define ndf24restart  FNAME(DF24RESTART)
  1059. #   define nd2igdim  FNAME(D2IGDIM)
  1060. #   define nd2igimg  FNAME(D2IGIMG)
  1061. #   define nd2iaimg  FNAME(D2IAIMG)
  1062. #   define nd2irref  FNAME(D2IRREF)
  1063. #   define nd24lref  FNAME(D24LREF)
  1064. #else
  1065. #   define nd2reqil  FNAME(d2reqil)
  1066. #   define ndf24reqil    FNAME(df24reqil)
  1067. #   define nd2sdims  FNAME(d2sdims)
  1068. #   define ndf24setdims  FNAME(df24setdims)
  1069. #   define nd2setil  FNAME(d2setil)
  1070. #   define ndf24setil    FNAME(df24setil)
  1071. #   define nd2first  FNAME(d2first)
  1072. #   define ndf24restart  FNAME(df24restart)
  1073. #   define nd2igdim  FNAME(d2igdim)
  1074. #   define nd2igimg  FNAME(d2igimg)
  1075. #   define nd2iaimg  FNAME(d2iaimg)
  1076. #   define nd2irref  FNAME(d2irref)
  1077. #   define nd24lref  FNAME(d24lref)
  1078. #endif /* DF_CAPFNAMES */
  1079. #endif /* DF24_FNAMES */
  1080.  
  1081. extern FRETVAL(intf) nd2reqil
  1082.     PROTO((intf _HUGE *il));
  1083.  
  1084. extern FRETVAL(intf) nd2sdims
  1085.     PROTO((intf _HUGE *xdim, intf _HUGE *ydim));
  1086.  
  1087. extern FRETVAL(intf) nd2igdim
  1088.     PROTO((_fcd filename, intf _HUGE *pxdim, intf _HUGE *pydim, int _HUGE *pil, int _HUGE *fnlen));
  1089.  
  1090. extern FRETVAL(intf) nd2igimg
  1091.     PROTO((_fcd filename, _fcd image, intf _HUGE *xdim, intf _HUGE *ydim, intf _HUGE *fnlen));
  1092.  
  1093. extern FRETVAL(intf) nd2iaimg
  1094.     PROTO((_fcd filename, _fcd image, intf _HUGE *xdim, intf _HUGE *ydim, intf _HUGE *fnlen,
  1095.         intf _HUGE *newfile));
  1096.  
  1097. extern FRETVAL(intf) nd2setil
  1098.     PROTO((intf _HUGE *il));
  1099.  
  1100. extern FRETVAL(intf) nd2first
  1101.     PROTO((void));
  1102.  
  1103. extern FRETVAL(intf) ndf24reqil
  1104.     PROTO((intf _HUGE *il));
  1105.  
  1106. extern FRETVAL(intf) ndf24setdims
  1107.     PROTO((intf _HUGE *xdim, intf _HUGE *ydim));
  1108.  
  1109. extern FRETVAL(intf) ndf24setil
  1110.     PROTO((intf _HUGE *il));
  1111.  
  1112. extern FRETVAL(intf) ndf24restart
  1113.     PROTO((void));
  1114.  
  1115. extern FRETVAL(intf) nd2irref
  1116.     PROTO((_fcd filename, intf _HUGE *ref, intf _HUGE *fnlen));
  1117.  
  1118. extern FRETVAL(intf) nd24lref
  1119.          PROTO((void));
  1120.  
  1121. /*
  1122. ** from dfF.c
  1123. */
  1124. #ifndef DF_FNAMES
  1125. #   define DF_FNAMES
  1126. #ifdef DF_CAPFNAMES
  1127. #   define ndfiaccess FNAME(DFIACCESS)
  1128. #   define ndfiopen  FNAME(DFIOPEN)
  1129. #   define ndfclose  FNAME(DFCLOSE)
  1130. #   define ndfdesc   FNAME(DFDESC)
  1131. #   define ndfdup    FNAME(DFDUP)
  1132. #   define ndfdel    FNAME(DFDEL)
  1133. #   define ndfstart  FNAME(DFSTART)
  1134. #   define ndfread   FNAME(DFREAD)
  1135. #   define ndfseek   FNAME(DFSEEK)
  1136. #   define ndfwrite  FNAME(DFWRITE)
  1137. #   define ndfupdate FNAME(DFUPDATE)
  1138. #   define ndfget    FNAME(DFGET)
  1139. #   define ndfput    FNAME(DFPUT)
  1140. #   define ndfsfind  FNAME(DFSFIND)
  1141. #   define ndffind   FNAME(DFFIND)
  1142. #   define ndferrno  FNAME(DFERRNO)
  1143. #   define ndfnewref FNAME(DFNEWREF)
  1144. #   define ndfnumber FNAME(DFNUMBER)
  1145. #   define ndfstat   FNAME(DFSTAT)
  1146. #   define ndfiishdf FNAME(DFIISHDF)
  1147. #else   /* !DF_CAPFNAMES */
  1148. #   define ndfiaccess FNAME(dfiaccess)
  1149. #   define ndfiopen  FNAME(dfiopen)
  1150. #   define ndfclose  FNAME(dfclose)
  1151. #   define ndfdesc   FNAME(dfdesc)
  1152. #   define ndfdup    FNAME(dfdup)
  1153. #   define ndfdel    FNAME(dfdel)
  1154. #   define ndfstart  FNAME(dfstart)
  1155. #   define ndfread   FNAME(dfread)
  1156. #   define ndfseek   FNAME(dfseek)
  1157. #   define ndfwrite  FNAME(dfwrite)
  1158. #   define ndfupdate FNAME(dfupdate)
  1159. #   define ndfget    FNAME(dfget)
  1160. #   define ndfput    FNAME(dfput)
  1161. #   define ndfsfind  FNAME(dfsfind)
  1162. #   define ndffind   FNAME(dffind)
  1163. #   define ndferrno  FNAME(dferrno)
  1164. #   define ndfnewref FNAME(dfnewref)
  1165. #   define ndfnumber FNAME(dfnumber)
  1166. #   define ndfstat   FNAME(dfstat)
  1167. #   define ndfiishdf FNAME(dfiishdf)
  1168. #endif /* DF_CAPFNAMES */
  1169. #endif /* DF_FNAMES */
  1170.  
  1171. extern FRETVAL(intf) ndfiopen
  1172.     PROTO((_fcd name, intf _HUGE *access, intf _HUGE *defdds, intf _HUGE *namelen));
  1173.  
  1174. extern FRETVAL(intf) ndfclose
  1175.     PROTO((intf _HUGE *dfile));
  1176.  
  1177. extern FRETVAL(intf) ndfdesc
  1178.     PROTO((intf _HUGE *dfile, intf _HUGE ptr[][4], intf _HUGE *begin, intf _HUGE *num));
  1179.  
  1180. extern FRETVAL(intf) ndfdup
  1181.     PROTO((intf _HUGE *dfile, intf _HUGE *tag, intf _HUGE *ref, intf _HUGE *otag, intf _HUGE *oref));
  1182.  
  1183. extern FRETVAL(intf) ndfdel
  1184.     PROTO((intf _HUGE *dfile, intf _HUGE *tag, intf _HUGE *ref));
  1185.  
  1186. extern FRETVAL(intf) ndfiaccess
  1187.     PROTO((intf _HUGE *dfile, intf _HUGE *tag, intf _HUGE *ref, _fcd access, intf _HUGE *acclen));
  1188.  
  1189. extern FRETVAL(intf) ndfstart
  1190.     PROTO((intf _HUGE *dfile, intf _HUGE *tag, intf _HUGE *ref, char _HUGE *access));
  1191.  
  1192. extern FRETVAL(intf) ndfread
  1193.     PROTO((intf _HUGE *dfile, _fcd ptr, intf _HUGE *len));
  1194.  
  1195. extern FRETVAL(intf) ndfseek
  1196.     PROTO((intf _HUGE *dfile, intf _HUGE *offset));
  1197.  
  1198. extern FRETVAL(intf) ndfwrite
  1199.     PROTO((intf _HUGE *dfile, _fcd ptr, intf _HUGE *len));
  1200.  
  1201. extern FRETVAL(intf) ndfupdate
  1202.     PROTO((intf _HUGE *dfile));
  1203.  
  1204. extern FRETVAL(intf) ndfget
  1205.     PROTO((intf _HUGE *dfile, intf _HUGE *tag, intf _HUGE *ref, _fcd ptr));
  1206.  
  1207. extern FRETVAL(intf) ndfput
  1208.     PROTO((intf _HUGE *dfile, intf _HUGE *tag, intf _HUGE *ref, _fcd ptr, intf _HUGE *len));
  1209.  
  1210. extern FRETVAL(intf) ndfsfind
  1211.     PROTO((intf _HUGE *dfile, intf _HUGE *tag, intf _HUGE *ref));
  1212.  
  1213. extern FRETVAL(intf) ndffind
  1214.     PROTO((intf _HUGE *dfile, intf _HUGE *itag, intf _HUGE *iref, intf _HUGE *len));
  1215.  
  1216. extern FRETVAL(intf) ndferrno
  1217.     PROTO((void));
  1218.  
  1219. extern FRETVAL(intf) ndfnewref
  1220.     PROTO((intf _HUGE *dfile));
  1221.  
  1222.  
  1223. extern FRETVAL(intf) ndfnumber
  1224.     PROTO((intf _HUGE *dfile, intf _HUGE *tag));
  1225.  
  1226. #ifdef TEMP_OUT
  1227. extern FRETVAL(intf) ndfstat
  1228.     PROTO((intf _HUGE *dfile, DFdata _HUGE *dfinfo));
  1229. #endif
  1230.  
  1231. extern FRETVAL(intf) ndfiishdf
  1232.     PROTO((_fcd name, intf _HUGE *namelen));
  1233.  
  1234. /*
  1235. ** from dfutil.c
  1236. */
  1237. extern uint16 DFfindnextref
  1238.   PROTO((int32 file_id, uint16 tag, uint16 lref));
  1239.  
  1240. extern int transarray
  1241.   PROTO((intn rank,int32 _HUGE *indims,int32 _HUGE *outdims,int32 numtype,void _HUGE *indata, void _HUGE *outdata));
  1242.  
  1243. /*
  1244. ** from dfutilF.c
  1245. */
  1246. #ifndef DFUTIL_FNAMES
  1247. #   define DFUTIL_FNAMES
  1248. #ifdef DF_CAPFNAMES
  1249. #   define ndfindnr          FNAME(DFINDNR)
  1250. #   define ntrnar            FNAME(TRNAR)
  1251. #   define ndffindnextref    FNAME(DFFINDNEXTREF)
  1252. #   define ntransarray       FNAME(TRANSARRAY)
  1253. #else
  1254. #   define ndfindnr          FNAME(dfindnr)
  1255. #   define ntrnar            FNAME(trnar)
  1256. #   define ndffindnextref    FNAME(dffindnextref)
  1257. #   define ntransarray       FNAME(transarray)
  1258. #endif /* DF_CAPFNAMES */
  1259. #endif /* DFUTIL_FNAMES */
  1260.  
  1261. extern FRETVAL(intf) ndfindnr
  1262.     PROTO((intf _HUGE *dfile, intf _HUGE *tag, intf _HUGE *lref));
  1263.  
  1264. extern FRETVAL(intf) ntrnar
  1265.     PROTO((intf _HUGE *rank, intf _HUGE *indims, intf _HUGE *outdims,
  1266.          intf _HUGE *numtype, void _HUGE *indata, void _HUGE *outdata));
  1267.  
  1268. extern FRETVAL(intf) ndffindnextref
  1269.     PROTO((intf _HUGE *dfile, intf _HUGE *tag, intf _HUGE *lref));
  1270.  
  1271. extern FRETVAL(intf) ntransarray
  1272.     PROTO((intf _HUGE *rank, intf _HUGE *indims, intf _HUGE *outdims,
  1273.          intf _HUGE *numtype, void _HUGE *indata, void _HUGE *outdata));
  1274.  
  1275. /*
  1276. ** from herrF.c
  1277. */
  1278. #ifndef HERR_FNAMES
  1279. #   define HERR_FNAMES
  1280. #ifdef DF_CAPFNAMES
  1281. #   define nheprnt   FNAME(HEPRNT)
  1282. #else
  1283. #   define nheprnt   FNAME(heprnt)
  1284. #endif /* DF_CAPFNAMES */
  1285. #endif  /* HERR_FNAMES */
  1286.  
  1287. extern FRETVAL(VOID) nheprnt
  1288.     PROTO((intf _HUGE *print_levels));
  1289.  
  1290. /*
  1291. ** from hfileF.c
  1292. */
  1293. #ifndef HFILE_FNAMES
  1294. #   define HFILE_FNAMES
  1295. #ifdef DF_CAPFNAMES
  1296. #   define nhiopen   FNAME(HIOPEN)
  1297. #   define nhclose   FNAME(HCLOSE)
  1298. #else
  1299. #   define nhiopen   FNAME(hiopen)
  1300. #   define nhclose  FNAME(hclose)
  1301. #endif /* DF_CAPFNAMES */
  1302. #endif /* HFILE_FNAMES */
  1303.  
  1304. extern FRETVAL(intf) nhiopen
  1305.     PROTO((_fcd name, intf _HUGE *access, intf _HUGE *defdds, intf _HUGE *namelen));
  1306.  
  1307. extern FRETVAL(intf) nhclose
  1308.     PROTO((intf _HUGE *file_id));
  1309.  
  1310. /*
  1311. ** from dfufp2im.c
  1312. */
  1313. #ifndef DFUFP2I_FNAMES
  1314. #   define DFUFP2I_FNAMES
  1315. #ifdef DF_CAPFNAMES
  1316. #   define nduif2i       FNAME(DUIF2I)
  1317. #else
  1318. #   define nduif2i       FNAME(duif2i)
  1319. #endif /* DF_CAPFNAMES */
  1320. #endif /* DFUFP2I_FNAMES */
  1321.  
  1322. extern FRETVAL(int) nduif2i
  1323.     PROTO((int32 _HUGE *hdim, int32 _HUGE *vdim, float32 _HUGE *max, float32 _HUGE *min, float32 _HUGE hscale[],
  1324.             float32 _HUGE vscale[], float32 _HUGE data[], uint8 _HUGE *palette, _fcd outfile,
  1325.             int _HUGE *ct_method, int32 _HUGE *hres, int32 _HUGE *vres, int _HUGE *compress, int _HUGE *lenfn));
  1326.  
  1327. extern int DFUfptoimage
  1328.     PROTO((int32 hdim, int32 vdim, float32 max, float32 min,
  1329.             float32 _HUGE *hscale, float32 _HUGE *vscale, float32 _HUGE *data, uint8 _HUGE *palette,
  1330.             char _HUGE *outfile, int ct_method, int32 hres, int32 vres, int compress));
  1331.  
  1332. /* temp. fix for circular includes with vsets */
  1333. #ifdef PERM_OUT
  1334. /*
  1335. ** from vconv.c
  1336. */
  1337. extern int DIRECTtoIEEE
  1338.   PROTO((unsigned char *machfp, unsigned char *ieeefp, int mstep, int istep,
  1339.     int  n));
  1340.  
  1341. extern int DIRECTfromIEEE
  1342.   PROTO((unsigned char *ieeefp, unsigned char *machfp, int istep, int mstep,
  1343.     int n));
  1344.  
  1345. extern int bytetoIEEE
  1346.   PROTO((unsigned char *machfp, unsigned char *ieeefp, int mstep, int istep,
  1347.     int n));
  1348.  
  1349. extern int bytefromIEEE
  1350.   PROTO((unsigned char *ieeefp, unsigned char *machfp, int istep, int mstep,
  1351.     int n));
  1352.  
  1353. extern int inttoIEEE
  1354.   PROTO((unsigned char *src, unsigned char *dst, int sdelta, int ddelta,
  1355.     int n));
  1356.  
  1357. extern int intfromIEEE
  1358.   PROTO((unsigned char *src, unsigned char *dst, int sdelta, int ddelta,
  1359.     int n));
  1360.  
  1361. extern int longtoIEEE
  1362.   PROTO((unsigned char *src, unsigned char *dst, int sdelta, int ddelta,
  1363.     int n));
  1364.  
  1365. extern int longfromIEEE
  1366.   PROTO((unsigned char *src, unsigned char *dst, int sdelta, int ddelta,
  1367.     int n));
  1368.  
  1369. extern int vaxFtoIEEE
  1370.   PROTO((unsigned char *vaxfp, unsigned char *ieeefp, int vstep, int istep,
  1371.     int n));
  1372.  
  1373. extern int vaxFfromIEEE
  1374.   PROTO((unsigned char *ieeefp, unsigned char *vaxfp, int istep, int vstep,
  1375.     int n));
  1376.  
  1377. extern int floattoIEEE
  1378.   PROTO((unsigned char *machfp, unsigned char *ieeefp, int mstep, int istep,
  1379.     int n));
  1380.  
  1381. extern int floatfromIEEE
  1382.   PROTO((unsigned char *ieeefp, unsigned char *machfp, int istep, int mstep,
  1383.     int n));
  1384.  
  1385. extern int movebytes
  1386.   PROTO((VOIDP ss, VOIDP dd, int n));
  1387.  
  1388. extern int vicheckcompat
  1389.   PROTO((HFILEID f));
  1390.  
  1391. extern int vimakecompat
  1392.   PROTO((HFILEID f));
  1393.  
  1394. extern int vcheckcompat
  1395.   PROTO((char *fs));
  1396.  
  1397. extern int vmakecompat
  1398.   PROTO((char *fs));
  1399.  
  1400. extern int oldunpackvg
  1401.   PROTO((VGROUP *vg, unsigned char _HUGE buf[], int *size));
  1402.  
  1403. extern int oldunpackvs
  1404.   PROTO((VDATA *vs, unsigned char _HUGE buf[], int *size));
  1405.  
  1406.  
  1407. /*
  1408. ** from vg.c
  1409. */
  1410. extern int vnewref
  1411.   PROTO((HFILEID f));
  1412.  
  1413. extern int VSelts
  1414.   PROTO((VDATA *vs));
  1415.  
  1416. extern int VSgetinterlace
  1417.   PROTO((VDATA *vs));
  1418.  
  1419. extern int VSsetinterlace
  1420.   PROTO((VDATA *vs, int interlace));
  1421.  
  1422. extern int VSgetfields
  1423.   PROTO((VDATA *vs, char *fields));
  1424.  
  1425. extern int VSfexist
  1426.   PROTO((VDATA *vs, char *fields));
  1427.  
  1428. extern int VSsizeof
  1429.   PROTO((VDATA *vs, char *fields));
  1430.  
  1431. extern int matchnocase
  1432.   PROTO((char *strx, char *stry));
  1433.  
  1434. extern void VSdump
  1435.   PROTO((VDATA *vs));
  1436.  
  1437. extern void VSsetname
  1438.   PROTO((VDATA *vs, char *vsname));
  1439.  
  1440. extern void VSsetclass
  1441.   PROTO((VDATA *vs, char *vsclass));
  1442.  
  1443. extern void VSgetname
  1444.   PROTO((VDATA *vs, char *vsname));
  1445.  
  1446. extern int32 VSgetversion
  1447.   PROTO((VDATA *vs));
  1448.  
  1449. extern void VSgetclass
  1450.   PROTO((VDATA *vs, char *vsclass));
  1451.  
  1452. extern int VSinquire
  1453.   PROTO((VDATA *vs,int *nelt, int *interlace, char *fields, int *eltsize,
  1454.     char *vsname));
  1455.  
  1456. extern int VSlone
  1457.   PROTO((HFILEID f, int idarray[], int asize));
  1458.  
  1459. extern int Vlone
  1460.   PROTO((HFILEID f, int idarray[], int asize));
  1461.  
  1462. extern int Vfind
  1463.   PROTO((HFILEID f, char *vgname));
  1464.  
  1465. extern int VSfind
  1466.   PROTO((HFILEID f, char *vsname));
  1467.  
  1468.  
  1469. /*
  1470. ** from vgp.c
  1471. */
  1472. extern void setjj
  1473.   PROTO((void));
  1474.  
  1475. extern void setnojj
  1476.   PROTO((void));
  1477.  
  1478. extern int Load_vfile
  1479.   PROTO((HFILEID f));
  1480.  
  1481. extern void Remove_vfile
  1482.   PROTO((HFILEID f));
  1483.  
  1484. extern vfile_t *Get_vfile
  1485.   PROTO((HFILEID f));
  1486.  
  1487. extern vginstance_t *vginstance
  1488.   PROTO((HFILEID f, int vgid));
  1489.  
  1490. extern int vshowvgdir
  1491.   PROTO((HFILEID  f, char *text));
  1492.  
  1493. extern int vexistvg
  1494.   PROTO((HFILEID f, int vgid));
  1495.  
  1496. extern void vpackvg
  1497.   PROTO((VGROUP *vg, unsigned char buf[], int *size));
  1498.  
  1499. extern void vunpackvg
  1500.   PROTO((VGROUP *vg, unsigned char buf[], int *size));
  1501.  
  1502. extern VGROUP *Vattach
  1503.   PROTO((HFILEID f, int vgid, char *accesstype));
  1504.  
  1505. extern void Vdetach
  1506.   PROTO((VGROUP *vg));
  1507.  
  1508. extern int Vinsert
  1509.   PROTO((VGROUP *vg, VDATA *velt)); /* 2nd arg can also be (VGROUP *) */
  1510.  
  1511. extern int Vflocate
  1512.   PROTO((VGROUP *vg, char *field));
  1513.  
  1514. extern int Vinqtagref
  1515.   PROTO((VGROUP *vg, int tag, int ref));
  1516.  
  1517. extern int Vntagrefs
  1518.   PROTO((VGROUP *vg));
  1519.  
  1520. extern int Vgettagrefs
  1521.   PROTO((VGROUP *vg, int tagarray[], int refarray[], int n));
  1522.  
  1523. extern int Vgettagref
  1524.   PROTO((VGROUP *vg, int which, int *tag, int *ref));
  1525.  
  1526. extern int Vaddtagref
  1527.   PROTO((VGROUP *vg, int tag, int ref));
  1528.  
  1529. extern int vinsertpair
  1530.   PROTO((VGROUP *vg, int tag, int ref));
  1531.  
  1532. extern int Ventries
  1533.   PROTO((HFILEID f, int vgid));
  1534.  
  1535. extern void Vsetname
  1536.   PROTO((VGROUP *vg, char *vgname));
  1537.  
  1538. extern void Vsetclass
  1539.   PROTO((VGROUP *vg, char *vgclass));
  1540.  
  1541. extern int Visvg
  1542.   PROTO((VGROUP *vg, int id));
  1543.  
  1544. extern int Vgetid
  1545.   PROTO((HFILEID f, int vgid);
  1546.  
  1547. extern int Vgetnext
  1548.   PROTO((VGROUP *vg, int id));
  1549.  
  1550. extern void Vgetname
  1551.   PROTO((VGROUP *vg, char *vgname));
  1552.  
  1553. extern void Vgetclass
  1554.   PROTO((VGROUP *vg, char *vgclass));
  1555.  
  1556. extern int Vinquire
  1557.   PROTO((VGROUP *vg, int *nentries, char *vgname));
  1558.  
  1559. extern void Vinitialize
  1560.   PROTO((HFILEID f));
  1561.  
  1562.  
  1563. extern HFILEID Vopen
  1564.   PROTO((char *path, intn access, int16 ndds));
  1565.  
  1566. extern intn Vclose
  1567.   PROTO((HFILEID f));
  1568.  
  1569.  
  1570. /*
  1571. ** from vparse.c
  1572. */
  1573. extern int scanattrs
  1574.   PROTO((char *attrs, int *attrc, char ***attrv));
  1575.  
  1576.  
  1577. /*
  1578. ** from vhi.c
  1579. */
  1580. extern int VHstoredata
  1581.   PROTO((HFILEID f, char *field, unsigned char buf[], int32 n, int datatype,
  1582.     char *vsname, char *vsclass));
  1583.  
  1584. extern int VHstoredatam
  1585.   PROTO((HFILEID f, char *field, unsigned char buf[], int32 n, intdatatype,
  1586.     char *vsname, char *vsclass, int order));
  1587.  
  1588. extern int VHmakegroup
  1589.   PROTO((HFILEID  f, int tagarray[], int refarray[], int n, char *vgname,
  1590.     char *vgclass));
  1591.  
  1592.  
  1593. /*
  1594. ** from vio.c
  1595. */
  1596. extern int vshowvsdir
  1597.   PROTO((HFILEID f, char *text));
  1598.  
  1599. extern void vshowvg
  1600.   PROTO((VGROUP *vg));
  1601.  
  1602. extern void vshowvs
  1603.   PROTO((VDATA *vs));
  1604.  
  1605. extern vsinstance_t * vsinstance
  1606.   PROTO((HFILEID f, int vsid));
  1607.  
  1608. extern intn DFvsetclose
  1609.   PROTO((HFILEID f));
  1610.  
  1611. extern HFILEID DFvsetopen
  1612.   PROTO((char *fname, int  access, int defDDs));
  1613.  
  1614. extern int vexistvs
  1615.   PROTO((HFILEID f, int vsid));
  1616.  
  1617. extern void vpackvs
  1618.   PROTO((VDATA *vs, unsigned char buf[], int *size));
  1619.  
  1620. extern void vunpackvs
  1621.   PROTO((VDATA *vs, unsigned char buf[], int *size));
  1622.  
  1623. extern VDATA * VSattach
  1624.   PROTO((HFILEID f, int vsid, char *accesstype));
  1625.  
  1626. extern void VSdetach
  1627.   PROTO((VDATA *vs));
  1628.  
  1629. extern int Visvs
  1630.   PROTO((VGROUP *vg, int id));
  1631.  
  1632. extern int VSgetid
  1633.   PROTO((HFILEID f, int vsid));
  1634.  
  1635. extern zerofill
  1636.   PROTO(VOIDP x, int n));
  1637.  
  1638.  
  1639. /*
  1640. ** from vsfld.c
  1641. */
  1642. extern int SIZEOF
  1643.   PROTO((int x));
  1644.  
  1645. extern int VSsetfields
  1646.   PROTO((VDATA *vs, char *fields));
  1647.  
  1648. extern int VSfdefine
  1649.   PROTO((VDATA *vs, char *field, int localtype, int order));
  1650.  
  1651.  
  1652.  
  1653. /*
  1654. ** from vrw.c
  1655. */
  1656. extern int VSseek
  1657.   PROTO((VDATA *vs, int32 eltpos));
  1658.  
  1659. extern int VSread
  1660.   PROTO((VDATA *vs, unsigned char *buf, int32 nelt, int interlace));
  1661.  
  1662. extern int VSwrite
  1663.   PROTO((VDATA *vs, unsigned char *buf, int32 nelt, int interlace));
  1664.  
  1665. #endif /* PERM_OUT */
  1666. #endif /* _H_PROTO */
  1667.