/* IBM_PROLOG_BEGIN_TAG                                                   */
/* This is an automatically generated prolog.                             */
/*                                                                        */
/* tcpip72Q src/tcpip/usr/include/dhcp_api.h 1.2.1.1                      */
/*                                                                        */
/* Licensed Materials - Property of IBM                                   */
/*                                                                        */
/* COPYRIGHT International Business Machines Corp. 1999,2019              */
/* All Rights Reserved                                                    */
/*                                                                        */
/* US Government Users Restricted Rights - Use, duplication or            */
/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
/*                                                                        */
/* IBM_PROLOG_END_TAG                                                     */
/* @(#)69	1.2.1.1  src/tcpip/usr/include/dhcp_api.h, dhcp, tcpip72Q, q2019_13A4 2/6/19 00:46:30 */

#ifndef _DHCP_API_H_
#define _DHCP_API_H_

#ifdef __cplusplus
extern "C" {
#endif

struct dhcpmessage
  {
          uint8_t         op;
          uint8_t         htype;
          uint8_t         hlen;
          uint8_t         hops;
          uint32_t        xid;
          uint16_t        secs;
          uint16_t        flags;
          uint32_t        ciaddr;
          uint32_t        yiaddr;
          uint32_t        siaddr;
          uint32_t        giaddr;
          uint8_t         chaddr[16];
          uint8_t         sname[64];
          uint8_t         file[128];
          uint8_t         options[1];
  };

struct dhcpoption
  {
          uint8_t         code;
          uint8_t         len;
          uint8_t         data[1];
  };

struct dhcpclientid
  {
          uint8_t         type;
          uint8_t         len;
          uint8_t         id[64];
  };


enum dhcplogseverity
  {
          dhcplog_syserr = 1 ,
          dhcplog_objerr ,
          dhcplog_protocol ,
          dhcplog_warning ,
          dhcplog_event ,
          dhcplog_action ,
          dhcplog_info ,
          dhcplog_accounting ,
          dhcplog_stats ,
          dhcplog_trace
  };

extern void dhcpapi_logmessage(enum dhcplogseverity s ,
                               char * ,
                               ... );

#ifdef __cplusplus
}
#endif

#endif /* _DHCP_API_H_ */