home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / e / extralib / !ExtrasLib / h / Freeway < prev    next >
Text File  |  1996-03-03  |  2KB  |  60 lines

  1. /* Freeway.h */
  2.  
  3. /* ExtrasLib by Peter Hartley 1995-96
  4.  * (K) All Rites Reversed - Copy What You Like
  5.  */
  6.  
  7. typedef enum {
  8.     freewaytype_DISCS = 1,
  9.     freewaytype_PRINTERS = 2,
  10.     freewaytype_SHAREFS = 5
  11. } freeway_type;
  12.  
  13. typedef struct {
  14.     char         name[20]; /* zero-terminated */
  15.     int          desclen;
  16.     char         descriptor[256];
  17.     unsigned int address;
  18. } freeway_entity;
  19.  
  20. /*
  21.  * Register or deregister interest in a FW type
  22.  *      Freeway_Register BIC's the flags with 1
  23.  *      Freeway_Deregister OR's them with 1
  24.  */
  25. os_error *Freeway_Register( unsigned int flags, freeway_type type );
  26. os_error *Freeway_Deregister( unsigned int flags, freeway_type type );
  27.  
  28. /*
  29.  * Add and remove local FW objects from the database
  30.  *      Freeway_Add BIC's the flags with 1
  31.  *      Freeway_Remove OR's them with 1
  32.  *  The address field in the entity is ignored.
  33.  */
  34. os_error *Freeway_Add( unsigned int flags, freeway_type type,
  35.                        freeway_entity *entity );
  36. os_error *Freeway_Remove( unsigned int flags, freeway_type type,
  37.                           freeway_entity *entity );
  38.  
  39. /*
  40.  * Read information about a named object
  41.  * On entry, only the name field in the entity should be present
  42.  * On exit, all fields are filled in
  43.  */
  44. os_error *Freeway_Read( unsigned int flags, freeway_type type,
  45.                         freeway_entity *entity );
  46.  
  47.  
  48. /*
  49.  * Enumerate all currently-known objects of a given type.
  50.  * Use as:
  51.  *      int next = 0;
  52.  *      do {
  53.  *          per( Freeway_Enumerate( 0, type, &entity, &next ) );
  54.  *          if ( next >= 0 )
  55.  *              |* process entity *|
  56.  *      } while ( next >= 0 );
  57.  */
  58. os_error *Freeway_Enumerate( unsigned int flags, freeway_type type,
  59.                              freeway_entity *entity, int *next );
  60.