Annotation of qemu/roms/SLOF/clients/net-snk/app/netlib/dhcp.h, revision 1.1.1.1

1.1       root        1: /******************************************************************************
                      2:  * Copyright (c) 2004, 2008 IBM Corporation
                      3:  * All rights reserved.
                      4:  * This program and the accompanying materials
                      5:  * are made available under the terms of the BSD License
                      6:  * which accompanies this distribution, and is available at
                      7:  * http://www.opensource.org/licenses/bsd-license.php
                      8:  *
                      9:  * Contributors:
                     10:  *     IBM Corporation - initial implementation
                     11:  *****************************************************************************/
                     12: 
                     13: #ifndef _DHCP_H_
                     14: #define _DHCP_H_
                     15: 
                     16: #include <types.h>
                     17: 
                     18: #ifdef USE_MTFTP
                     19: #include <netlib/mtftp.h>
                     20: #else
                     21: #include <netlib/tftp.h>
                     22: #endif
                     23: 
                     24: /** \struct btphdr
                     25:  *  A header for BootP/DHCP-messages.
                     26:  *  For more information see RFC 951 / RFC 2131.
                     27:  */
                     28: struct btphdr {
                     29:        uint8_t op;          /**< Identifies is it request (1) or reply (2)    */
                     30:        uint8_t htype;       /**< HW address type (ethernet usually)           */
                     31:        uint8_t hlen;        /**< HW address length                            */
                     32:        uint8_t hops;        /**< This info used by relay agents (not used)    */
                     33:        uint32_t xid;        /**< This ID is used to match queries and replies */
                     34:        uint16_t secs;       /**< Unused                                       */
                     35:        uint16_t unused;     /**< Unused                                       */
                     36:        uint32_t ciaddr;     /**< Client IP address (if client knows it)       */
                     37:        uint32_t yiaddr;     /**< "Your" (client) IP address                   */
                     38:        uint32_t siaddr;     /**< Next server IP address (TFTP server IP)      */
                     39:        uint32_t giaddr;     /**< Gateway IP address (used by relay agents)    */
                     40:        uint8_t chaddr[16];  /**< Client HW address                            */
                     41:        uint8_t sname[64];   /**< Server host name (TFTP server name)          */
                     42:        uint8_t file[128];   /**< Boot file name                               */
                     43:        uint8_t vend[64];    /**< Optional parameters field (DHCP-options)     */
                     44: };
                     45: 
                     46: int bootp(char *ret_buffer, filename_ip_t *, unsigned int);
                     47: int dhcp(char *ret_buffer, filename_ip_t *, unsigned int);
                     48: void dhcp_send_release(void);
                     49: 
                     50: /* Handles DHCP-packets, which are detected by receive_ether. */
                     51: extern int8_t handle_dhcp(uint8_t * packet, int32_t packetsize);
                     52: 
                     53: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.