blob: 808e919244134fca652a88d993238659e3fe98a2 [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 Andersenad953732004-01-30 23:45:53 +000033 uint8_t arp[6]; /* Our arp address */
Russ Dill61fb4892002-10-14 21:41:28 +000034};
35
36extern struct client_config_t client_config;
37
38
39#endif