Copyright (C) 2000-2012 |
GNU Info (libc.info)Local Namespace DetailsDetails of Local Namespace -------------------------- To create a socket in the local namespace, use the constant `PF_LOCAL' as the NAMESPACE argument to `socket' or `socketpair'. This constant is defined in `sys/socket.h'. - Macro: int PF_LOCAL This designates the local namespace, in which socket addresses are local names, and its associated family of protocols. `PF_Local' is the macro used by Posix.1g. - Macro: int PF_UNIX This is a synonym for `PF_LOCAL', for compatibility's sake. - Macro: int PF_FILE This is a synonym for `PF_LOCAL', for compatibility's sake. The structure for specifying socket names in the local namespace is defined in the header file `sys/un.h': - Data Type: struct sockaddr_un This structure is used to specify local namespace socket addresses. It has the following members: `short int sun_family' This identifies the address family or format of the socket address. You should store the value `AF_LOCAL' to designate the local namespace. Note: Socket Addresses. `char sun_path[108]' This is the file name to use. *Incomplete:* Why is 108 a magic number? RMS suggests making this a zero-length array and tweaking the following example to use `alloca' to allocate an appropriate amount of storage based on the length of the filename. You should compute the LENGTH parameter for a socket address in the local namespace as the sum of the size of the `sun_family' component and the string length (_not_ the allocation size!) of the file name string. This can be done using the macro `SUN_LEN': - Macro: int SUN_LEN (_struct sockaddr_un *_ PTR) The macro computes the length of socket address in the local namespace. automatically generated by info2www version 1.2.2.9 |