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)						   BSD Library Functions Manual 					     SCTP_BINDX(3)

NAME
sctp_bindx -- bind or unbind an SCTP socket to a list of addresses. LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <sys/types.h> #include <sys/socket.h> #include <netinet/sctp.h> int sctp_bindx(int s, struct sockaddr *addrs, int num, int type); DESCRIPTION
The sctp_bindx() call binds or unbinds a address or a list of addresses to an SCTP endpoint. This allows a user to bind a subset of addresses. The sctp_bindx() call operates similarly to bind() but allows a list of addresses and also allows a bind or an unbind. The argu- ment s must be a valid SCTP socket descriptor. The argument addrs is a list of addresses (where the list may be only 1 in length) that the user wishes to bind or unbind to the socket. The argument type must be one of the following values. SCTP_BINDX_ADD_ADDR This value indicates that the listed address(es) need to be added to the endpoint. SCTP_BINDX_DEL_ADDR This value indicates that the listed address(es) need to be removed from the endpoint. Note that when a user adds or deletes an address to an association if the dynamic address flag net.inet.sctp.auto_asconf is enabled any asso- ciations in the endpoint will attempt to have the address(es) added dynamically to the existing association. RETURN VALUES
The call returns 0 on success and -1 upon failure. ERRORS
The sctp_bindx() function can return the following errors: [EINVAL] This value is returned if the type field is not one of the allowed values (see above). [ENOMEM] This value is returned if the number of addresses being added causes a memory allocation failure in the call. [EBADF] The argument s is not a valid descriptor. [ENOTSOCK] The argument s is not a socket. SEE ALSO
bind(2), sctp(4) BSD
December 15, 2006 BSD