Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: DnsQuery
Fork of NetworkSocketAPI by
Diff: Socket.h
- Revision:
- 2:ef2470ca328b
- Parent:
- 0:6a8b52ee83ed
- Child:
- 3:dea0cdb42241
diff -r 968f7b32278f -r ef2470ca328b Socket.h
--- 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
