summaryrefslogtreecommitdiff
path: root/networking/ifupdown.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/ifupdown.c')
-rw-r--r--networking/ifupdown.c156
1 files changed, 78 insertions, 78 deletions
diff --git a/networking/ifupdown.c b/networking/ifupdown.c
index 301ef67..3e18df1 100644
--- a/networking/ifupdown.c
+++ b/networking/ifupdown.c
@@ -44,25 +44,25 @@
#define IFUPDOWN_VERSION "0.6.4"
-typedef struct interface_defn interface_defn;
+typedef struct interface_defn_s interface_defn_t;
typedef int (execfn)(char *command);
-typedef int (command_set)(interface_defn *ifd, execfn *e);
+typedef int (command_set)(interface_defn_t *ifd, execfn *e);
-typedef struct method {
+typedef struct method_s {
char *name;
command_set *up;
command_set *down;
-} method;
+} method_t;
-typedef struct address_family {
+typedef struct address_family_s {
char *name;
int n_methods;
- method *method;
-} address_family;
+ method_t *method;
+} address_family_t;
-typedef struct mapping_defn {
- struct mapping_defn *next;
+typedef struct mapping_defn_s {
+ struct mapping_defn_s *next;
int max_matches;
int n_matches;
@@ -73,35 +73,35 @@ typedef struct mapping_defn {
int max_mappings;
int n_mappings;
char **mapping;
-} mapping_defn;
+} mapping_defn_t;
-typedef struct variable {
+typedef struct variable_s {
char *name;
char *value;
-} variable;
+} variable_t;
-struct interface_defn {
- struct interface_defn *next;
+struct interface_defn_s {
+ struct interface_defn_s *next;
char *iface;
- address_family *address_family;
- method *method;
+ address_family_t *address_family;
+ method_t *method;
int automatic;
int max_options;
int n_options;
- variable *option;
+ variable_t *option;
};
-typedef struct interfaces_file {
+typedef struct interfaces_file_s {
int max_autointerfaces;
int n_autointerfaces;
char **autointerfaces;
- interface_defn *ifaces;
- mapping_defn *mappings;
-} interfaces_file;
+ interface_defn_t *ifaces;
+ mapping_defn_t *mappings;
+} interfaces_file_t;
#define MAX_OPT_DEPTH 10
#define EUNBALBRACK 10001
@@ -141,7 +141,7 @@ static int strncmpz(char *l, char *r, size_t llen)
}
}
-static char *get_var(char *id, size_t idlen, interface_defn *ifd)
+static char *get_var(char *id, size_t idlen, interface_defn_t *ifd)
{
int i;
@@ -158,7 +158,7 @@ static char *get_var(char *id, size_t idlen, interface_defn *ifd)
return(NULL);
}
-static char *parse(char *command, interface_defn *ifd)
+static char *parse(char *command, interface_defn_t *ifd)
{
char *result = NULL;
@@ -249,7 +249,7 @@ static char *parse(char *command, interface_defn *ifd)
return(result);
}
-static int execute(char *command, interface_defn *ifd, execfn *exec)
+static int execute(char *command, interface_defn_t *ifd, execfn *exec)
{
char *out;
int ret;
@@ -266,7 +266,7 @@ static int execute(char *command, interface_defn *ifd, execfn *exec)
}
#ifdef CONFIG_FEATURE_IFUPDOWN_IPX
-static int static_up_ipx(interface_defn *ifd, execfn *exec)
+static int static_up_ipx(interface_defn_t *ifd, execfn *exec)
{
if (!execute("ipx_interface add %iface% %frame% %netnum%", ifd, exec)) {
return(0);
@@ -274,7 +274,7 @@ static int static_up_ipx(interface_defn *ifd, execfn *exec)
return(1);
}
-static int static_down_ipx(interface_defn *ifd, execfn *exec)
+static int static_down_ipx(interface_defn_t *ifd, execfn *exec)
{
if (!execute("ipx_interface del %iface% %frame%", ifd, exec)) {
return(0);
@@ -282,7 +282,7 @@ static int static_down_ipx(interface_defn *ifd, execfn *exec)
return(1);
}
-static int dynamic_up(interface_defn *ifd, execfn *exec)
+static int dynamic_up(interface_defn_t *ifd, execfn *exec)
{
if (!execute("ipx_interface add %iface% %frame%", ifd, exec)) {
return(0);
@@ -290,7 +290,7 @@ static int dynamic_up(interface_defn *ifd, execfn *exec)
return(1);
}
-static int dynamic_down(interface_defn *ifd, execfn *exec)
+static int dynamic_down(interface_defn_t *ifd, execfn *exec)
{
if (!execute("ipx_interface del %iface% %frame%", ifd, exec)) {
return(0);
@@ -298,20 +298,20 @@ static int dynamic_down(interface_defn *ifd, execfn *exec)
return(1);
}
-static method methods_ipx[] = {
+static method_t methods_ipx[] = {
{ "dynamic", dynamic_up, dynamic_down, },
{ "static", static_up_ipx, static_down_ipx, },
};
-address_family addr_ipx = {
+address_family_t addr_ipx = {
"ipx",
- sizeof(methods_ipx) / sizeof(struct method),
+ sizeof(methods_ipx) / sizeof(method_t),
methods_ipx
};
#endif /* IFUP_FEATURE_IPX */
#ifdef CONFIG_FEATURE_IFUPDOWN_IPV6
-static int loopback_up6(interface_defn *ifd, execfn *exec)
+static int loopback_up6(interface_defn_t *ifd, execfn *exec)
{
if (!execute("ifconfig %iface% add ::1", ifd, exec)) {
return(0);
@@ -319,7 +319,7 @@ static int loopback_up6(interface_defn *ifd, execfn *exec)
return(1);
}
-static int loopback_down6(interface_defn *ifd, execfn *exec)
+static int loopback_down6(interface_defn_t *ifd, execfn *exec)
{
if (!execute("ifconfig %iface% del ::1", ifd, exec)) {
return(0);
@@ -327,7 +327,7 @@ static int loopback_down6(interface_defn *ifd, execfn *exec)
return(1);
}
-static int static_up6(interface_defn *ifd, execfn *exec)
+static int static_up6(interface_defn_t *ifd, execfn *exec)
{
if (!execute("ifconfig %iface% [[media %media%]] [[hw %hwaddress%]] [[mtu %mtu%]] up", ifd, exec)) {
return(0);
@@ -341,7 +341,7 @@ static int static_up6(interface_defn *ifd, execfn *exec)
return(1);
}
-static int static_down6(interface_defn *ifd, execfn *exec)
+static int static_down6(interface_defn_t *ifd, execfn *exec)
{
if (!execute("ifconfig %iface% down", ifd, exec)) {
return(0);
@@ -349,7 +349,7 @@ static int static_down6(interface_defn *ifd, execfn *exec)
return(1);
}
-static int v4tunnel_up(interface_defn *ifd, execfn *exec)
+static int v4tunnel_up(interface_defn_t *ifd, execfn *exec)
{
if (!execute("ip tunnel add %iface% mode sit remote %endpoint% [[local %local%]] [[ttl %ttl%]]", ifd, exec)) {
return(0);
@@ -366,7 +366,7 @@ static int v4tunnel_up(interface_defn *ifd, execfn *exec)
return(1);
}
-static int v4tunnel_down(interface_defn * ifd, execfn * exec)
+static int v4tunnel_down(interface_defn_t * ifd, execfn * exec)
{
if (!execute("ip tunnel del %iface%", ifd, exec)) {
return(0);
@@ -374,21 +374,21 @@ static int v4tunnel_down(interface_defn * ifd, execfn * exec)
return(1);
}
-static method methods6[] = {
+static method_t methods6[] = {
{ "v4tunnel", v4tunnel_up, v4tunnel_down, },
{ "static", static_up6, static_down6, },
{ "loopback", loopback_up6, loopback_down6, },
};
-address_family addr_inet6 = {
+address_family_t addr_inet6 = {
"inet6",
- sizeof(methods6) / sizeof(struct method),
+ sizeof(methods6) / sizeof(method_t),
methods6
};
#endif /* CONFIG_FEATURE_IFUPDOWN_IPV6 */
#ifdef CONFIG_FEATURE_IFUPDOWN_IPV4
-static int loopback_up(interface_defn *ifd, execfn *exec)
+static int loopback_up(interface_defn_t *ifd, execfn *exec)
{
if (!execute("ifconfig %iface% 127.0.0.1 up", ifd, exec)) {
return(0);
@@ -396,7 +396,7 @@ static int loopback_up(interface_defn *ifd, execfn *exec)
return(1);
}
-static int loopback_down(interface_defn *ifd, execfn *exec)
+static int loopback_down(interface_defn_t *ifd, execfn *exec)
{
if (!execute("ifconfig %iface% 127.0.0.1 down", ifd, exec)) {
return(0);
@@ -404,7 +404,7 @@ static int loopback_down(interface_defn *ifd, execfn *exec)
return(1);
}
-static int static_up(interface_defn *ifd, execfn *exec)
+static int static_up(interface_defn_t *ifd, execfn *exec)
{
if (!execute("ifconfig %iface% %address% netmask %netmask% [[broadcast %broadcast%]] [[pointopoint %pointopoint%]] [[media %media%]] [[mtu %mtu%]] [[hw %hwaddress%]] up",
ifd, exec)) {
@@ -416,7 +416,7 @@ static int static_up(interface_defn *ifd, execfn *exec)
return(1);
}
-static int static_down(interface_defn *ifd, execfn *exec)
+static int static_down(interface_defn_t *ifd, execfn *exec)
{
if (!execute("[[ route del default gw %gateway% %iface% ]]", ifd, exec)) {
return(0);
@@ -438,7 +438,7 @@ static int execable(char *program)
return(0);
}
-static int dhcp_up(interface_defn *ifd, execfn *exec)
+static int dhcp_up(interface_defn_t *ifd, execfn *exec)
{
if (execable("/sbin/dhclient")) {
if (!execute("dhclient -pf /var/run/dhclient.%iface%.pid %iface%", ifd, exec)) {
@@ -460,7 +460,7 @@ static int dhcp_up(interface_defn *ifd, execfn *exec)
return(1);
}
-static int dhcp_down(interface_defn *ifd, execfn *exec)
+static int dhcp_down(interface_defn_t *ifd, execfn *exec)
{
if (execable("/sbin/dhclient")) {
if (!execute("kill -9 `cat /var/run/udhcpc.%iface%.pid`", ifd, exec)) {
@@ -485,7 +485,7 @@ static int dhcp_down(interface_defn *ifd, execfn *exec)
return(1);
}
-static int bootp_up(interface_defn *ifd, execfn *exec)
+static int bootp_up(interface_defn_t *ifd, execfn *exec)
{
if (!execute("bootpc [[--bootfile %bootfile%]] --dev %iface% [[--server %server%]] [[--hwaddr %hwaddr%]] --returniffail --serverbcast", ifd, exec)) {
return 0;
@@ -493,7 +493,7 @@ static int bootp_up(interface_defn *ifd, execfn *exec)
return 1;
}
-static int bootp_down(interface_defn *ifd, execfn *exec)
+static int bootp_down(interface_defn_t *ifd, execfn *exec)
{
if (!execute("ifconfig down %iface%", ifd, exec)) {
return 0;
@@ -501,7 +501,7 @@ static int bootp_down(interface_defn *ifd, execfn *exec)
return 1;
}
-static int ppp_up(interface_defn *ifd, execfn *exec)
+static int ppp_up(interface_defn_t *ifd, execfn *exec)
{
if (!execute("pon [[%provider%]]", ifd, exec)) {
return 0;
@@ -509,7 +509,7 @@ static int ppp_up(interface_defn *ifd, execfn *exec)
return 1;
}
-static int ppp_down(interface_defn *ifd, execfn *exec)
+static int ppp_down(interface_defn_t *ifd, execfn *exec)
{
if (!execute("poff [[%provider%]]", ifd, exec)) {
return 0;
@@ -517,7 +517,7 @@ static int ppp_down(interface_defn *ifd, execfn *exec)
return 1;
}
-static int wvdial_up(interface_defn *ifd, execfn *exec)
+static int wvdial_up(interface_defn_t *ifd, execfn *exec)
{
if (!execute("/sbin/start-stop-daemon --start -x /usr/bin/wvdial -p /var/run/wvdial.%iface% -b -m -- [[ %provider% ]]", ifd, exec)) {
return 0;
@@ -525,7 +525,7 @@ static int wvdial_up(interface_defn *ifd, execfn *exec)
return 1;
}
-static int wvdial_down(interface_defn *ifd, execfn *exec)
+static int wvdial_down(interface_defn_t *ifd, execfn *exec)
{
if (!execute ("/sbin/start-stop-daemon --stop -x /usr/bin/wvdial -p /var/run/wvdial.%iface% -s 2", ifd, exec)) {
return 0;
@@ -533,7 +533,7 @@ static int wvdial_down(interface_defn *ifd, execfn *exec)
return 1;
}
-static method methods[] = {
+static method_t methods[] = {
{ "wvdial", wvdial_up, wvdial_down, },
{ "ppp", ppp_up, ppp_down, },
{ "static", static_up, static_down, },
@@ -542,9 +542,9 @@ static method methods[] = {
{ "loopback", loopback_up, loopback_down, },
};
-address_family addr_inet = {
+address_family_t addr_inet = {
"inet",
- sizeof(methods) / sizeof(struct method),
+ sizeof(methods) / sizeof(method_t),
methods
};
@@ -573,7 +573,7 @@ static char *next_word(char *buf, char *word, int maxlen)
return buf;
}
-static address_family *get_address_family(address_family *af[], char *name)
+static address_family_t *get_address_family(address_family_t *af[], char *name)
{
int i;
@@ -585,7 +585,7 @@ static address_family *get_address_family(address_family *af[], char *name)
return NULL;
}
-static method *get_method(address_family *af, char *name)
+static method_t *get_method(address_family_t *af, char *name)
{
int i;
@@ -597,7 +597,7 @@ static method *get_method(address_family *af, char *name)
return(NULL);
}
-static int duplicate_if(interface_defn *ifa, interface_defn *ifb)
+static int duplicate_if(interface_defn_t *ifa, interface_defn_t *ifb)
{
if (strcmp(ifa->iface, ifb->iface) != 0) {
return(0);
@@ -608,12 +608,12 @@ static int duplicate_if(interface_defn *ifa, interface_defn *ifb)
return(1);
}
-static interfaces_file *read_interfaces(char *filename)
+static interfaces_file_t *read_interfaces(char *filename)
{
- interface_defn *currif = NULL;
- interfaces_file *defn;
+ interface_defn_t *currif = NULL;
+ interfaces_file_t *defn;
#ifdef CONFIG_FEATURE_IFUPDOWN_MAPPING
- mapping_defn *currmap = NULL;
+ mapping_defn_t *currmap = NULL;
#endif
FILE *f;
char firstword[80];
@@ -623,7 +623,7 @@ static interfaces_file *read_interfaces(char *filename)
enum { NONE, IFACE, MAPPING } currently_processing = NONE;
- defn = xmalloc(sizeof(interfaces_file));
+ defn = xmalloc(sizeof(interfaces_file_t));
defn->max_autointerfaces = defn->n_autointerfaces = 0;
defn->autointerfaces = NULL;
defn->mappings = NULL;
@@ -653,7 +653,7 @@ static interfaces_file *read_interfaces(char *filename)
if (strcmp(firstword, "mapping") == 0) {
#ifdef CONFIG_FEATURE_IFUPDOWN_MAPPING
- currmap = xmalloc(sizeof(mapping_defn));
+ currmap = xmalloc(sizeof(mapping_defn_t));
currmap->max_matches = 0;
currmap->n_matches = 0;
currmap->match = NULL;
@@ -671,7 +671,7 @@ static interfaces_file *read_interfaces(char *filename)
currmap->mapping = NULL;
currmap->script = NULL;
{
- mapping_defn **where = &defn->mappings;
+ mapping_defn_t **where = &defn->mappings;
while (*where != NULL) {
where = &(*where)->next;
}
@@ -685,7 +685,7 @@ static interfaces_file *read_interfaces(char *filename)
char iface_name[80];
char address_family_name[80];
char method_name[80];
- address_family *addr_fams[] = {
+ address_family_t *addr_fams[] = {
#ifdef CONFIG_FEATURE_IFUPDOWN_IPV4
&addr_inet,
#endif
@@ -698,7 +698,7 @@ static interfaces_file *read_interfaces(char *filename)
NULL
};
- currif = xmalloc(sizeof(interface_defn));
+ currif = xmalloc(sizeof(interface_defn_t));
rest = next_word(rest, iface_name, 80);
rest = next_word(rest, address_family_name, 80);
@@ -735,7 +735,7 @@ static interfaces_file *read_interfaces(char *filename)
{
- interface_defn **where = &defn->ifaces;
+ interface_defn_t **where = &defn->ifaces;
while (*where != NULL) {
if (duplicate_if(*where, currif)) {
@@ -798,7 +798,7 @@ static interfaces_file *read_interfaces(char *filename)
}
}
if (currif->n_options >= currif->max_options) {
- variable *opt;
+ variable_t *opt;
currif->max_options = currif->max_options + 10;
opt = xrealloc(currif->option, sizeof(*opt) * currif->max_options);
@@ -885,7 +885,7 @@ static char *setlocalenv(char *format, char *name, char *value)
return result;
}
-static void set_environ(interface_defn *iface, char *mode)
+static void set_environ(interface_defn_t *iface, char *mode)
{
char **environend;
int i;
@@ -953,7 +953,7 @@ static int doit(char *str)
return (1);
}
-static int execute_all(interface_defn *ifd, execfn *exec, const char *opt)
+static int execute_all(interface_defn_t *ifd, execfn *exec, const char *opt)
{
int i;
char *buf;
@@ -973,7 +973,7 @@ static int execute_all(interface_defn *ifd, execfn *exec, const char *opt)
return (1);
}
-static int iface_up(interface_defn *iface)
+static int iface_up(interface_defn_t *iface)
{
if (!iface->method->up(iface, check)) {
return (-1);
@@ -993,7 +993,7 @@ static int iface_up(interface_defn *iface)
return (1);
}
-static int iface_down(interface_defn *iface)
+static int iface_down(interface_defn_t *iface)
{
if (!iface->method->down(iface, check)) {
return (-1);
@@ -1065,7 +1065,7 @@ static int popen2(FILE **in, FILE **out, char *command, ...)
/* unreached */
}
-static int run_mapping(char *physical, char *logical, int len, mapping_defn * map)
+static int run_mapping(char *physical, char *logical, int len, mapping_defn_t * map)
{
FILE *in, *out;
int i, status;
@@ -1122,8 +1122,8 @@ static void add_to_state(char ***ifaces, int *n_ifaces, int *max_ifaces, char *n
extern int ifupdown_main(int argc, char **argv)
{
- int (*cmds) (interface_defn *) = NULL;
- interfaces_file *defn;
+ int (*cmds) (interface_defn_t *) = NULL;
+ interfaces_file_t *defn;
FILE *state_fp = NULL;
char **target_iface = NULL;
char **state = NULL; /* list of iface=liface */
@@ -1226,7 +1226,7 @@ extern int ifupdown_main(int argc, char **argv)
for (i = 0; i < n_target_ifaces; i++) {
- interface_defn *currif;
+ interface_defn_t *currif;
char iface[80];
char liface[80];
char *pch;
@@ -1264,7 +1264,7 @@ extern int ifupdown_main(int argc, char **argv)
}
#ifdef CONFIG_FEATURE_IFUPDOWN_MAPPING
if ((cmds == iface_up) && run_mappings) {
- mapping_defn *currmap;
+ mapping_defn_t *currmap;
for (currmap = defn->mappings; currmap; currmap = currmap->next) {