home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / devcon / milan_1991 / devcon91.2 / network / socket / examples / client.h next >
C/C++ Source or Header  |  1992-09-01  |  1KB  |  41 lines

  1. /*  Defines for our ReadArgs() interface  */
  2. #define TEMPLATE     "From/A,To/A"
  3. #define OPT_FROM    0
  4. #define OPT_TO        1
  5. #define OPT_COUNT    2
  6.  
  7.  
  8. /*
  9. **  Create a new type which holds either a file handle or a socket and
  10. **  a tag indicating which it is holding.  Credit goes to the Harbison & Steel
  11. **  chapter on "Using Union Types" ("C:A Reference Manual" pg. 110-112 of the
  12. **  second edition or pg. 131 of the third edition) for their neat way of
  13. **  doing this.
  14. */
  15. enum myfile_tag
  16. {
  17.     dos_myfile,
  18.     socket_myfile
  19. };
  20. struct MY_FILE
  21. {
  22.     enum myfile_tag tag;
  23.     union
  24.     {
  25.         BPTR file;
  26.         int  socket;
  27.     } data;
  28. };
  29. typedef struct MY_FILE my_file;
  30.  
  31.  
  32. /*  Function prototypes for ncopy client functions in transfer.c  */
  33. my_file *my_open(char *filename, int mode);
  34. int parse(char *string, char **host, char **file);
  35. void my_close(my_file *file);
  36. int my_read(my_file *file, char *buffer, int length);
  37. int my_write(my_file *file, char *buffer, int length);
  38.  
  39. /*  Function prototypes for ncopy client functions in ncopy.c:  */
  40. void handle_request(int s);
  41.