diff options
Diffstat (limited to 'cnd/inc/cnd_iproute2.h')
-rw-r--r-- | cnd/inc/cnd_iproute2.h | 268 |
1 files changed, 0 insertions, 268 deletions
diff --git a/cnd/inc/cnd_iproute2.h b/cnd/inc/cnd_iproute2.h deleted file mode 100644 index 24b8080..0000000 --- a/cnd/inc/cnd_iproute2.h +++ /dev/null @@ -1,268 +0,0 @@ -/* Copyright (c) 2010, Code Aurora Forum. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Code Aurora nor - * the names of its contributors may be used to endorse or promote - * products derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#ifndef CND_IPROUTE2_H -#define CND_IPROUTE2_H - -/**---------------------------------------------------------------------------- - @file cnd_iproute2.h - - cnd_iproute2 is an interface to make the necessary calls to iproute2 - in order to set up and take down routing tables. Defines APIs so that - a routing table associated with a network interface can be added or - deleted. Also allows the user to change the default routing table when - a given source address is not already associated with a network - interface. ------------------------------------------------------------------------------*/ - - -/*---------------------------------------------------------------------------- - * Include Files - * -------------------------------------------------------------------------*/ -#include <sys/types.h> - -/*---------------------------------------------------------------------------- - * Preprocessor Definitions and Constants - * -------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - * Type Declarations - * -------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - * Class Definitions - * -------------------------------------------------------------------------*/ - -class cnd_iproute2 -{ - public: - /** - * @brief Returns an instance of the Cnd_iproute2 class. - * - * The user of this class will call this function to get an - * instance of the class. All other public functions will be - * called on this instance - * - * @param None - * @see None - * @return An instance of the Cnd_iproute2 class is returned. - */ - static cnd_iproute2* getInstance - ( - void - ); - - /** - * @brief Creates a custom route in the main table using iproute2 - * - * The user of this function passes in the name of the network - * interface that matches the name already defined in the Android - * system. This radio will handle any packets that are sent to - * the inputted destination address of a host. Optionally, a user - * can pass the gateway address of the device. - * - * @param destinationAddress The destination address of the - * custom entry in the main table that - * will be added - * @param deviceName The name of the device that will - * handle packets to the host - * @param gatewayAddress The gateway address of the device - * (optional) - * @return True if function is successful. - * False otherwise. - */ - bool addCustomEntryInMainTable - ( - uint8_t *destinationAddress, - uint8_t *deviceName, - uint8_t *gatewayAddress - ); - - /** - * @brief Create a routing table for a network interface using - * iproute2 - * - * The user of this function passes in the name of the network - * interface that matches the name already defined in the Android - * system. The user also needs to locate the source prefix, and, - * optionally, the gateway address assocated with that radio. If - * a table is added when no another tables exist, it will - * automatically become the default table. - * - * @param deviceName The name of the device whose table - * will be added - * @param sourcePrefix The source network prefix or address - * that will be routed to the device - * (Such as 37.214.21/24 or 10.156.45.1) - * @param gatewayAddress The gateway address of the device - * (optional) - * @return True if function is successful. False - * otherwise. - */ - bool addRoutingTable - ( - uint8_t *deviceName, - uint8_t *sourcePrefix, - uint8_t *gatewayAddress - ); - - /** - * @brief Deletes the custom route to the inputted destination - * address in the main table using iproute2 - * - * The custom route being deleted should have been added via - * addCustomEntryToMainTable() - * - * @param destinationAddress The destination address of the - * custom entry in the main table that - * will be removed - * @return True if function is successful. - * False otherwise. - */ - bool deleteCustomEntryInMainTable - ( - uint8_t *destinationAddress - ); - - /** - * @brief Deletes all custom routes in the main table that route - * through a specific interface name - * - * The custom routes being deleted should have been added via - * addCustomEntryToMainTable() - * - * @param deviceName The name of the device whose custom - * entries in the main table will be - * removed - * @return True if function is successful. False - * otherwise. - */ - bool deleteDeviceCustomEntriesInMainTable - ( - uint8_t *deviceName - ); - - /** - * @brief Deletes a default entry from the main table. - * - * @param deviceName The name of the device whose default - * entry in the main table will be - * deleted - * @return True if function is successful. False - * otherwise. - */ - bool deleteDefaultEntryInMainTable - ( - uint8_t *deviceName - ); - - /** - * @brief Deletes a routing table from the system along with the - * rule corresponding to that table. - * - * The table being deleted should have been added via - * addRoutingTable() - * - * @param deviceName The name of the device whose table will be - * deleted - * @return True if function is successful. False - * otherwise. - */ - bool deleteRoutingTable - ( - uint8_t *deviceName - ); - - /** - * @brief Change the default routing table that is associated - * with any source addresses not bound to another table. - * - * The user of this function passes in the name of the network - * interface that matches the name already defined in the Android - * system. That device will become the new default. If this radio - * is already the default, this function simply returns true. - * - * @param deviceName The name of the device whose table - * will be added - * @return True if function is successful. False - * otherwise. - */ - bool replaceDefaultEntryInMainTable - ( - uint8_t *deviceName, - uint8_t *gatewayAddress - ); - - /** - * Displays the contents of all routing tables for debugging - * purposes. - * - * @return True if function is successful. False - * otherwise. - */ - bool showAllRoutingTables - ( - void - ); - - /** - * Displays the contents of the routing table associated with - * the inputted device name. - * - * @param deviceName The name of the device to be displayed - * @return True if function is successful. False - * otherwise. - */ - bool showRoutingTable - ( - uint8_t *deviceName - ); - - /** - * Displays the rules associated with all tables for debugging - * purposes. - * - * @return True if function is successful. False - * otherwise. - */ - bool showRules - ( - void - ); - - private: - /* constructor */ - cnd_iproute2(){}; - /* destructor */ - ~cnd_iproute2(){}; - - static cnd_iproute2* instancePtr; -}; - - -#endif /* CND_IPROUTE2_H*/ |