r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text
[Samba/bb.git] / source / include / rpc_ntsvcs.h
blob045d9b4e925a75d47949b7aeb9d68103471ed802
1 /*
2 Unix SMB/CIFS implementation.
3 SMB parameters and setup
4 Copyright (C) Gerald (Jerry) Carter 2005
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef _RPC_NTSVCS_H /* _RPC_NTSVCS_H */
21 #define _RPC_NTSVCS_H
23 /* ntsvcs pipe */
25 #define NTSVCS_GET_VERSION 0x02
26 #define NTSVCS_VALIDATE_DEVICE_INSTANCE 0x06
27 #define NTSVCS_GET_ROOT_DEVICE_INSTANCE 0x07
28 #define NTSVCS_GET_DEVICE_LIST 0x0a
29 #define NTSVCS_GET_DEVICE_LIST_SIZE 0x0b
30 #define NTSVCS_GET_DEVICE_REG_PROPERTY 0x0d
31 #define NTSVCS_HW_PROFILE_FLAGS 0x28
32 #define NTSVCS_GET_HW_PROFILE_INFO 0x29
33 #define NTSVCS_GET_VERSION_INTERNAL 0x3e
36 /**************************/
38 typedef struct {
39 /* nothing in the request */
40 uint32 dummy;
41 } NTSVCS_Q_GET_VERSION;
43 typedef struct {
44 uint32 version;
45 WERROR status;
46 } NTSVCS_R_GET_VERSION;
49 /**************************/
51 typedef struct {
52 UNISTR2 *devicename;
53 uint32 flags;
54 } NTSVCS_Q_GET_DEVICE_LIST_SIZE;
56 typedef struct {
57 uint32 size;
58 WERROR status;
59 } NTSVCS_R_GET_DEVICE_LIST_SIZE;
62 /**************************/
64 typedef struct {
65 UNISTR2 *devicename;
66 uint32 buffer_size;
67 uint32 flags;
68 } NTSVCS_Q_GET_DEVICE_LIST;
70 typedef struct {
71 UNISTR2 devicepath;
72 uint32 needed;
73 WERROR status;
74 } NTSVCS_R_GET_DEVICE_LIST;
76 /**************************/
78 typedef struct {
79 UNISTR2 devicepath;
80 uint32 flags;
81 } NTSVCS_Q_VALIDATE_DEVICE_INSTANCE;
83 typedef struct {
84 WERROR status;
85 } NTSVCS_R_VALIDATE_DEVICE_INSTANCE;
87 /**************************/
89 #define DEV_REGPROP_DESC 1
91 typedef struct {
92 UNISTR2 devicepath;
93 uint32 property;
94 uint32 unknown2;
95 uint32 buffer_size1;
96 uint32 buffer_size2;
97 uint32 unknown5;
98 } NTSVCS_Q_GET_DEVICE_REG_PROPERTY;
100 typedef struct {
101 uint32 unknown1;
102 REGVAL_BUFFER value;
103 uint32 size;
104 uint32 needed;
105 WERROR status;
106 } NTSVCS_R_GET_DEVICE_REG_PROPERTY;
109 /**************************/
111 typedef struct {
112 uint32 index;
113 uint8 *buffer;
114 uint32 buffer_size;
115 uint32 unknown1;
116 } NTSVCS_Q_GET_HW_PROFILE_INFO;
118 typedef struct {
119 uint32 buffer_size; /* the size (not included in the reply)
120 if just matched from the request */
121 uint8 *buffer;
122 WERROR status;
123 } NTSVCS_R_GET_HW_PROFILE_INFO;
126 /**************************/
128 typedef struct {
129 uint32 unknown1;
130 UNISTR2 devicepath;
131 uint32 unknown2;
132 uint32 unknown3;
133 uint32 unknown4;
134 uint32 unknown5;
135 uint32 unknown6;
136 uint32 unknown7;
137 } NTSVCS_Q_HW_PROFILE_FLAGS;
139 typedef struct {
140 uint32 unknown1;
141 uint32 unknown2;
142 uint32 unknown3;
143 WERROR status;
144 } NTSVCS_R_HW_PROFILE_FLAGS;
146 #endif /* _RPC_NTSVCS_H */