ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/fdpass.C
(Generate patch)

Comparing rxvt-unicode/src/fdpass.C (file contents):
Revision 1.1 by root, Fri Dec 23 14:46:34 2005 UTC vs.
Revision 1.7 by root, Sun Jan 22 00:53:56 2006 UTC

1/*--------------------------------*-C-*---------------------------------* 1/*--------------------------------*-C-*---------------------------------*
2 * File: fdpass.C 2 * File: fdpass.C
3 *----------------------------------------------------------------------* 3 *----------------------------------------------------------------------*
4 * 4 *
5 * All portions of code are copyright by their respective author/s. 5 * All portions of code are copyright by their respective author/s.
6 * Copyright (c) 2005 Marc Lehmann <pcg@goof.com> 6 * Copyright (c) 2005-2006 Marc Lehmann <pcg@goof.com>
7 * 7 *
8 * This program is free software; you can redistribute it and/or modify 8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by 9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or 10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version. 11 * (at your option) any later version.
18 * You should have received a copy of the GNU General Public License 18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software 19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 *----------------------------------------------------------------------*/ 21 *----------------------------------------------------------------------*/
22 22
23#include "../config.h" /* NECESSARY */ 23#include "../config.h"
24 24
25#if ENABLE_FRILLS && HAVE_UNIX_FDPASS 25#include <sys/uio.h>
26
27#include <sys/types.h> 26#include <sys/types.h>
28#include <sys/socket.h> 27#include <sys/socket.h>
29 28
30#include "fdpass.h" 29#include "libptytty.h"
31
32#include <cstdio> //d
33 30
34#ifndef CMSG_LEN // CMSG_SPACe && CMSG_LEN are rfc2292 extensions to unix 31#ifndef CMSG_LEN // CMSG_SPACe && CMSG_LEN are rfc2292 extensions to unix
35# define CMSG_LEN(len) (sizeof (cmsghdr) + len) 32# define CMSG_LEN(len) (sizeof (cmsghdr) + len)
36#endif 33#endif
37 34
38int 35int
39rxvt_send_fd (int socket, int fd) 36ptytty::send_fd (int socket, int fd)
40{ 37{
41 msghdr msg; 38 msghdr msg;
42 iovec iov; 39 iovec iov;
43 char buf [CMSG_LEN (sizeof (int))]; 40 char buf [CMSG_LEN (sizeof (int))];
44 char data = 0; 41 char data = 0;
64 61
65 return sendmsg (socket, &msg, 0); 62 return sendmsg (socket, &msg, 0);
66} 63}
67 64
68int 65int
69rxvt_recv_fd (int socket) 66ptytty::recv_fd (int socket)
70{ 67{
71 msghdr msg; 68 msghdr msg;
72 iovec iov; 69 iovec iov;
73 char buf [CMSG_LEN (sizeof (int))]; /* ancillary data buffer */ 70 char buf [CMSG_LEN (sizeof (int))]; /* ancillary data buffer */
74 char data = 1; 71 char data = 1;
99 return -1; 96 return -1;
100 97
101 return *(int *)CMSG_DATA (cmsg); 98 return *(int *)CMSG_DATA (cmsg);
102} 99}
103 100
104#endif
105

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines