]>
Commit | Line | Data |
---|---|---|
282113ba | 1 | /* transport_pipes.h |
56797078 | 2 | |
282113ba | 3 | Copyright 2001, 2002, 2003 Red Hat Inc. |
56797078 CV |
4 | |
5 | Written by Robert Collins <rbtcollins@hotmail.com> | |
6 | ||
7 | This file is part of Cygwin. | |
8 | ||
9 | This software is a copyrighted work licensed under the terms of the | |
10 | Cygwin license. Please consult the file "CYGWIN_LICENSE" for | |
11 | details. */ | |
12 | ||
282113ba CV |
13 | #ifndef _TRANSPORT_PIPES_H |
14 | #define _TRANSPORT_PIPES_H | |
56797078 CV |
15 | |
16 | /* Named pipes based transport, for security on NT */ | |
17 | class transport_layer_pipes : public transport_layer_base | |
18 | { | |
19 | public: | |
20 | #ifndef __INSIDE_CYGWIN__ | |
21 | virtual int listen (); | |
22 | virtual class transport_layer_pipes *accept (bool *recoverable); | |
23 | #endif | |
24 | ||
25 | virtual void close (); | |
26 | virtual ssize_t read (void *buf, size_t len); | |
27 | virtual ssize_t write (void *buf, size_t len); | |
28 | virtual int connect (); | |
29 | ||
30 | #ifndef __INSIDE_CYGWIN__ | |
282113ba CV |
31 | virtual bool impersonate_client (); |
32 | virtual bool revert_to_self (); | |
56797078 CV |
33 | #endif |
34 | ||
35 | transport_layer_pipes (); | |
36 | virtual ~transport_layer_pipes (); | |
37 | ||
38 | private: | |
56797078 CV |
39 | const char *const _pipe_name; |
40 | HANDLE _hPipe; | |
41 | const bool _is_accepted_endpoint; | |
42 | bool _is_listening_endpoint; | |
43 | ||
44 | transport_layer_pipes (HANDLE hPipe); | |
45 | }; | |
46 | ||
282113ba | 47 | #endif /* _TRANSPORT_PIPES_H */ |