|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* libdhcp_control.h
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
*
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* DHCP client control API for libdhcp, a minimal interface to the
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* ISC dhcp IPv4 client libdhcp4client library,
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* and to the dhcpv6 DHCPv6 client libdhcp6client library.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
*
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* Each DHCP client library must include this file to be controlled
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* by libdhcp.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
*
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* Copyright(C) Jason Vas Dias <jvdias@redhat.com> Red Hat Inc. May 2006
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
*
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* This program is free software; you can redistribute it and/or modify
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* it under the terms of the GNU General Public License as published by
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* the Free Software Foundation at
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* http://www.fsf.org/licensing/licenses/gpl.txt
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* and included in this software distribution as the "LICENSE" file.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
*
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* This program is distributed in the hope that it will be useful,
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* GNU General Public License for more details.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
*/
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
#ifndef LIBDHCP_CONTROL_H
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
#define LIBDHCP_CONTROL_H
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
#include <stdint.h>
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
#define LOG_FATAL 8
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
typedef enum dhcp_state_e {
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* DHCPv4 client states
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* third callback arg will be a 'struct client_state *'
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
*/
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHC4_NBI, /* failed: no broadcast interfaces found */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHC4_PREINIT, /* configuration started - bring the interface "UP" */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHC4_BOUND, /* lease obtained */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHC4_RENEW, /* lease renewed */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHC4_REBOOT, /* have valid lease, but now obtained a different one */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHC4_REBIND, /* new, different lease */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHC4_STOP, /* remove old lease */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHC4_MEDIUM, /* media selection begun */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHC4_TIMEOUT, /* timed out contacting DHCP server */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHC4_FAIL, /* all attempts to contact server timed out, sleeping */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHC4_EXPIRE, /* lease has expired, renewing */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHC4_RELEASE, /* releasing lease */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* This state raised by both clients: */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHC_TIMEDOUT, /* libdhcp_control timeout has been exceeded */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* DHCPv6 client states: */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHC6_BOUND, /* new lease obtained - arg is optinfo * */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHC6_REBIND, /* existing expired lease rebound - arg is optinfo * */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHC6_RELEASE /* existing lease expired - arg is dhcp6_iaidaddr*/
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
} DHCP_State;
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
struct libdhcp_control_s;
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* ala syslog(3): LOG_EMERG=0 - LOG_DEBUG=7 (+ LOG_FATAL=8 : finished -> 1) */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
typedef int (*LIBDHCP_Error_Handler) (struct libdhcp_control_s *ctl,
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
int priority, const char *fmt,
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
va_list ap);
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* The DHCP clients will call the users' callback on important state change
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* events, with the second arg set to the client DHCP_State, and the third
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* arg set to a client specific pointer as described below. */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
typedef int (*LIBDHCP_Callback) (struct libdhcp_control_s *control,
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
enum dhcp_state_e, void*);
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
typedef struct libdhcp_control_s {
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* the DHCP clients' main loop calls this on state changes */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
LIBDHCP_Callback callback;
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* LIBDHCP_Capability bits to enable */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
uint16_t capability;
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* set to one to make clients exit their main loop */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
uint8_t finished;
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* set to one to decline the lease (DHCPv4 only) */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
uint8_t decline;
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* (timeout+now) == time after which clients MUST return */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
time_t timeout;
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* clients set this to time(0) on entering main loop */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
time_t now;
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* user data pointer */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
void *arg;
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
LIBDHCP_Error_Handler eh;
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
} LIBDHCP_Control;
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* DHCP client "capabilities" */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
typedef enum libdhcp_capability_e {
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* use / do not use persistent lease database files */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHCP_USE_LEASE_DATABASE = 1,
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* use / do not use pid file */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHCP_USE_PID_FILE = 2,
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/*
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* DHCPv6 supports these capabilities in process,
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* while the DHCPv4 client will fork and exec the dhclient-script to
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* implement them if these bits are set - otherwise, if no bits are set,
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
* the callback is called and the script is not run.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
*/
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* configure interfaces UP/DOWN as required */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHCP_CONFIGURE_INTERFACES = 4,
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* configure interface addresses as required */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHCP_CONFIGURE_ADDRESSES = 8,
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* configure routes as required */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHCP_CONFIGURE_ROUTES = 16,
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* configure resolv.conf as required */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHCP_CONFIGURE_RESOLVER = 32,
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* DHCPv6 only: */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
/* configure radvd.conf & restart radvd as required */
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
DHCP_CONFIGURE_RADVD = 64,
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
} LIBDHCP_Capability;
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
3b727ca |
#endif
|