blob: 80c3fc2f8e71cd8e2d67df7fecd5bfff2fc1db4d [file] [log] [blame]
Russ Dill61fb4892002-10-14 21:41:28 +00001/* dhcpc.h */
2#ifndef _DHCPC_H
3#define _DHCPC_H
4
"Vladimir N. Oleynik"b6284092005-09-23 11:25:29 +00005#ifndef DEFAULT_SCRIPT
Russ Dill4e864a32003-12-18 22:25:38 +00006#define DEFAULT_SCRIPT "/usr/share/udhcpc/default.script"
"Vladimir N. Oleynik"b6284092005-09-23 11:25:29 +00007#endif
Russ Dill4e864a32003-12-18 22:25:38 +00008
Russ Dill61fb4892002-10-14 21:41:28 +00009#define INIT_SELECTING 0
10#define REQUESTING 1
11#define BOUND 2
12#define RENEWING 3
13#define REBINDING 4
14#define INIT_REBOOT 5
15#define RENEW_REQUESTED 6
16#define RELEASED 7
17
18
19struct client_config_t {
20 char foreground; /* Do not fork */
21 char quit_after_lease; /* Quit after obtaining lease */
22 char abort_if_no_lease; /* Abort if no lease */
23 char background_if_no_lease; /* Fork to background if no lease */
24 char *interface; /* The name of the interface to use */
25 char *pidfile; /* Optionally store the process ID */
26 char *script; /* User script to run at dhcp events */
Eric Andersenad953732004-01-30 23:45:53 +000027 uint8_t *clientid; /* Optional client id to use */
Paul Fox28de9512005-09-22 18:59:13 +000028 uint8_t *vendorclass; /* Optional vendor class-id to use */
Eric Andersenad953732004-01-30 23:45:53 +000029 uint8_t *hostname; /* Optional hostname to use */
Mike Frysingerd8248532004-12-06 14:59:45 +000030 uint8_t *fqdn; /* Optional fully qualified domain name to use */
Russ Dill61fb4892002-10-14 21:41:28 +000031 int ifindex; /* Index number of the interface to use */
Rob Landleyea6360e2006-02-21 03:12:15 +000032 int retries; /* Max number of request packets */
Eric Andersen28a6afe2006-03-20 17:37:00 +000033 int timeout; /* Number of seconds to try to get a lease */
Eric Andersenad953732004-01-30 23:45:53 +000034 uint8_t arp[6]; /* Our arp address */
Russ Dill61fb4892002-10-14 21:41:28 +000035};
36
37extern struct client_config_t client_config;
38
39
40#endif