diff options
author | Stan Chesnutt <chesnutt@google.com> | 2010-12-26 22:15:00 -0800 |
---|---|---|
committer | Stan Chesnutt <chesnutt@google.com> | 2010-12-26 22:15:00 -0800 |
commit | 8418ac8ba59bd140b5a2432c99501cc79debdefc (patch) | |
tree | 3167dd038e9c3e1d3f020a10fed88b4979bc3428 /include | |
parent | bdd483830d6b18a4840e5b8483bf058f3c4579eb (diff) | |
download | system_core-8418ac8ba59bd140b5a2432c99501cc79debdefc.zip system_core-8418ac8ba59bd140b5a2432c99501cc79debdefc.tar.gz system_core-8418ac8ba59bd140b5a2432c99501cc79debdefc.tar.bz2 |
Add NETLINK_ROUTE processing to the netlink client code, so that Ethernet
physical-layer up/down events can be tracked. Upper layers will use these
events to enable/disable Ethernet connectivity.
Change-Id: If07c30c4d79f26cf94eb5597be651ebbf9d072c6
Diffstat (limited to 'include')
-rw-r--r-- | include/sysutils/NetlinkEvent.h | 8 | ||||
-rw-r--r-- | include/sysutils/NetlinkListener.h | 6 |
2 files changed, 12 insertions, 2 deletions
diff --git a/include/sysutils/NetlinkEvent.h b/include/sysutils/NetlinkEvent.h index b329b09..1ee9849 100644 --- a/include/sysutils/NetlinkEvent.h +++ b/include/sysutils/NetlinkEvent.h @@ -30,17 +30,23 @@ public: const static int NlActionAdd; const static int NlActionRemove; const static int NlActionChange; + const static int NlActionLinkDown; + const static int NlActionLinkUp; NetlinkEvent(); virtual ~NetlinkEvent(); - bool decode(char *buffer, int size); + bool decode(char *buffer, int size, int format); const char *findParam(const char *paramName); const char *getSubsystem() { return mSubsystem; } int getAction() { return mAction; } void dump(); + + protected: + bool parseBinaryNetlinkMessage(char *buffer, int size); + bool parseAsciiNetlinkMessage(char *buffer, int size); }; #endif diff --git a/include/sysutils/NetlinkListener.h b/include/sysutils/NetlinkListener.h index 2880046..1cf5f9f 100644 --- a/include/sysutils/NetlinkListener.h +++ b/include/sysutils/NetlinkListener.h @@ -22,9 +22,13 @@ class NetlinkEvent; class NetlinkListener : public SocketListener { char mBuffer[64 * 1024]; + int mFormat; public: - NetlinkListener(int socket); + static const int NETLINK_FORMAT_ASCII = 0; + static const int NETLINK_FORMAT_BINARY = 1; + + NetlinkListener(int socket, int format); virtual ~NetlinkListener() {} protected: |