{ LWMSG_ENUM_BEGIN(LW_SM_LOGGER_TYPE, 1, LWMSG_UNSIGNED), LWMSG_ENUM_VALUE(LW_SM_LOGGER_DEFAULT), LWMSG_ENUM_VALUE(LW_SM_LOGGER_NONE), LWMSG_ENUM_VALUE(LW_SM_LOGGER_SYSLOG), LWMSG_ENUM_VALUE(LW_SM_LOGGER_FILE), LWMSG_ENUM_END, LWMSG_TYPE_END }; 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[] =
//SecBufferDesc Output; //DWORD fContextAttr; //TimeStamp tsTimeStamp; LWMSG_STRUCT_BEGIN(NTLM_IPC_ACCEPT_SEC_CTXT_RESPONSE), LWMSG_MEMBER_HANDLE( NTLM_IPC_ACCEPT_SEC_CTXT_RESPONSE, hNewContext, NTLM_CONTEXT_HANDLE ), LWMSG_ATTR_HANDLE_LOCAL_FOR_SENDER, LWMSG_MEMBER_TYPESPEC( NTLM_IPC_ACCEPT_SEC_CTXT_RESPONSE, Output, gNtlmSecBufferSpec ), LWMSG_MEMBER_UINT32(NTLM_IPC_ACCEPT_SEC_CTXT_RESPONSE, fContextAttr), LWMSG_MEMBER_UINT64(NTLM_IPC_ACCEPT_SEC_CTXT_RESPONSE, tsTimeStamp), LWMSG_MEMBER_UINT32(NTLM_IPC_ACCEPT_SEC_CTXT_RESPONSE, dwStatus), LWMSG_STRUCT_END, LWMSG_TYPE_END }; /******************************************************************************/
LWMsgTypeSpec gSecurityTokenType[] = { LWMSG_ENUM_BEGIN(enum _LW_IO_CREDS_TYPE, 1, LWMSG_UNSIGNED), LWMSG_ENUM_VALUE(IO_CREDS_TYPE_PLAIN), LWMSG_ENUM_VALUE(IO_CREDS_TYPE_KRB5_CCACHE), LWMSG_ENUM_VALUE(IO_CREDS_TYPE_KRB5_TGT), LWMSG_ENUM_END, LWMSG_TYPE_END }; LWMsgTypeSpec gSecurityTokenRepSpec[] = { /* Begin structure */ LWMSG_STRUCT_BEGIN(IO_CREDS), /* Discriminator */ LWMSG_MEMBER_TYPESPEC(IO_CREDS, type, gSecurityTokenType), /* Begin union */ LWMSG_MEMBER_UNION_BEGIN(IO_CREDS, payload), /* Union arm -- plain */ LWMSG_MEMBER_STRUCT_BEGIN(union _LW_IO_CREDS_U, plain), LWMSG_MEMBER_PWSTR(struct _LW_IO_CREDS_PLAIN, pwszUsername), LWMSG_MEMBER_PWSTR(struct _LW_IO_CREDS_PLAIN, pwszDomain), LWMSG_MEMBER_PWSTR(struct _LW_IO_CREDS_PLAIN, pwszPassword), LWMSG_ATTR_SENSITIVE, LWMSG_STRUCT_END, LWMSG_ATTR_TAG(IO_CREDS_TYPE_PLAIN), /* Union arm -- krb5 ccache */ LWMSG_MEMBER_STRUCT_BEGIN(union _LW_IO_CREDS_U, krb5Ccache), LWMSG_MEMBER_PWSTR(struct _LW_IO_CREDS_KRB5_CCACHE, pwszPrincipal), LWMSG_MEMBER_PWSTR(struct _LW_IO_CREDS_KRB5_CCACHE, pwszCachePath), LWMSG_STRUCT_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), LWMSG_ATTR_DISCRIM(LWNET_RESOLVE_ADDR, AddressType), LWMSG_STRUCT_END, LWMSG_TYPE_END }; static LWMsgTypeSpec gLWNetResolveNameAddressSpec[] = { LWMSG_STRUCT_BEGIN(LWNET_RESOLVE_NAME_ADDRESS), LWMSG_MEMBER_PWSTR(LWNET_RESOLVE_NAME_ADDRESS, pwszHostName), LWMSG_STRUCT_END, LWMSG_TYPE_END };