summaryrefslogtreecommitdiffstats
path: root/nanohttp/nanohttp-socket.h
diff options
context:
space:
mode:
Diffstat (limited to 'nanohttp/nanohttp-socket.h')
-rw-r--r--nanohttp/nanohttp-socket.h432
1 files changed, 216 insertions, 216 deletions
diff --git a/nanohttp/nanohttp-socket.h b/nanohttp/nanohttp-socket.h
index 83d8f72..e9a69f6 100644
--- a/nanohttp/nanohttp-socket.h
+++ b/nanohttp/nanohttp-socket.h
@@ -1,216 +1,216 @@
-/******************************************************************
- * $Id: nanohttp-socket.h,v 1.14 2004/10/28 10:30:47 snowdrop Exp $
- *
- * CSOAP Project: A http client/server library in C
- * Copyright (C) 2003 Ferhat Ayaz
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Email: ayaz@jprogrammer.net
- ******************************************************************/
-#ifndef NANO_HTTP_SOCKET_H
-#define NANO_HTTP_SOCKET_H
-
-#include <nanohttp/nanohttp-common.h>
-
-#include <time.h>
-
-#ifdef WIN32
- #include <winsock2.h>
-#endif
-
-
-#ifdef WIN32
- typedef SOCKET hsocket_t;
- typedef int socklen_t;
-#else
- typedef int hsocket_t;
-#endif
-
-
-
-/**
- Initializes the socket modul. This should be called only
- once for an application.
-
- @returns This function should always return H_OK.
- */
-herror_t hsocket_module_init();
-
-
-/**
- Destroys the socket modul. This should be called after
- finishing an application.
-*/
-void hsocket_module_destroy();
-
-
-/**
- Initializes a given socket object. This function should
- be called for every socket before using it.
-
- @param sock the destination socket to initialize.
-
- @returns This function should always return H_OK.
- */
-herror_t hsocket_init(hsocket_t *sock);
-
-
-/**
- Destroys and releases a given socket.
-
- @param sock the socket to destroy
-*/
-void hsocket_free(hsocket_t sock);
-
-
-/**
- Connects to a given host. The hostname can be an IP number
- or a humen readable hostname.
-
- @param sock the destonation socket object to use
- @param host hostname
- @param port port number to connect to
-
- @returns H_OK if success. One of the followings if fails:<P>
- <BR>HSOCKET_ERROR_CREATE
- <BR>HSOCKET_ERROR_GET_HOSTNAME
- <BR>HSOCKET_ERROR_CONNECT
- */
-herror_t hsocket_open(hsocket_t *sock, const char* host, int port);
-
-
-/**
- Close a socket connection.
-
- @param sock the socket to close
-*/
-void hsocket_close(hsocket_t sock);
-
-
-/**
- Binds a socket to a given port number. After bind you
- can call hsocket_listen() to listen to the port.
-
- @param sock socket to use.
- @param port port number to bind to
-
- @returns H_OK if success. One of the followings if fails:<P>
- <BR>HSOCKET_ERROR_CREATE
- <BR>HSOCKET_ERROR_BIND
-
- @see hsocket_listen
- */
-herror_t hsocket_bind(hsocket_t *sock, int port);
-
-
-/**
- Set the socket to the listen mode. You must bind
- the socket to a port with hsocket_bind() before
- you can listen to the port.
-
- @param sock the socket to use
-
- @returns H_OK if success. One of the followings if fails:<P>
- <BR>HSOCKET_ERROR_NOT_INITIALIZED
- <BR>HSOCKET_ERROR_LISTEN
-*/
-herror_t hsocket_listen(hsocket_t sock);
-
-
-/**
- Accepts an incoming socket request. Note that this function
- will not return until a socket connection is ready.
-
- @param sock the socket which listents to a port
- @param dest the destination socket which will be created
-
- @returns H_OK if success. One of the followings if fails:<P>
- <BR>HSOCKET_ERROR_NOT_INITIALIZED
- <BR>HSOCKET_ERROR_ACCEPT
-*/
-herror_t hsocket_accept(hsocket_t sock, hsocket_t *dest);
-
-
-/**
- Sends data throught the socket.
-
- @param sock the socket to use to send the data
- @param bytes bytes to send
- @param size size of memory to sent pointed by bytes.
-
- @returns H_OK if success. One of the followings if fails:<P>
- <BR>HSOCKET_ERROR_NOT_INITIALIZED
- <BR>HSOCKET_ERROR_SEND
-*/
-herror_t hsocket_nsend(hsocket_t sock, const byte_t* bytes, int size);
-
-
-/**
- Sends a string throught the socket
-
- @param sock the socket to use to send the data
- @param str the null terminated string to sent
-
- @returns H_OK if success. One of the followings if fails:<P>
- <BR>HSOCKET_ERROR_NOT_INITIALIZED
- <BR>HSOCKET_ERROR_SEND
-*/
-herror_t hsocket_send(hsocket_t sock, const char* str);
-
-
-/**
- Reads data from the socket.
-
- @param sock the socket to read data from
- @param buffer the buffer to use to save the readed bytes
- @param size the maximum size of bytes to read
- @param force if force is 1 then hsocket_read() will wait until
- maximum size of bytes (size parameter) was readed. Otherwise
- this function will not wait and will return with the bytes
- quequed on the socket.
-
- @returns This function will return -1 if an read error was occured.
- Otherwise the return value is the size of bytes readed from
- the socket.
-
-*/
-herror_t hsocket_read(hsocket_t sock, byte_t* buffer, int size, int force, int *readed);
-
-/**
- Sets the goven socket to non-blocking socket mode.
-
- @param sock the socket to set into the non-blocking mode
-
- @returns H_OK if success. One of the followings if fails:<P>
- <BR>HSOCKET_ERROR_NOT_INITIALIZED
- <BR>HSOCKET_ERROR_IOCTL
-*/
-herror_t hsocket_block(hsocket_t sock, int block);
-
-
-#endif
-
-
-
-
-
-
-
-
-
-
-
+/******************************************************************
+ * $Id: nanohttp-socket.h,v 1.15 2004/11/02 23:09:27 snowdrop Exp $
+ *
+ * CSOAP Project: A http client/server library in C
+ * Copyright (C) 2003 Ferhat Ayaz
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Email: ayaz@jprogrammer.net
+ ******************************************************************/
+#ifndef NANO_HTTP_SOCKET_H
+#define NANO_HTTP_SOCKET_H
+
+#include <nanohttp/nanohttp-common.h>
+
+#include <time.h>
+
+#ifdef WIN32
+ #include <winsock2.h>
+#endif
+
+
+#ifdef WIN32
+ typedef SOCKET hsocket_t;
+ typedef int socklen_t;
+#else
+ typedef int hsocket_t;
+#endif
+
+
+
+/**
+ Initializes the socket modul. This should be called only
+ once for an application.
+
+ @returns This function should always return H_OK.
+ */
+herror_t hsocket_module_init();
+
+
+/**
+ Destroys the socket modul. This should be called after
+ finishing an application.
+*/
+void hsocket_module_destroy();
+
+
+/**
+ Initializes a given socket object. This function should
+ be called for every socket before using it.
+
+ @param sock the destination socket to initialize.
+
+ @returns This function should always return H_OK.
+ */
+herror_t hsocket_init(hsocket_t *sock);
+
+
+/**
+ Destroys and releases a given socket.
+
+ @param sock the socket to destroy
+*/
+void hsocket_free(hsocket_t sock);
+
+
+/**
+ Connects to a given host. The hostname can be an IP number
+ or a humen readable hostname.
+
+ @param sock the destonation socket object to use
+ @param host hostname
+ @param port port number to connect to
+
+ @returns H_OK if success. One of the followings if fails:<P>
+ <BR>HSOCKET_ERROR_CREATE
+ <BR>HSOCKET_ERROR_GET_HOSTNAME
+ <BR>HSOCKET_ERROR_CONNECT
+ */
+herror_t hsocket_open(hsocket_t *sock, const char* host, int port);
+
+
+/**
+ Close a socket connection.
+
+ @param sock the socket to close
+*/
+void hsocket_close(hsocket_t sock);
+
+
+/**
+ Binds a socket to a given port number. After bind you
+ can call hsocket_listen() to listen to the port.
+
+ @param sock socket to use.
+ @param port port number to bind to
+
+ @returns H_OK if success. One of the followings if fails:<P>
+ <BR>HSOCKET_ERROR_CREATE
+ <BR>HSOCKET_ERROR_BIND
+
+ @see hsocket_listen
+ */
+herror_t hsocket_bind(hsocket_t *sock, int port);
+
+
+/**
+ Set the socket to the listen mode. You must bind
+ the socket to a port with hsocket_bind() before
+ you can listen to the port.
+
+ @param sock the socket to use
+
+ @returns H_OK if success. One of the followings if fails:<P>
+ <BR>HSOCKET_ERROR_NOT_INITIALIZED
+ <BR>HSOCKET_ERROR_LISTEN
+*/
+herror_t hsocket_listen(hsocket_t sock);
+
+
+/**
+ Accepts an incoming socket request. Note that this function
+ will not return until a socket connection is ready.
+
+ @param sock the socket which listents to a port
+ @param dest the destination socket which will be created
+
+ @returns H_OK if success. One of the followings if fails:<P>
+ <BR>HSOCKET_ERROR_NOT_INITIALIZED
+ <BR>HSOCKET_ERROR_ACCEPT
+*/
+herror_t hsocket_accept(hsocket_t sock, hsocket_t *dest);
+
+
+/**
+ Sends data throught the socket.
+
+ @param sock the socket to use to send the data
+ @param bytes bytes to send
+ @param size size of memory to sent pointed by bytes.
+
+ @returns H_OK if success. One of the followings if fails:<P>
+ <BR>HSOCKET_ERROR_NOT_INITIALIZED
+ <BR>HSOCKET_ERROR_SEND
+*/
+herror_t hsocket_nsend(hsocket_t sock, const byte_t* bytes, int size);
+
+
+/**
+ Sends a string throught the socket
+
+ @param sock the socket to use to send the data
+ @param str the null terminated string to sent
+
+ @returns H_OK if success. One of the followings if fails:<P>
+ <BR>HSOCKET_ERROR_NOT_INITIALIZED
+ <BR>HSOCKET_ERROR_SEND
+*/
+herror_t hsocket_send(hsocket_t sock, const char* str);
+
+
+/**
+ Reads data from the socket.
+
+ @param sock the socket to read data from
+ @param buffer the buffer to use to save the readed bytes
+ @param size the maximum size of bytes to read
+ @param force if force is 1 then hsocket_read() will wait until
+ maximum size of bytes (size parameter) was readed. Otherwise
+ this function will not wait and will return with the bytes
+ quequed on the socket.
+
+ @returns This function will return -1 if an read error was occured.
+ Otherwise the return value is the size of bytes readed from
+ the socket.
+
+*/
+herror_t hsocket_read(hsocket_t sock, byte_t* buffer, int size, int force, int *readed);
+
+/**
+ Sets the goven socket to non-blocking socket mode.
+
+ @param sock the socket to set into the non-blocking mode
+
+ @returns H_OK if success. One of the followings if fails:<P>
+ <BR>HSOCKET_ERROR_NOT_INITIALIZED
+ <BR>HSOCKET_ERROR_IOCTL
+*/
+herror_t hsocket_block(hsocket_t sock, int block);
+
+
+#endif
+
+
+
+
+
+
+
+
+
+
+