home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / telecomm / nhclb120 / bootp.h < prev    next >
C/C++ Source or Header  |  1993-09-26  |  2KB  |  77 lines

  1. /*************************************************/
  2. /* Center for Information Technology Integration */
  3. /*           The University of Michigan          */
  4. /*                    Ann Arbor                  */
  5. /*                                               */
  6. /* Dedicated to the public domain.               */
  7. /* Send questions to info@citi.umich.edu         */
  8. /*                                               */
  9. /* BOOTP is documented in RFC 951 and RFC 1048   */
  10. /*************************************************/
  11.  
  12. #ifndef BOOTREQUEST
  13.  
  14.  
  15. struct bootp {
  16.     char    op;            /* packet opcode type */
  17.     char    htype;            /* hardware addr type */
  18.     char    hlen;            /* hardware addr length */
  19.     char    hops;            /* gateway hops */
  20.     int32    xid;            /* transaction ID */
  21.     int16    secs;            /* seconds since boot began */
  22.     int16    unused;
  23.     int32    ciaddr;        /* client IP address */
  24.     int32    yiaddr;        /* 'your' IP address */
  25.     int32    siaddr;        /* server IP address */
  26.     int32    giaddr;        /* gateway IP address */
  27.     char    chaddr[16];        /* client hardware address */
  28.     char    sname[64];        /* server host name */
  29.     char    file[128];        /* boot file name */
  30.     char    vend[64];        /* vendor-specific area */
  31. };
  32.  
  33. /*
  34.  * UDP port numbers, server and client.
  35.  */
  36. #define    IPPORT_BOOTPS        67
  37. #define    IPPORT_BOOTPC        68
  38.  
  39. #define BOOTREQUEST        1
  40. #define BOOTREPLY        2
  41.  
  42. #define BOOTP_PAD        0
  43. #define BOOTP_SUBNET        1
  44. #define BOOTP_GATEWAY        3
  45. #define BOOTP_DNS        6
  46. #define BOOTP_HOSTNAME        12
  47. #define BOOTP_END        0xff
  48.  
  49. /*
  50.  * "vendor" data permitted for Stanford boot clients.
  51.  */
  52. struct vend {
  53.         unsigned char  v_magic[4];     /* magic number */
  54.         unsigned long  v_flags;        /* flags/opcodes, etc. */
  55.         unsigned char  v_unused[56];   /* currently unused */
  56. };
  57.  
  58. #define VM_STANFORD     "STAN"  /* v_magic for Stanford */
  59.  
  60. /* v_flags values */
  61. #define VF_PCBOOT       1       /* an IBMPC or Mac wants environment info */
  62. #define VF_HELP         2       /* help me, I'm not registered */
  63.  
  64. extern int WantBootp;
  65. extern char bp_ascii[];
  66.  
  67. #define __ARGS(x) x
  68. #ifndef ATARI_ST
  69. void bootp_print_packet __ARGS((struct bootp *bp));
  70. int bootp_validPacket __ARGS((struct ip *ip,struct mbuf **bpp));
  71. #else
  72. void bootp_print_packet();
  73. int bootp_validPacket(); 
  74. #endif /* atari_st */
  75. #endif
  76.  
  77.