06-04-2011
Quote:
Originally Posted by
vistastar
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.
Remember how many different protocols go through these same socket calls. These structures are all the same size, but there may be other protocols where they're not.
I'm sure you know the actual spelling.
9 More Discussions You Might Find Interesting
1. 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? (4 Replies)
Discussion started by: nehagupta2008
4 Replies
3. UNIX for Dummies Questions & Answers
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
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
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
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
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
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
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
LEARN ABOUT MOJAVE
bindresvport
BINDRESVPORT(3) BSD Library Functions Manual BINDRESVPORT(3)
NAME
bindresvport, bindresvport_sa -- bind a socket to a privileged IP port
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/types.h>
#include <rpc/rpc.h>
int
bindresvport(int sd, struct sockaddr_in *sin);
int
bindresvport_sa(int sd, struct sockaddr *sa);
DESCRIPTION
The bindresvport() and bindresvport_sa() functions are used to bind a socket descriptor to a privileged IP port, that is, a port number in
the range 0-1023.
If sin is a pointer to a struct sockaddr_in then the appropriate fields in the structure should be defined. Note that sin->sin_family must
be initialized to the address family of the socket, passed by sd. If sin->sin_port is '0' then an anonymous port (in the range 600-1023)
will be chosen, and if bind(2) is successful, the sin->sin_port will be updated to contain the allocated port.
If sin is the NULL pointer, an anonymous port will be allocated (as above). However, there is no way for bindresvport() to return the allo-
cated port in this case.
Only root can bind to a privileged port; this call will fail for any other users.
Function prototype of bindresvport() is biased to AF_INET socket. The bindresvport_sa() function acts exactly the same, with more neutral
function prototype. Note that both functions behave exactly the same, and both support AF_INET6 sockets as well as AF_INET sockets.
RETURN VALUES
The bindresvport() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to
indicate the error.
ERRORS
[EPFNOSUPPORT] If second argument was supplied, and address family did not match between arguments.
The bindresvport() function may also fail and set errno for any of the errors specified for the calls bind(2), getsockopt(2), or
setsockopt(2).
SEE ALSO
bind(2), getsockopt(2), setsockopt(2), ip(4)
BSD
November 22, 1987 BSD