X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=package%2Fswconfig%2Fsrc%2Fswlib.h;h=b3c6769de19831711cae92090f8c6aeb64c4b89e;hb=b0621493f90830d49c24a33b557e230267531e3d;hp=e00ff47a51d3d943eefc1202c074d6cf93411fe0;hpb=a662d5b130a558956875dbe259c551b632abb0f4;p=openwrt-10.03%2F.git diff --git a/package/swconfig/src/swlib.h b/package/swconfig/src/swlib.h index e00ff47a5..b3c6769de 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,6 +110,7 @@ struct switch_dev; struct switch_attr; struct switch_port; struct switch_val; +struct uci_package; struct switch_dev { int id; @@ -199,6 +200,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 +222,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