X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fudev%2Fnet%2Fethtool-util.h;h=f44de5076a8b06dbb27679dd81dd6a04a19df2b6;hb=f8294e4175918117ca6c131720bcf287eadcd029;hp=74bbada6edd81fb6c94647cc3115b00ec0355b00;hpb=a501033335ed402c8f7e86fe41a15531ba69abd7;p=elogind.git
diff --git a/src/udev/net/ethtool-util.h b/src/udev/net/ethtool-util.h
index 74bbada6e..f44de5076 100644
--- a/src/udev/net/ethtool-util.h
+++ b/src/udev/net/ethtool-util.h
@@ -19,7 +19,38 @@
along with systemd; If not, see .
***/
+#pragma once
+
+#include
+
+/* we can't use DUPLEX_ prefix, as it
+ * clashes with */
+typedef enum Duplex {
+ DUP_FULL,
+ DUP_HALF,
+ _DUP_MAX,
+ _DUP_INVALID = -1
+} Duplex;
+
+typedef enum WakeOnLan {
+ WOL_PHY,
+ WOL_MAGIC,
+ WOL_OFF,
+ _WOL_MAX,
+ _WOL_INVALID = -1
+} WakeOnLan;
+
int ethtool_connect(int *ret);
-int ethtool_set_speed(int fd, const char *ifname, const unsigned int speed, const char *duplex);
-int ethtool_set_wol(int fd, const char *ifname, const char *wol);
+int ethtool_get_driver(int fd, const char *ifname, char **ret);
+int ethtool_set_speed(int fd, const char *ifname, unsigned int speed, Duplex duplex);
+int ethtool_set_wol(int fd, const char *ifname, WakeOnLan wol);
+
+const char *duplex_to_string(Duplex d) _const_;
+Duplex duplex_from_string(const char *d) _pure_;
+
+const char *wol_to_string(WakeOnLan wol) _const_;
+WakeOnLan wol_from_string(const char *wol) _pure_;
+
+int config_parse_duplex(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
+int config_parse_wol(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);