Annotation of qemu/roms/SLOF/clients/net-snk/app/netlib/dhcp.h, revision 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.