42 int main (
int,
char **);
46 static void usage (
char *s) {
48 "Usage: %s [-n <username>] [-p <password>] [-a <algorithm>]"
49 "(-u | -d) <if>\n", s);
57 isc_result_t status, waitstatus;
64 const char *
interface = 0;
67 for (i = 1; i < argc; i++) {
68 if (!strcmp (argv[i],
"-u")) {
70 }
else if (!strcmp (argv [i],
"-d")) {
72 }
else if (argv[i][0] ==
'-') {
85 if (status != ISC_R_SUCCESS) {
86 fprintf (stderr,
"dhcpctl_initialize: %s\n",
87 isc_result_totext (status));
96 if (status != ISC_R_SUCCESS) {
97 fprintf (stderr,
"dhcpctl_connect: %s\n",
98 isc_result_totext (status));
104 connection,
"interface");
105 if (status != ISC_R_SUCCESS) {
106 fprintf (stderr,
"dhcpctl_new_object: %s\n",
107 isc_result_totext (status));
113 if (status != ISC_R_SUCCESS) {
114 fprintf (stderr,
"dhcpctl_set_value: %s\n",
115 isc_result_totext (status));
121 printf (
"upping interface %s\n", interface);
125 if (status != ISC_R_SUCCESS) {
126 fprintf (stderr,
"dhcpctl_open_object: %s\n",
127 isc_result_totext (status));
132 printf (
"downing interface %s\n", interface);
135 if (status != ISC_R_SUCCESS) {
136 fprintf (stderr,
"dhcpctl_open_object: %s\n",
137 isc_result_totext (status));
142 if (status != ISC_R_SUCCESS) {
143 fprintf (stderr,
"dhcpctl_wait_for_completion: %s\n",
144 isc_result_totext (status));
147 if (waitstatus != ISC_R_SUCCESS) {
148 fprintf (stderr,
"dhcpctl_wait_for_completion: %s\n",
149 isc_result_totext (waitstatus));
153 if (status != ISC_R_SUCCESS) {
154 fprintf (stderr,
"dhcpctl_open_object: %s\n",
155 isc_result_totext (status));
161 if (status != ISC_R_SUCCESS) {
162 fprintf (stderr,
"dhcpctl_wait_for_completion: %s\n",
163 isc_result_totext (status));
166 if (waitstatus != ISC_R_SUCCESS) {
167 fprintf (stderr,
"interface object %s: %s\n", action,
168 isc_result_totext (waitstatus));
172 memset (&result, 0,
sizeof result);
174 if (status != ISC_R_SUCCESS) {
175 fprintf (stderr,
"dhcpctl_get_value: %s\n",
176 isc_result_totext (status));
dhcpctl_status dhcpctl_get_value(dhcpctl_data_string *result, dhcpctl_handle h, const char *value_name)
dhcpctl_status dhcpctl_connect(dhcpctl_handle *connection, const char *server_name, int port, dhcpctl_handle authinfo)
dhcpctl_status dhcpctl_new_object(dhcpctl_handle *, dhcpctl_handle, const char *)
dhcpctl_status dhcpctl_open_object(dhcpctl_handle, dhcpctl_handle, int)
dhcpctl_status dhcpctl_initialize()
dhcpctl_status dhcpctl_wait_for_completion(dhcpctl_handle h, dhcpctl_status *s)
#define dhcpctl_null_handle
dhcpctl_status dhcpctl_object_remove(dhcpctl_handle connection, dhcpctl_handle h)
dhcpctl_status dhcpctl_set_string_value(dhcpctl_handle h, const char *value, const char *value_name)