LWMSG_TYPE_END }; static LWMsgTypeSpec gGlobalTypeSpec[] = { LWMSG_ENUM_BEGIN(SM_GLOBAL_TYPE, 1, LWMSG_UNSIGNED), LWMSG_ENUM_VALUE(SM_GLOBAL_TYPE_BOOLEAN), LWMSG_ENUM_END, LWMSG_TYPE_END }; static LWMsgTypeSpec gGlobalUnionSpec[] = { LWMSG_UNION_BEGIN(SM_GLOBAL_UNION), LWMSG_MEMBER_TYPESPEC(SM_GLOBAL_UNION, Boolean, gBooleanSpec), LWMSG_ATTR_TAG(SM_GLOBAL_TYPE_BOOLEAN), LWMSG_UNION_END, LWMSG_TYPE_END }; static LWMsgTypeSpec gGlobalValueSpec[] = { LWMSG_STRUCT_BEGIN(SM_GLOBAL_VALUE), LWMSG_MEMBER_TYPESPEC(SM_GLOBAL_VALUE, Type, gGlobalTypeSpec), LWMSG_MEMBER_TYPESPEC(SM_GLOBAL_VALUE, Value, gGlobalUnionSpec), LWMSG_ATTR_DISCRIM(SM_GLOBAL_VALUE, Type), LWMSG_STRUCT_END, LWMSG_TYPE_END }; static LWMsgTypeSpec gSetGlobalReqSpec[] =
LWMSG_ENUM_BEGIN(LWNET_ADDR_TYPE, 2, LWMSG_UNSIGNED), LWMSG_ENUM_VALUE(LWNET_IP_ADDR_V4), LWMSG_ENUM_VALUE(LWNET_IP_ADDR_V6), LWMSG_ENUM_END, LWMSG_TYPE_END }; static LWMsgTypeSpec gLWNetAddrSpec[] = { LWMSG_UNION_BEGIN(LWNET_ADDR), LWMSG_MEMBER_ARRAY_BEGIN(LWNET_ADDR, Ip4Addr), LWMSG_UINT8(BYTE), LWMSG_ARRAY_END, LWMSG_ATTR_LENGTH_STATIC(4), LWMSG_ATTR_TAG(LWNET_IP_ADDR_V4), LWMSG_MEMBER_ARRAY_BEGIN(LWNET_ADDR, Ip6Addr), LWMSG_UINT8(BYTE), LWMSG_ARRAY_END, LWMSG_ATTR_LENGTH_STATIC(16), LWMSG_ATTR_TAG(LWNET_IP_ADDR_V6), LWMSG_UNION_END, LWMSG_TYPE_END }; static LWMsgTypeSpec gLWNetResolveAddr [] = { LWMSG_STRUCT_BEGIN(LWNET_RESOLVE_ADDR), LWMSG_MEMBER_TYPESPEC(LWNET_RESOLVE_ADDR, AddressType, gLWNetAddrTypeSpec), LWMSG_MEMBER_TYPESPEC(LWNET_RESOLVE_ADDR, Address, gLWNetAddrSpec),
static LWMsgTypeSpec gNtlmQueryCredsRespSpec[] = { //DWORD ulAttribute; //SecPkgCred Buffer; LWMSG_STRUCT_BEGIN(NTLM_IPC_QUERY_CREDS_RESPONSE), LWMSG_MEMBER_UINT32(NTLM_IPC_QUERY_CREDS_RESPONSE, ulAttribute), LWMSG_MEMBER_UNION_BEGIN(NTLM_IPC_QUERY_CREDS_RESPONSE, Buffer), LWMSG_MEMBER_POINTER_BEGIN(SecPkgCred, pNames), LWMSG_TYPESPEC(gNtlmSecPkgCredNamesSpec), LWMSG_POINTER_END, LWMSG_ATTR_TAG(SECPKG_CRED_ATTR_NAMES), LWMSG_MEMBER_POINTER_BEGIN(SecPkgCred, pDomainName), LWMSG_TYPESPEC(gNtlmSecPkgCredDomainNameSpec), LWMSG_POINTER_END, LWMSG_ATTR_TAG(SECPKG_CRED_ATTR_DOMAIN_NAME), LWMSG_UNION_END, LWMSG_ATTR_DISCRIM(NTLM_IPC_QUERY_CREDS_RESPONSE, ulAttribute), LWMSG_STRUCT_END, LWMSG_TYPE_END }; /******************************************************************************/
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 }; #define FILE_INFO_LEVEL_2 2 #define FILE_INFO_LEVEL_3 3 static LWMsgTypeSpec gFileInfoUnionSpec[] = { LWMSG_UNION_BEGIN(FILE_INFO_UNION), LWMSG_MEMBER_POINTER(FILE_INFO_UNION, p2, LWMSG_TYPESPEC(gFileInfo2Spec)), LWMSG_ATTR_TAG(FILE_INFO_LEVEL_2), LWMSG_MEMBER_POINTER(FILE_INFO_UNION, p3, LWMSG_TYPESPEC(gFileInfo3Spec)), LWMSG_ATTR_TAG(FILE_INFO_LEVEL_3), LWMSG_UNION_END, LWMSG_TYPE_END }; static LWMsgTypeSpec gFileInfoEnumInParamsSpec[] = { LWMSG_STRUCT_BEGIN(FILE_INFO_ENUM_IN_PARAMS), LWMSG_MEMBER_PWSTR(FILE_INFO_ENUM_IN_PARAMS, pwszBasepath), LWMSG_MEMBER_PWSTR(FILE_INFO_ENUM_IN_PARAMS, pwszUsername), LWMSG_MEMBER_UINT32(FILE_INFO_ENUM_IN_PARAMS, dwInfoLevel), LWMSG_MEMBER_UINT32(FILE_INFO_ENUM_IN_PARAMS, dwPreferredMaxLength), LWMSG_MEMBER_UINT32(FILE_INFO_ENUM_IN_PARAMS, dwEntriesRead), LWMSG_MEMBER_UINT32(FILE_INFO_ENUM_IN_PARAMS, dwTotalEntries),