24#ifndef NAMED_PIPE_INCLUDED
25#define NAMED_PIPE_INCLUDED
31 FILE_READ_ATTRIBUTES | FILE_READ_DATA | FILE_WRITE_ATTRIBUTES |
32 FILE_WRITE_DATA | SYNCHRONIZE | READ_CONTROL;
34 GENERIC_READ | GENERIC_WRITE;
38 char *name_buf,
size_t buflen,
39 const char *full_access_group_name =
nullptr);
43 const char *group_name,
45#define DEFAULT_NAMED_PIPE_FULL_ACCESS_GROUP ""
46#define NAMED_PIPE_FULL_ACCESS_GROUP_EVERYONE "*everyone*"
const DWORD NAMED_PIPE_FULL_ACCESS_GROUP_PERMISSIONS
Definition: named_pipe.h:33
HANDLE create_server_named_pipe(SECURITY_ATTRIBUTES **ppsec_attr, DWORD buffer_size, const char *name, char *name_buf, size_t buflen, const char *full_access_group_name=nullptr)
Creates an instance of a named pipe and returns a handle.
Definition: named_pipe.cc:281
bool is_valid_named_pipe_full_access_group(const char *group_name)
Definition: named_pipe.cc:108
const DWORD NAMED_PIPE_OWNER_PERMISSIONS
Definition: named_pipe.h:29
const DWORD NAMED_PIPE_EVERYONE_PERMISSIONS
Definition: named_pipe.h:30
bool my_security_attr_add_rights_to_group(SECURITY_ATTRIBUTES *psa, const char *group_name, DWORD group_rights)
Definition: named_pipe.cc:126
size_t buffer_size(const ConstBufferSequence &buffers) noexcept
Definition: buffer.h:315
case opt name
Definition: sslopt-case.h:33
#define HANDLE
Definition: violite.h:159