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 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
/*
Unix SMB/CIFS implementation.
SMB parameters and setup
Copyright (C) Gerald (Jerry) Carter 2005
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef _RPC_NTSVCS_H /* _RPC_NTSVCS_H */
#define _RPC_NTSVCS_H
/* ntsvcs pipe */
#define NTSVCS_GET_VERSION 0x02
#define NTSVCS_VALIDATE_DEVICE_INSTANCE 0x06
#define NTSVCS_GET_ROOT_DEVICE_INSTANCE 0x07
#define NTSVCS_GET_DEVICE_LIST 0x0a
#define NTSVCS_GET_DEVICE_LIST_SIZE 0x0b
#define NTSVCS_GET_DEVICE_REG_PROPERTY 0x0d
#define NTSVCS_HW_PROFILE_FLAGS 0x28
#define NTSVCS_GET_HW_PROFILE_INFO 0x29
#define NTSVCS_GET_VERSION_INTERNAL 0x3e
/**************************/
typedef struct {
/* nothing in the request */
uint32 dummy;
} NTSVCS_Q_GET_VERSION;
typedef struct {
uint32 version;
WERROR status;
} NTSVCS_R_GET_VERSION;
/**************************/
typedef struct {
UNISTR2 *devicename;
uint32 flags;
} NTSVCS_Q_GET_DEVICE_LIST_SIZE;
typedef struct {
uint32 size;
WERROR status;
} NTSVCS_R_GET_DEVICE_LIST_SIZE;
/**************************/
typedef struct {
UNISTR2 *devicename;
uint32 buffer_size;
uint32 flags;
} NTSVCS_Q_GET_DEVICE_LIST;
typedef struct {
UNISTR2 devicepath;
uint32 needed;
WERROR status;
} NTSVCS_R_GET_DEVICE_LIST;
/**************************/
typedef struct {
UNISTR2 devicepath;
uint32 flags;
} NTSVCS_Q_VALIDATE_DEVICE_INSTANCE;
typedef struct {
WERROR status;
} NTSVCS_R_VALIDATE_DEVICE_INSTANCE;
/**************************/
#define DEV_REGPROP_DESC 1
typedef struct {
UNISTR2 devicepath;
uint32 property;
uint32 unknown2;
uint32 buffer_size1;
uint32 buffer_size2;
uint32 unknown5;
} NTSVCS_Q_GET_DEVICE_REG_PROPERTY;
typedef struct {
uint32 unknown1;
REGVAL_BUFFER value;
uint32 size;
uint32 needed;
WERROR status;
} NTSVCS_R_GET_DEVICE_REG_PROPERTY;
/**************************/
typedef struct {
uint32 index;
uint8 *buffer;
uint32 buffer_size;
uint32 unknown1;
} NTSVCS_Q_GET_HW_PROFILE_INFO;
typedef struct {
uint32 buffer_size; /* the size (not included in the reply)
if just matched from the request */
uint8 *buffer;
WERROR status;
} NTSVCS_R_GET_HW_PROFILE_INFO;
/**************************/
typedef struct {
uint32 unknown1;
UNISTR2 devicepath;
uint32 unknown2;
uint32 unknown3;
uint32 unknown4;
uint32 unknown5;
uint32 unknown6;
uint32 unknown7;
} NTSVCS_Q_HW_PROFILE_FLAGS;
typedef struct {
uint32 unknown1;
uint32 unknown2;
uint32 unknown3;
WERROR status;
} NTSVCS_R_HW_PROFILE_FLAGS;
#endif /* _RPC_NTSVCS_H */
|