summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/ntkxapi.h
blob: 553cdff523734d1a03bcb2c75544486516e6f169 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
/*++ BUILD Version: 0001    // Increment this if a change has global effects

Copyright (c) 1995  Microsoft Corporation

Module Name:

    ntkxapi.h

Abstract:

    This module is the header file for all the executive system services
    that are exported by the "ke" directory.

Author:

    David N. Cutler (davec) 1-Apr-1995

Environment:

    Any mode.

Revision History:

--*/

#ifndef _NTKXAPI_
#define _NTKXAPI_

//
// Channel Specific Access Rights.
//

#define CHANNEL_READ_MESSAGE 0x1
#define CHANNEL_WRITE_MESSAGE 0x2
#define CHANNEL_QUERY_INFORMATION 0x4
#define CHANNEL_SET_INFORMATION 0x8

#define CHANNEL_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xf)

//
// Channel message structure.
//


typedef struct _CHANNEL_MESSAGE {
    PVOID Text;
    ULONG Length;
    PVOID Context;
    PVOID Base;
    union {
        BOOLEAN Close;
        LONGLONG Align;
    };

} CHANNEL_MESSAGE, *PCHANNEL_MESSAGE;

//
// Channel object function defintions.
//

NTSYSAPI
NTSTATUS
NTAPI
NtCreateChannel (
    OUT PHANDLE ChannelHandle,
    IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL
    );

NTSYSAPI
NTSTATUS
NTAPI
NtOpenChannel (
    OUT PHANDLE ChannelHandle,
    IN POBJECT_ATTRIBUTES ObjectAttributes
    );

NTSYSAPI
NTSTATUS
NTAPI
NtListenChannel (
    IN HANDLE ChannelHandle,
    OUT PCHANNEL_MESSAGE *Message
    );

NTSYSAPI
NTSTATUS
NTAPI
NtSendWaitReplyChannel (
    IN HANDLE ChannelHandle,
    IN PVOID Text,
    IN ULONG Length,
    OUT PCHANNEL_MESSAGE *Message
    );

NTSYSAPI
NTSTATUS
NTAPI
NtReplyWaitSendChannel (
    IN PVOID Text,
    IN ULONG Length,
    OUT PCHANNEL_MESSAGE *Message
    );

//NTSYSAPI
//NTSTATUS
//NTAPI
//NtImpersonateChannel (
//    VOID
//    );

NTSYSAPI
NTSTATUS
NTAPI
NtSetContextChannel (
    IN PVOID Context
    );

#endif  // _NTKXAPI_