Sponsored Content
Full Discussion: The third argument of bind()
Special Forums IP Networking The third argument of bind() Post 302527628 by vistastar on Friday 3rd of June 2011 11:27:32 PM
Old 06-04-2011
The third argument of bind()

Code:
       int bind(int socket, const struct sockaddr *address,
              socklen_t address_len);

Man page says it specifies the length of the sockaddr structure pointed to by the address argument.

But why bind() can't figure out the length itself, since the first member (eg:AF_INET or AF_INET6...) of sockaddr structure implies the actual structure which contains it. So I think bind() can figure out the length of the sockaddr structure by inspecting address->sa_family.

You may say that, these strctures are diffrent in different OS. But the implemnetation of bind() can also be designed for diffrent OS. The length of these structures are constant in the same OS.

Who can explain it?

Thx!!!

Last edited by vistastar; 06-04-2011 at 12:41 AM..
 

9 More Discussions You Might Find Interesting

1. AIX

Bind and AIX

I am attempting to set up bind on an AIX 5.3 machine. I ahve created a named.conf, db.cache (for root domain and hint file) and a db.domainname file for the host entries. However, when I set my pc to use the AIX box as it's dns server, I can not resolve names. Is there anything obvious maybe I... (0 Replies)
Discussion started by: zuessh
0 Replies

2. UNIX for Dummies Questions & Answers

How to find the last argument in a argument line?

How to find the last argument in a argument line? (4 Replies)
Discussion started by: nehagupta2008
4 Replies

3. UNIX for Dummies Questions & Answers

Dns/bind

Hi, Does anyone know anything about DNS/BIND? I need to tell my dns for every sub-domain foward on to my main domain.... so *.example.com gets sent to exmaple.com. Any ideas. I've looked at bind on my machine and theres about 10 files....i just don't know where to put the rule or exactly... (2 Replies)
Discussion started by: elduderino
2 Replies

4. Shell Programming and Scripting

get positive number n as argument script must calculate the factorial of its argument

Can someone please help me with this SHELL script? I need to create a script that gets a positive number n as an argument. The script must calculate the factorial of its argument. In other words, it must calculate n!=1x2x3x...xn. Note that 0!=1. Here is a start but I have no clue how to... (3 Replies)
Discussion started by: I-1
3 Replies

5. Shell Programming and Scripting

Cannot compare argument in if statement in csh/grep command if argument starts with “-“

If ($argv == “-debug”) then Echo “in loop” Endif But this is not working. If I modify this code and remove “-“, then it works. Similarly I am getting problem using grep command also Grep “-debug” Filename Can someone please help me on how to resolve these... (1 Reply)
Discussion started by: sarbjit
1 Replies

6. Shell Programming and Scripting

Make script that run with argument if not run from configuration file argument

Hello, Is there any method thorugh which script can take argument if pass otherwise if argument doesn't pass then it takes the argument from the configuration file i.e I am workiing on a script which will run through crontab and the script will chekout the code ,zip and copy to the... (3 Replies)
Discussion started by: rohit22hamirpur
3 Replies

7. UNIX for Advanced & Expert Users

Error:--test: argument expected--Even though i give an argument.

Hi All, I am running the script VBoxManage list vms |sed 's/"//g' | cut -d " " -f1 > har1out.mytxt result=`cat har1out.mytxt | grep $1' echo $result echo $1 { if then echo pass else echo fail fi (2 Replies)
Discussion started by: harsha85
2 Replies

8. UNIX for Dummies Questions & Answers

Can't bind to IP

When you get the message can't bind to ip already in use. is there a command to search to see everything that is using that IP? I've already check the host and hostname files (2 Replies)
Discussion started by: mchelle_99
2 Replies

9. UNIX for Advanced & Expert Users

Bind

Hi All I need to do bind of exiting filesystem to new storage allocated mount --bind /prod/OpenCSS /var/lib/test echo "/prod/OpenCSS /var/lib/pgsql bind bind 0 0" >> /etc/fstab will this command just work ? (2 Replies)
Discussion started by: anil529
2 Replies
getpeername(3XNET)				   X/Open Networking Services Library Functions 				getpeername(3XNET)

NAME
getpeername - get the name of the peer socket SYNOPSIS
cc [ flag ... ] file ... -lxnet [ library ... ] #include <sys/socket.h> int getpeername(int socket, struct sockaddr *restrict address, socklen_t *restrict address_len); DESCRIPTION
The getpeername() function retrieves the peer address of the specified socket, stores this address in the sockaddr structure pointed to by the address argument, and stores the length of this address in the object pointed to by the address_len argument. If the actual length of the address is greater than the length of the supplied sockaddr structure, the stored address will be truncated. If the protocol permits connections by unbound clients, and the peer is not bound, then the value stored in the object pointed to by address is unspecified. RETURN VALUES
Upon successful completion, 0 is returned. Otherwise, -1 is returned and errno is set to indicate the error. ERRORS
The getpeername() function will fail if: EBADF The socket argument is not a valid file descriptor. EFAULT The address or address_len parameter can not be accessed or written. EINVAL The socket has been shut down. ENOTCONN The socket is not connected or otherwise has not had the peer prespecified. ENOTSOCK The socket argument does not refer to a socket. EOPNOTSUPP The operation is not supported for the socket protocol. The getpeername() function may fail if: ENOBUFS Insufficient resources were available in the system to complete the call. ENOSR There were insufficient STREAMS resources available for the operation to complete. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
accept(3XNET), bind(3XNET), getsockname(3XNET), socket(3XNET), attributes(5), standards(5) SunOS 5.10 10 Jun 2002 getpeername(3XNET)
All times are GMT -4. The time now is 04:11 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy