26 #include <sys/types.h> 27 #include <netinet/in.h> 28 #include <sys/socket.h> 37 #include <sys/sockio.h> 45 #if defined(LINUX) || defined(ALPHA_LINUX) || defined(UNIXWARE7) || defined(AIX) 46 #define CONTROLLEN (sizeof(struct cmsghdr) + sizeof(int)) 57 #if defined(LINUX) || defined(ALPHA_LINUX) || defined(UNIXWARE7) || defined(AIX) 58 static struct cmsghdr *cmptr =
NULL;
69 iov[0].iov_base = (
char *) &send_msg;
70 iov[0].iov_len =
sizeof (
struct sendmsg_s);
74 msg.msg_name = (caddr_t) 0;
75 #if !defined(LINUX) && !defined(ALPHA_LINUX) && !defined(UNIXWARE7) && !defined(AIX) 76 msg.msg_accrights = (caddr_t) & client_fd;
77 msg.msg_accrightslen =
sizeof (client_fd);
81 cmptr->cmsg_level = SOL_SOCKET;
82 cmptr->cmsg_type = SCM_RIGHTS;
84 msg.msg_control = (
void *) cmptr;
86 *(
int *) CMSG_DATA (cmptr) = client_fd;
89 num_bytes = sendmsg (server_fd, &msg, 0);
91 if (num_bytes < (
signed int)
sizeof (
int))
#define SRV_CON_CLIENT_INFO_SIZE
int send_fd(int server_fd, int client_fd, int rid, char *driver_info)
char driver_info[SRV_CON_CLIENT_INFO_SIZE]