]> git.sur5r.net Git - freertos/blobdiff - Demo/lwIP_Demo_Rowley_ARM7/lwip-1.1.0/src/include/lwip/api.h
Update to V4.3.0 as described in http://www.FreeRTOS.org/History.txt
[freertos] / Demo / lwIP_Demo_Rowley_ARM7 / lwip-1.1.0 / src / include / lwip / api.h
index 7f0ad596666dda1c26b722d7bbcab568258620d1..1059eca2e3699280c23e26b8a52bf5772dc29957 100644 (file)
-/*
- * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
- * All rights reserved. 
- * 
- * Redistribution and use in source and binary forms, with or without modification, 
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- * 2. 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.
- * 3. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission. 
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 
- * SHALL THE AUTHOR 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.
- *
- * This file is part of the lwIP TCP/IP stack.
- * 
- * Author: Adam Dunkels <adam@sics.se>
- *
- */
-#ifndef __LWIP_API_H__
-#define __LWIP_API_H__
-
-#include "lwip/opt.h"
-#include "lwip/pbuf.h"
-#include "lwip/sys.h"
-
-#include "lwip/ip.h"
-
-#include "lwip/raw.h"
-#include "lwip/udp.h"
-#include "lwip/tcp.h"
-
-#include "lwip/err.h"
-
-#define NETCONN_NOCOPY 0x00
-#define NETCONN_COPY   0x01
-
-enum netconn_type {
-  NETCONN_TCP,
-  NETCONN_UDP,
-  NETCONN_UDPLITE,
-  NETCONN_UDPNOCHKSUM,
-  NETCONN_RAW
-};
-
-enum netconn_state {
-  NETCONN_NONE,
-  NETCONN_WRITE,
-  NETCONN_ACCEPT,
-  NETCONN_RECV,
-  NETCONN_CONNECT,
-  NETCONN_CLOSE
-};
-
-enum netconn_evt {
-  NETCONN_EVT_RCVPLUS,
-  NETCONN_EVT_RCVMINUS,
-  NETCONN_EVT_SENDPLUS,
-  NETCONN_EVT_SENDMINUS
-};
-
-struct netbuf {
-  struct pbuf *p, *ptr;
-  struct ip_addr *fromaddr;
-  u16_t fromport;
-  err_t err;
-};
-
-struct netconn {
-  enum netconn_type type;
-  enum netconn_state state;
-  union {
-    struct tcp_pcb *tcp;
-    struct udp_pcb *udp;
-    struct raw_pcb *raw;
-  } pcb;
-  err_t err;
-  sys_mbox_t mbox;
-  sys_mbox_t recvmbox;
-  sys_mbox_t acceptmbox;
-  sys_sem_t sem;
-  int socket;
-  u16_t recv_avail;
-  void (* callback)(struct netconn *, enum netconn_evt, u16_t len);
-};
-
-/* Network buffer functions: */
-struct netbuf *   netbuf_new      (void);
-void              netbuf_delete   (struct netbuf *buf);
-void *            netbuf_alloc    (struct netbuf *buf, u16_t size);
-void              netbuf_free     (struct netbuf *buf);
-void              netbuf_ref      (struct netbuf *buf,
-           void *dataptr, u16_t size);
-void              netbuf_chain    (struct netbuf *head,
-           struct netbuf *tail);
-
-u16_t             netbuf_len      (struct netbuf *buf);
-err_t             netbuf_data     (struct netbuf *buf,
-           void **dataptr, u16_t *len);
-s8_t              netbuf_next     (struct netbuf *buf);
-void              netbuf_first    (struct netbuf *buf);
-
-void              netbuf_copy     (struct netbuf *buf,
-           void *dataptr, u16_t len);
-void              netbuf_copy_partial(struct netbuf *buf, void *dataptr, 
-              u16_t len, u16_t offset);
-struct ip_addr *  netbuf_fromaddr (struct netbuf *buf);
-u16_t             netbuf_fromport (struct netbuf *buf);
-
-/* Network connection functions: */
-struct netconn *  netconn_new     (enum netconn_type type);
-struct
-netconn *netconn_new_with_callback(enum netconn_type t,
-                                   void (*callback)(struct netconn *, enum netconn_evt, u16_t len));
-struct
-netconn *netconn_new_with_proto_and_callback(enum netconn_type t, u16_t proto,
-                                   void (*callback)(struct netconn *, enum netconn_evt, u16_t len));
-err_t             netconn_delete  (struct netconn *conn);
-enum netconn_type netconn_type    (struct netconn *conn);
-err_t             netconn_peer    (struct netconn *conn,
-           struct ip_addr *addr,
-           u16_t *port);
-err_t             netconn_addr    (struct netconn *conn,
-           struct ip_addr **addr,
-           u16_t *port);
-err_t             netconn_bind    (struct netconn *conn,
-           struct ip_addr *addr,
-           u16_t port);
-err_t             netconn_connect (struct netconn *conn,
-           struct ip_addr *addr,
-           u16_t port);
-err_t             netconn_disconnect (struct netconn *conn);
-err_t             netconn_listen  (struct netconn *conn);
-struct netconn *  netconn_accept  (struct netconn *conn);
-struct netbuf *   netconn_recv    (struct netconn *conn);
-err_t             netconn_send    (struct netconn *conn,
-           struct netbuf *buf);
-err_t             netconn_write   (struct netconn *conn,
-           void *dataptr, u16_t size,
-           u8_t copy);
-err_t             netconn_close   (struct netconn *conn);
-
-err_t             netconn_err     (struct netconn *conn);
-
-#endif /* __LWIP_API_H__ */
-
-
+/*\r
+ * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\r
+ * All rights reserved. \r
+ * \r
+ * Redistribution and use in source and binary forms, with or without modification, \r
+ * are permitted provided that the following conditions are met:\r
+ *\r
+ * 1. Redistributions of source code must retain the above copyright notice,\r
+ *    this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright notice,\r
+ *    this list of conditions and the following disclaimer in the documentation\r
+ *    and/or other materials provided with the distribution.\r
+ * 3. The name of the author may not be used to endorse or promote products\r
+ *    derived from this software without specific prior written permission. \r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \r
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \r
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \r
+ * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \r
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \r
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \r
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \r
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \r
+ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \r
+ * OF SUCH DAMAGE.\r
+ *\r
+ * This file is part of the lwIP TCP/IP stack.\r
+ * \r
+ * Author: Adam Dunkels <adam@sics.se>\r
+ *\r
+ */\r
+#ifndef __LWIP_API_H__\r
+#define __LWIP_API_H__\r
+\r
+#include "lwip/opt.h"\r
+#include "lwip/pbuf.h"\r
+#include "lwip/sys.h"\r
+\r
+#include "lwip/ip.h"\r
+\r
+#include "lwip/raw.h"\r
+#include "lwip/udp.h"\r
+#include "lwip/tcp.h"\r
+\r
+#include "lwip/err.h"\r
+\r
+#define NETCONN_NOCOPY 0x00\r
+#define NETCONN_COPY   0x01\r
+\r
+enum netconn_type {\r
+  NETCONN_TCP,\r
+  NETCONN_UDP,\r
+  NETCONN_UDPLITE,\r
+  NETCONN_UDPNOCHKSUM,\r
+  NETCONN_RAW\r
+};\r
+\r
+enum netconn_state {\r
+  NETCONN_NONE,\r
+  NETCONN_WRITE,\r
+  NETCONN_ACCEPT,\r
+  NETCONN_RECV,\r
+  NETCONN_CONNECT,\r
+  NETCONN_CLOSE\r
+};\r
+\r
+enum netconn_evt {\r
+  NETCONN_EVT_RCVPLUS,\r
+  NETCONN_EVT_RCVMINUS,\r
+  NETCONN_EVT_SENDPLUS,\r
+  NETCONN_EVT_SENDMINUS\r
+};\r
+\r
+struct netbuf {\r
+  struct pbuf *p, *ptr;\r
+  struct ip_addr *fromaddr;\r
+  u16_t fromport;\r
+  err_t err;\r
+};\r
+\r
+struct netconn {\r
+  enum netconn_type type;\r
+  enum netconn_state state;\r
+  union {\r
+    struct tcp_pcb *tcp;\r
+    struct udp_pcb *udp;\r
+    struct raw_pcb *raw;\r
+  } pcb;\r
+  err_t err;\r
+  sys_mbox_t mbox;\r
+  sys_mbox_t recvmbox;\r
+  sys_mbox_t acceptmbox;\r
+  sys_sem_t sem;\r
+  int socket;\r
+  u16_t recv_avail;\r
+  void (* callback)(struct netconn *, enum netconn_evt, u16_t len);\r
+};\r
+\r
+/* Network buffer functions: */\r
+struct netbuf *   netbuf_new      (void);\r
+void              netbuf_delete   (struct netbuf *buf);\r
+void *            netbuf_alloc    (struct netbuf *buf, u16_t size);\r
+void              netbuf_free     (struct netbuf *buf);\r
+void              netbuf_ref      (struct netbuf *buf,\r
+           void *dataptr, u16_t size);\r
+void              netbuf_chain    (struct netbuf *head,\r
+           struct netbuf *tail);\r
+\r
+u16_t             netbuf_len      (struct netbuf *buf);\r
+err_t             netbuf_data     (struct netbuf *buf,\r
+           void **dataptr, u16_t *len);\r
+s8_t              netbuf_next     (struct netbuf *buf);\r
+void              netbuf_first    (struct netbuf *buf);\r
+\r
+void              netbuf_copy     (struct netbuf *buf,\r
+           void *dataptr, u16_t len);\r
+void              netbuf_copy_partial(struct netbuf *buf, void *dataptr, \r
+              u16_t len, u16_t offset);\r
+struct ip_addr *  netbuf_fromaddr (struct netbuf *buf);\r
+u16_t             netbuf_fromport (struct netbuf *buf);\r
+\r
+/* Network connection functions: */\r
+struct netconn *  netconn_new     (enum netconn_type type);\r
+struct\r
+netconn *netconn_new_with_callback(enum netconn_type t,\r
+                                   void (*callback)(struct netconn *, enum netconn_evt, u16_t len));\r
+struct\r
+netconn *netconn_new_with_proto_and_callback(enum netconn_type t, u16_t proto,\r
+                                   void (*callback)(struct netconn *, enum netconn_evt, u16_t len));\r
+err_t             netconn_delete  (struct netconn *conn);\r
+enum netconn_type netconn_type    (struct netconn *conn);\r
+err_t             netconn_peer    (struct netconn *conn,\r
+           struct ip_addr *addr,\r
+           u16_t *port);\r
+err_t             netconn_addr    (struct netconn *conn,\r
+           struct ip_addr **addr,\r
+           u16_t *port);\r
+err_t             netconn_bind    (struct netconn *conn,\r
+           struct ip_addr *addr,\r
+           u16_t port);\r
+err_t             netconn_connect (struct netconn *conn,\r
+           struct ip_addr *addr,\r
+           u16_t port);\r
+err_t             netconn_disconnect (struct netconn *conn);\r
+err_t             netconn_listen  (struct netconn *conn);\r
+struct netconn *  netconn_accept  (struct netconn *conn);\r
+struct netbuf *   netconn_recv    (struct netconn *conn);\r
+err_t             netconn_send    (struct netconn *conn,\r
+           struct netbuf *buf);\r
+err_t             netconn_write   (struct netconn *conn,\r
+           void *dataptr, u16_t size,\r
+           u8_t copy);\r
+err_t             netconn_close   (struct netconn *conn);\r
+\r
+err_t             netconn_err     (struct netconn *conn);\r
+\r
+#endif /* __LWIP_API_H__ */\r
+\r
+\r