//LWMSG_ATTR_LENGTH_MEMBER(SECURITY_ATTRIBUTES, nLength), see above comment LWMSG_MEMBER_UINT32(SECURITY_ATTRIBUTES, bInheritHandle), LWMSG_STRUCT_END, LWMSG_TYPE_END }; */ /******************************************************************************/ static LWMsgTypeSpec gRegIPCErrorSpec[] = { //NTSTATUS status; LWMSG_STRUCT_BEGIN(REG_IPC_STATUS), LWMSG_MEMBER_UINT32(REG_IPC_STATUS, status), LWMSG_STRUCT_END, LWMSG_TYPE_END }; /******************************************************************************/ static LWMsgTypeSpec gRegCreateKeyExSpec[] = { // IN HKEY hKey, // IN PCWSTR pSubKey, // IN DWORD Reserved, // IN OPTIONAL PWSTR pClass, // IN DWORD dwOptions, // IN ACCESS_MASK AccessDesired, // IN OPTIONAL PSECURITY_DESCRIPTOR_RELATIVE pSecDescRel,
}; static LWMsgTypeSpec gServiceInfoSpec[] = { LWMSG_STRUCT_BEGIN(LW_SERVICE_INFO), LWMSG_MEMBER_PWSTR(LW_SERVICE_INFO, pwszName), LWMSG_MEMBER_PWSTR(LW_SERVICE_INFO, pwszDescription), LWMSG_MEMBER_TYPESPEC(LW_SERVICE_INFO, type, gServiceTypeSpec), LWMSG_MEMBER_PWSTR(LW_SERVICE_INFO, pwszPath), LWMSG_ATTR_NOT_NULL, LWMSG_MEMBER_TYPESPEC(LW_SERVICE_INFO, ppwszArgs, gStringListSpec), LWMSG_MEMBER_TYPESPEC(LW_SERVICE_INFO, ppwszEnv, gStringListSpec), LWMSG_MEMBER_TYPESPEC(LW_SERVICE_INFO, ppwszDependencies, gStringListSpec), LWMSG_MEMBER_PWSTR(LW_SERVICE_INFO, pwszGroup), LWMSG_MEMBER_TYPESPEC(LW_SERVICE_INFO, bAutostart, gBooleanSpec), LWMSG_MEMBER_UINT32(LW_SERVICE_INFO, dwFdLimit), LWMSG_MEMBER_UINT32(LW_SERVICE_INFO, dwCoreSize), LWMSG_MEMBER_UINT32(LW_SERVICE_INFO, uShutdownTimeout), LWMSG_STRUCT_END, LWMSG_TYPE_END }; static LWMsgTypeSpec gWaitStateChangeSpec[] = { LWMSG_STRUCT_BEGIN(SM_IPC_WAIT_STATE_CHANGE_REQ), LWMSG_MEMBER_TYPESPEC(SM_IPC_WAIT_STATE_CHANGE_REQ, hHandle, gExistingHandleSpec), LWMSG_MEMBER_TYPESPEC(SM_IPC_WAIT_STATE_CHANGE_REQ, state, gServiceStateSpec), LWMSG_STRUCT_END, LWMSG_TYPE_END };
LWMSG_STRUCT_END, LWMSG_ATTR_TAG(IO_CREDS_TYPE_KRB5_TGT), /* End union */ LWMSG_UNION_END, LWMSG_ATTR_DISCRIM(IO_CREDS, type), /* End structure */ LWMSG_STRUCT_END, LWMSG_TYPE_END }; static LWMsgTypeSpec gStatusReplySpec[] = { /* Begin structure */ LWMSG_STRUCT_BEGIN(LWIO_STATUS_REPLY), /* err - marshal as 32-bit unsigned integer */ LWMSG_MEMBER_UINT32(LWIO_STATUS_REPLY, dwError), /* End structure */ LWMSG_STRUCT_END, LWMSG_TYPE_END }; static LWMsgTypeSpec gDriverNameSpec[] = { LWMSG_PWSTR, LWMSG_ATTR_NOT_NULL, LWMSG_TYPE_END }; static LWMsgTypeSpec gDriverStateSpec[] = { LWMSG_UINT8(LWIO_DRIVER_STATE),
* Marc Guy ([email protected]) * */ #include "ipc.h" /******************************************************************************/ static LWMsgTypeSpec gNtlmSecBufferSpec[] = { // DWORD cbBuffer; // DWORD BufferType; // PVOID pvBuffer; LWMSG_STRUCT_BEGIN(SecBuffer), LWMSG_MEMBER_UINT32(SecBuffer, cbBuffer), LWMSG_MEMBER_UINT32(SecBuffer, BufferType), LWMSG_MEMBER_POINTER(SecBuffer, pvBuffer, LWMSG_UINT8(CHAR)), LWMSG_ATTR_LENGTH_MEMBER(SecBuffer, cbBuffer), LWMSG_ATTR_ENCODING("hex+ascii"), LWMSG_STRUCT_END, LWMSG_TYPE_END }; /******************************************************************************/ static LWMsgTypeSpec gNtlmSecBufferDescSpec[] = { // For now, I don't believe we need this version information // DWORD ulVersion; // DWORD cBuffers;
LWMSG_UINT16(WCHAR), \ LWMSG_POINTER_END, \ LWMSG_ATTR_ZERO_TERMINATED, \ LWMSG_ATTR_ENCODING(UCS2_NATIVE) #define LWMSG_PWSTR \ LWMSG_POINTER_BEGIN, \ LWMSG_UINT16(WCHAR), \ LWMSG_POINTER_END, \ LWMSG_ATTR_STRING static LWMsgTypeSpec gLWNetIpcErrorSpec[] = { LWMSG_STRUCT_BEGIN(LWNET_IPC_ERROR), LWMSG_MEMBER_UINT32(LWNET_IPC_ERROR, dwError), LWMSG_MEMBER_PSTR(LWNET_IPC_ERROR, pszErrorMessage), LWMSG_STRUCT_END, LWMSG_TYPE_END }; static LWMsgTypeSpec gLWNetIpcLogInfoSpec[] = { LWMSG_STRUCT_BEGIN(LWNET_IPC_LOG_INFO), LWMSG_MEMBER_UINT32(LWNET_IPC_LOG_INFO, LogLevel), LWMSG_MEMBER_UINT32(LWNET_IPC_LOG_INFO, LogTarget), LWMSG_MEMBER_PSTR(LWNET_IPC_LOG_INFO, pszLogPath), LWMSG_STRUCT_END, LWMSG_TYPE_END };
* Abstract: * * Likewise I/O Subsystem (LWIO) * * File Information IPC * * Authors: Sriram Nambakam ([email protected]) * */ #include "includes.h" static LWMsgTypeSpec gFileInfo2Spec[] = { LWMSG_STRUCT_BEGIN(FILE_INFO_2), LWMSG_MEMBER_UINT32(FILE_INFO_2, fi2_id), LWMSG_STRUCT_END, LWMSG_TYPE_END }; static LWMsgTypeSpec gFileInfo3Spec[] = { LWMSG_STRUCT_BEGIN(FILE_INFO_3), LWMSG_MEMBER_UINT32(FILE_INFO_3, fi3_idd), LWMSG_MEMBER_UINT32(FILE_INFO_3, fi3_permissions), LWMSG_MEMBER_UINT32(FILE_INFO_3, fi3_num_locks), LWMSG_MEMBER_PWSTR(FILE_INFO_3, fi3_path_name), LWMSG_MEMBER_PWSTR(FILE_INFO_3, fi3_username), LWMSG_STRUCT_END, LWMSG_TYPE_END };