home *** CD-ROM | disk | FTP | other *** search
- #ifndef _SOCKADDR_H
- #define _SOCKADDR_H
-
- /* Berkeley format socket address structures. These things were rather
- * poorly thought out, but compatibility is important (or so they say).
- * Note that all the sockaddr variants must be of the same size, 16 bytes
- * to be specific. Although attempts have been made to account for alignment
- * requirements (notably in sockaddr_ax), porters should check each
- * structure.
- */
-
- /* Generic socket address structure */
- struct sockaddr {
- short sa_family;
- char sa_data[14];
- };
-
- /* This is a structure for "historical" reasons (whatever they are) */
- struct in_addr {
- unsigned long s_addr;
- };
-
- /* Socket address, DARPA Internet style */
- struct sockaddr_in {
- short sin_family;
- unsigned short sin_port;
- struct in_addr sin_addr;
- char sin_zero[8];
- };
-
- #define SOCKSIZE (sizeof(struct sockaddr))
- #define MAXSOCKSIZE SOCKSIZE /* All sockets are of the same size for now */
-
- #endif /* _SOCKADDR_H */
-