Puzzle about sctp_bindx in UNP


 
Thread Tools Search this Thread
Special Forums IP Networking Puzzle about sctp_bindx in UNP
# 1  
Old 08-20-2010
Question Puzzle about sctp_bindx in UNP

It writes in Section 9.3 in Unix Network programming about SCTP:
"The sctp_bindx call can be used on a bound or unbound socket."
And then it writes:
"The port number in all the socket address structures must be the same and must match any port number that is already bound; if it doesn't, then sctp_bindx will fail, returning the error code EINVAL."

It is easy to understand that the port number must be the same. What confuses me is that the port number must match any port number that is already bound. But previously it says that the sctp_bindx can be used on a unbound socket. I think that if the socket is unbound, the port number the socket will use must be unused as well. For example, assuming that a SCTP server wants to use port 123 to receive requests, the unbound SCTP socket will call sctp_bindx to bind itself to the port 123. Can it be done?
Login or Register to Ask a Question

Previous Thread | Next Thread

7 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Another sed Syntax Puzzle . . .

Greetings! Have a quick question for the community today; this time looking at a nifty little sed puzzle ;) Consider the following file content to be worked through:What needs to happen is theblock should be removed up to and including the following blank line, leavingI have bits and pieces... (8 Replies)
Discussion started by: LinQ
8 Replies

2. Solaris

Swap puzzle

I'm getting confused by swap # swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 256,2 16 16777200 16777200 /dev/zvol/dsk/swappool/swap2 256,1 16 50331632 50331632 # swap -s total: 6710256k bytes allocated + 3402944k reserved = 10113200k used,... (6 Replies)
Discussion started by: redstone
6 Replies

3. Shell Programming and Scripting

A puzzle with a printing function executing in background

Somebody on a thread in the (french) Mandriva Forum recently suggested a script, designed to provide a tool to display kind of "temporisation widgets" on the console (to be ultimately pasted in other more complex scripts). One version of this script was something like the following, which seems... (6 Replies)
Discussion started by: klease
6 Replies

4. UNIX for Advanced & Expert Users

Chroot jail environment puzzle

I have a simple sandbox program which runs a command as user "nobody" in a chroot jail. It sets resource limits with setrlimit, changes the user id with setuid, changes the root dir with chroot, and then calls exec to execute the command given as command line parameters. It is of course a... (8 Replies)
Discussion started by: john.english
8 Replies

5. Programming

The puzzle for malloc some spaces for a key

Hi, all, I am writing a BST (Binary Search Tree). What I am concerned about is typedef struct BST{ struct BST *p_left; struct BST *p_right; void *p_data; char *p_key; unsigned int *length; }BST; I have to malloc some space for p_key. How many of chars... (4 Replies)
Discussion started by: mythmgn
4 Replies

6. Linux

It's a puzzle

Hi, Recently I installed Fedora 9 on the following hardware - Asus A8N-SLI Deluxe motherboard bios version 1805 - 2GB twinmos ram - AMD 4400 CPU - Tagan PSU 550 W - Asus EN6200LE video card - WD 74 GB Raptor - Areca ARC-1222 raid controller - 4x 1TB Seagate Baracudas - Symbios Logic... (6 Replies)
Discussion started by: jwoude
6 Replies

7. Shell Programming and Scripting

Alias escape puzzle

Here is "escape puzzle" from real life task: Conditions: We need to create an alias which will Save current directory path Will ssh to particular server Then will cd to saved path (it's mounted via NFS) Then will find all files with name patter as "All*.bld" and run particular editor... (0 Replies)
Discussion started by: BaruchLi
0 Replies
Login or Register to Ask a Question
SCTP_BINDX(3)						     Linux Programmer's Manual						     SCTP_BINDX(3)

NAME
sctp_bindx - Add or remove bind addresses on a socket. SYNOPSIS
#include <sys/types.h> #include <sys/socket.h> #include <netinet/sctp.h> int sctp_bindx(int sd, struct sockaddr * addrs, int addrcnt, int flags); DESCRIPTION
sctp_bindx adds or removes a set of bind addresses passed in the array addrs to/from the socket sd. addrcnt is the number of addresses in the array and the flags paramater indicates if the addresses need to be added or removed. If sd is an IPv4 socket, the addresses passed must be IPv4 addresses. If sd is an IPv6 socket, the addresses passed can be either IPv4 or IPv6 addresses. addrs is a pointer to an array of one or more socket addresses. Each address is contained in its appropriate structure(i.e. struct sock- addr_in or struct sockaddr_in6). The family of the address type must be used to distinguish the address length. The caller specifies the number of addresses in the array with addrcnt. The flags parameter can be either SCTP_BINDX_ADD_ADDR or SCTP_BINDX_REM_ADDR. An application can use SCTP_BINDX_ADD_ADDR to associate additional addresses with an endpoint after calling bind(2). SCTP_BINDX_REM_ADDR directs SCTP to remove the given addresses from the asso- ciation. A caller may not remove all addresses from an association. It will fail with EINVAL. RETURN VALUE
On success, 0 is returned. On failure, -1 is returned, and errno is set appropriately. ERRORS
EBADF sd is not a valid descriptor. ENOTSOCK sd is a descriptor for a file, not a socket. EFAULT Error while copying in or out from the user address space. EINVAL Invalid port or address or trying to remove all addresses from an association. EACCES The address is protected, and the user is not the super-user. SEE ALSO
sctp(7) sctp_sendmsg(3), sctp_send(3), sctp_recvmsg(3), sctp_peeloff(3), sctp_getpaddrs(3), sctp_getladdrs(3), sctp_opt_info(3), sctp_con- nectx(3) Linux 2.6 2005-10-25 SCTP_BINDX(3)