diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2007-09-03 20:34:44 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2007-09-03 20:34:44 +0000 |
commit | c96d656001914b495f54e7a25d54079e41af86ce (patch) | |
tree | dabdb9c5fded41355669eccebd630d33b106689a /nuttx/net/bind.c | |
parent | 0792c58515fae8507fcd6de41ca7db89fd2734d4 (diff) | |
download | px4-nuttx-c96d656001914b495f54e7a25d54079e41af86ce.tar.gz px4-nuttx-c96d656001914b495f54e7a25d54079e41af86ce.tar.bz2 px4-nuttx-c96d656001914b495f54e7a25d54079e41af86ce.zip |
Add send, sendto, rec, recvfrom
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@328 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/net/bind.c')
-rw-r--r-- | nuttx/net/bind.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/nuttx/net/bind.c b/nuttx/net/bind.c index 332214d33..97ff479b4 100644 --- a/nuttx/net/bind.c +++ b/nuttx/net/bind.c @@ -61,7 +61,7 @@ * * Parameters: * sockfd Socket descriptor from socket - * my_addr Socket local address + * addr Socket local address * addrlen Length of my_addr * * Returned Value: @@ -91,6 +91,7 @@ int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen) FAR const struct sockaddr_in *inaddr = (const struct sockaddr_in *)addr; #endif int err; + int ret; /* Verify that the sockfd corresponds to valid, allocated socket */ @@ -113,24 +114,32 @@ int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen) } /* Perform the binding depending on the protocol type */ + switch (psock->s_type) { case SOCK_STREAM: -#warning Put TCP/IP binding logic here + ret = uip_tcpbind(psock->s_conn, inaddr); break; #ifdef CONFIG_NET_UDP case SOCK_DGRAM: -#warning Put UDP binding logic here + ret = uip_udpbind(psock->s_conn, inaddr); break; #endif default: - err = EBADF; + err = -EBADF; goto errout; } - err = ENOSYS; - /*return OK;*/ + /* Was the bind successful */ + + if (ret < 0) + { + err = -ret; + goto errout; + } + + return OK; errout: *get_errno_ptr() = err; |