X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/a662d5b130a558956875dbe259c551b632abb0f4..df5c1e6f54ed167ec4b2298f70ac9beb100065ca:/package/swconfig/src/swlib.h diff --git a/package/swconfig/src/swlib.h b/package/swconfig/src/swlib.h index e00ff47a5..ff73969c8 100644 --- a/package/swconfig/src/swlib.h +++ b/package/swconfig/src/swlib.h @@ -1,7 +1,7 @@ /* * swlib.h: Switch configuration API (user space part) * - * Copyright (C) 2008 Felix Fietkau + * Copyright (C) 2008-2009 Felix Fietkau * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -110,13 +110,16 @@ struct switch_dev; struct switch_attr; struct switch_port; struct switch_val; +struct uci_package; struct switch_dev { int id; + char dev_name[IFNAMSIZ]; const char *name; - const char *dev_name; + const char *alias; int ports; int vlans; + int cpu_port; struct switch_attr *ops; struct switch_attr *port_ops; struct switch_attr *vlan_ops; @@ -199,6 +202,17 @@ struct switch_attr *swlib_lookup_attr(struct switch_dev *dev, int swlib_set_attr(struct switch_dev *dev, struct switch_attr *attr, struct switch_val *val); +/** + * swlib_set_attr_string: set the value for an attribute with type conversion + * @dev: switch device struct + * @attr: switch attribute struct + * @port_vlan: port or vlan (if applicable) + * @str: string value + * returns 0 on success + */ +int swlib_set_attr_string(struct switch_dev *dev, struct switch_attr *attr, + int port_vlan, const char *str); + /** * swlib_get_attr: get the value for an attribute * @dev: switch device struct @@ -210,4 +224,11 @@ int swlib_set_attr(struct switch_dev *dev, struct switch_attr *attr, int swlib_get_attr(struct switch_dev *dev, struct switch_attr *attr, struct switch_val *val); +/** + * swlib_apply_from_uci: set up the switch from a uci configuration + * @dev: switch device struct + * @p: uci package which contains the desired global config + */ +int swlib_apply_from_uci(struct switch_dev *dev, struct uci_package *p); + #endif