home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 3 / Meeting_Pearls_III.iso / Pearls / texmf / source / driver / util / amiga / EVPaths.h < prev    next >
C/C++ Source or Header  |  1994-11-09  |  2KB  |  46 lines

  1. /*
  2.  * EVPaths.h - Header for EVPaths Routines
  3.  *
  4.  * © 1994 by Giuseppe Ghibò
  5.  *
  6.  * Version 1.2 (09-Nov-94)
  7.  *
  8.  */
  9.  
  10. #include <exec/types.h>
  11.  
  12. struct EnvVarPath
  13. {
  14.     STRPTR name;
  15.  
  16.     union {
  17.         STRPTR *strings;
  18.         UBYTE *buffer;
  19.     } storage;
  20.  
  21.         STRPTR defpath;
  22.     LONG size;
  23.     LONG status;
  24.     LONG pos;
  25. };
  26.  
  27. /* Prototypes */
  28. GLOBAL LONG    __stdargs SNPrintf(STRPTR String, LONG Size, STRPTR FmtString, ...);
  29. GLOBAL LONG    __regargs GetVarLength(STRPTR envname);
  30.  
  31. GLOBAL struct EnvVarPath __regargs *Alloc_EnvVarPath(STRPTR varname, LONG size);
  32. GLOBAL VOID        __regargs Free_EnvVarPath(struct EnvVarPath *p);
  33. GLOBAL VOID        __regargs Init_EnvVarPath(struct EnvVarPath *p, APTR deflt_str, LONG mode);
  34. GLOBAL STRPTR        __regargs EVP_FileSearch(STRPTR filename, struct EnvVarPath *evp, UBYTE *buffer, LONG size);
  35.  
  36. #define ENVPATH_DEFSTR         (1L << 0)    /* default path provided as string */
  37. #define ENVPATH_DEFARR         (1L << 1)    /* default path provided as array of strings */
  38. #define ENVPATH_PREPEND_PATH    (1L << 31)    /* Prepend the default path */
  39. #define ENVPATH_APPEND_PATH    (1L << 30)    /* Append the default path */
  40.  
  41. #define ENVPATH_BUFFER_EMPTY        0L /* buffer is empty */
  42. #define ENVPATH_BUFFER_COMPLETE        1L /* buffer is complete, i.e. no more entries */
  43. #define ENVPATH_BUFFER_FULL        2L /* buffer is full, i.e. not enough room for other entries */
  44. #define ENVPATH_BUFFER_TRUNC        3L /* buffer is truncated because a not enough memory was encountered during processing */
  45. #define ENVPATH_BUFFER_INCOMPLETE    4L /* there could be other entries, but actually aren't into the buffer */
  46.