Usermode/libpsocket - Add MSG_* values for send/recv
[tpg/acess2.git] / Usermode / Libraries / libpsocket.so_src / include_exp / sys / socket.h
index 4d2a1c2..deb1f51 100644 (file)
@@ -9,7 +9,9 @@
 #define _SYS_SOCKETS_H_
 
 #include <sys/types.h>
+#ifndef size_t
 #include <stddef.h>    // size_t
+#endif
 #include <stdint.h>    // uint32_t
 
 typedef uint32_t       socklen_t;
@@ -27,7 +29,7 @@ typedef enum
 struct sockaddr
 {
        sa_family_t     sa_family;
-       char            sa_data[16];
+       char            sa_data[16+2];
 };
 
 struct msghdr
@@ -93,15 +95,37 @@ enum
 enum
 {
        SO_REUSEADDR,
-       SO_LINGER
+       SO_LINGER,
+       SO_ERROR,
+       SO_KEEPALIVE,
+};
+
+// shutdown how
+enum
+{
+       SHUT_RD,
+       SHUT_WR,
+       SHUT_RDWR
 };
 
+// flags for send*
+//#define MSG_CONFIRM  0x01
+#define MSG_DONTROUTE  0x02
+#define MSG_OOB        0x40
+// flags for recv
+#define MSG_PEEK       0x100
+
 /**
  * \brief Create a new socket descriptor
  * \param domain       Address family
  */
 extern int     socket(int domain, int type, int protocol);
 
+/**
+ * 
+ */
+extern int     shutdown(int socket, int how);
+
 /**
  * \brief Bind a socket to an address
  */
@@ -120,7 +144,7 @@ extern int  listen(int sockfd, int backlog);
 /**
  * \brief Accept an incoming connection
  */
-extern int     accept(int sockfd, struct sockaddr *clientaddr, socklen_t addrlen);
+extern int     accept(int sockfd, struct sockaddr *clientaddr, socklen_t *addrlen);
 
 extern int     recvfrom(int sockfd, void *buffer, size_t length, int flags, struct sockaddr *clientaddr, socklen_t *addrlen);
 extern int     recv(int sockfd, void *buffer, size_t length, int flags);
@@ -133,5 +157,12 @@ extern int getsockopt(int socket, int level, int option_name, void *option_value
 extern int     getsockname(int socket, struct sockaddr *addr, socklen_t *addrlen);
 extern int     getpeername(int socket, struct sockaddr *addr, socklen_t *addrlen);
 
+extern struct hostent *gethostbyaddr(const void *addr, socklen_t len, int type);
+extern void    sethostent(int stayopen);
+extern void    endhostent(void);
+extern void    herror(const char *s);
+extern const char      *hstrerror(int err);
+extern struct hostent *gethostent(void);
+
 #endif
 

UCC git Repository :: git.ucc.asn.au