3 Copyright 2002, 2003, 2004 Red Hat, Inc.
5 This file is part of Cygwin.
7 This software is a copyrighted work licensed under the terms of the
8 Cygwin license. Please consult the file "CYGWIN_LICENSE" for
11 #ifndef __CYGSERVER_IPC_H__
12 #define __CYGSERVER_IPC_H__
15 * Datastructure which is part of any IPC input parameter block.
18 void *vm_map; /* UNUSED */
19 struct shmmap_state *vm_shm;
30 struct vmspace *p_vmspace;
31 HANDLE signal_arrived;
34 #ifdef __INSIDE_CYGWIN__
36 ipc_set_proc_info (proc &blk)
38 blk.cygpid = getpid ();
39 blk.winpid = GetCurrentProcessId ();
40 blk.uid = geteuid32 ();
41 blk.gid = getegid32 ();
45 blk.signal_arrived = signal_arrived;
47 #endif /* __INSIDE_CYGWIN__ */
49 #ifndef __INSIDE_CYGWIN__
60 ipc_retval (int ni) { i = ni; }
62 operator int () const { return i; }
63 int operator = (int ni) { return i = ni; }
65 operator unsigned int () const { return u; }
66 unsigned int operator = (unsigned int nu) { return u = nu; }
68 operator vm_offset_t () const { return off; }
69 vm_offset_t operator = (vm_offset_t noff) { return off = noff; }
71 operator vm_object_t () const { return obj; }
72 vm_object_t operator = (vm_object_t nobj) { return obj = nobj; }
76 class process *client;
78 ipc_retval td_retval[2];
80 #define td_proc ipcblk
84 #endif /* __CYGSERVER_IPC_H__ */