ap
Dependencies: DnsQuery
Dependents: WizFi310_TCP_Echo_Server_Example
Fork of NetworkSocketAPI by
Diff: Socket.h
- Revision:
- 74:ef2470ca328b
- Parent:
- 72:6a8b52ee83ed
- Child:
- 75:dea0cdb42241
--- a/Socket.h Tue Apr 05 05:47:57 2016 -0500 +++ b/Socket.h Tue Apr 05 06:22:10 2016 -0500 @@ -18,8 +18,37 @@ #ifndef SOCKET_H #define SOCKET_H +/** Maximum storage needed for IP addresses + */ +#define NS_API_SIZE 16 + +/** + * @enum ns_error_t + * @brief enum of standardized error codes + */ +enum ns_error_t { + NS_ERROR_WOULD_BLOCK = -3001, /*!< no data is not available but call is non-blocking */ + NS_ERROR_UNSUPPORTED = -3002, /*!< unsupported configuration */ + NS_ERROR_NO_CONNECTION = -3003, /*!< not connected to a network */ + NS_ERROR_NO_SOCKET = -3004, /*!< socket not available for use */ + NS_ERROR_NO_ADDRESS = -3005, /*!< IP address is not known */ + NS_ERROR_NO_MEMORY = -3006, /*!< memory resource not available */ + NS_ERROR_DNS_FAILURE = -3007, /*!< DNS failed to complete successfully */ + NS_ERROR_DHCP_FAILURE = -3008, /*!< DHCP failed to complete successfully */ + NS_ERROR_AUTH_FAILURE = -3009, /*!< connection to access point faield */ + NS_ERROR_DEVICE_ERROR = -3010, /*!< failure interfacing with the network procesor */ +}; + +/** + * @enum ns_opt_t + * @brief enum of available options + */ +enum ns_opt_t { +}; + + /** Abstract socket class - */ + */ class Socket { public: /** Socket lifetime @@ -32,28 +61,26 @@ */ void set_blocking(bool blocking); - /** Set timeout on a socket operation + /** Set timeout on a socket operation if blocking behaviour is enabled \param timeout timeout in ms */ void set_timeout(unsigned int timeout); /** Set socket options - \param level stack level \param optname option ID \param optval option value \param optlen length of the option value \return 0 on success, negative on failure */ - int set_option(int level, int optname, const void *optval, unsigned int optlen); + int set_option(int optname, const void *optval, unsigned int optlen); /** Get socket options - \param level stack level \param optname option ID \param optval buffer pointer where to write the option value \param socklen_t length of the option value \return 0 on success, negative on failure */ - int get_option(int level, int optname, void *optval, unsigned int *optlen); + int get_option(int optname, void *optval, unsigned int *optlen); /** Close the socket \param shutdown free the left-over data in message queues