[lug] source for bind(int sockfd, struct sockaddr *my_addr, int addrlen)
    Matt McIllece (1-3762) 
    mcillece at elbonia.ast.lmco.com
       
    Wed Apr 18 11:33:30 MDT 2001
    
    
  
OK, I guess my post is getting off-topic, but I thought I'd share what I've 
found so far.
I haven't actually found the implementation of bind(), but I think I'm onto it 
now.
The signature of bind() is defined in /usr/src/linux-2.2.12/include/net/sock.h.  
bind() is really defined as a pointer to a function that takes those (int 
sockfd, struct sockaddr *my_addr, int addrlen) arguments (as in
(*bind) (struct socket *sock, struct sockaddr *umyaddr, int sockaddr_len)
).
In /usr/src/linux-2.2.12/include/linux/net.h, it's included as one of the 
pointers in a structure called proto_ops{}
Somewhere else there's probably some assignment of the proto_ops{} structure to 
something else that eventually implements the function under another name...
    
    
More information about the LUG
mailing list