home *** CD-ROM | disk | FTP | other *** search
/ M.u.C.S. Disc 2000 / MUCS2000.iso / anwend / slectric / fsel_inp.h < prev    next >
C/C++ Source or Header  |  1996-11-28  |  3KB  |  66 lines

  1. /* ------------------------------------------------------------------------- */
  2. /* ----- fsel_inp.h ------------------------ (c) 1992 by Oliver Scheel ----- */
  3. /* ------------------------------------------------------------------------- */
  4.  
  5. #ifndef __FSELLIB__
  6. #define __FSELLIB__
  7.  
  8. #include <tos.h>
  9. #include <aes.h>
  10.  
  11. #define CMD_FILES_OUT    0x01        /* return filelist */
  12. #define CFG_ONESTRING    0x02        /* return list in one string */
  13. #define CFG_FIRSTNEXT    0x08
  14.  
  15. /* ------------------------------------------------------------------------- */
  16. /* ----- Selectric Structure ----------------------------------------------- */
  17. /* ------------------------------------------------------------------------- */
  18.  
  19. typedef struct
  20. {
  21.     unsigned long    id;        /* Selectric ID (SLCT)        */
  22.     unsigned int    version;    /* version (BCD-Format)        */
  23.     struct
  24.     {
  25.                 unsigned           : 7;    /* reserved                     */
  26.                 unsigned todaytime : 1;
  27.                 unsigned pthsav    : 1;    /* save GEMDOS paths            */
  28.                 unsigned stdest    : 1;    /* stay in destination path     */
  29.                 unsigned           : 1;    /* reserved                     */
  30.                 unsigned numsrt    : 1;    /* numsort                      */
  31.                 unsigned lower     : 1;    /* use lowercase letters        */
  32.                 unsigned dclick    : 1;    /* open folder on dclick        */
  33.                 unsigned hidden    : 1;    /* show hidden files            */
  34.                 unsigned bypass    : 1;    /* Selectric ON/OFF             */
  35.     } config;
  36.     int    sort;            /* sort-mode (neg. = rev.)    */
  37.     int    num_ext;        /* number of extensions        */
  38.     char    *(*ext)[];        /* preset extensions        */
  39.     int    num_paths;        /* number of paths        */
  40.     char    *(*paths)[];        /* preset paths            */
  41.     int    comm;            /* communication word        */
  42.     int    in_count;        /* input counter        */
  43.     void    *in_ptr;        /* input pointer        */
  44.     int    out_count;        /* output counter        */
  45.     void    *out_ptr;        /* output pointer        */
  46.     int    cdecl    (*get_first)(DTA *dta, int attrib);
  47.     int    cdecl     (*get_next)(DTA *dta);
  48.     int    cdecl    (*release_dir)(void);
  49. } SLCT_STR;
  50.  
  51. /* ------------------------------------------------------------------------- */
  52.  
  53. extern SLCT_STR    *slct;
  54.  
  55. long *get_cookie(long cookie);
  56. int fsel_check(void);
  57. int slct_check(unsigned int version);
  58. int file_select(char *pfname, char *pname, char *fname, const char *ext, char *title);
  59. int slct_extpath(int ext_num, char *(*ext)[], int path_num, char *(*paths)[]);
  60. int slct_morenames(int mode, int num, void *str);
  61. int slct_first(DTA *mydta, int attr);
  62. int slct_next(DTA *mydta);
  63. int slct_release(void);
  64.  
  65. #endif
  66.