1 // Licensed under the Apache License, Version 2.0 2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. 4 // All files in the project carrying such notice may not be copied, modified, or distributed 5 // except according to those terms. 6 use shared::guiddef::GUID; 7 use shared::minwindef::{ULONG, USHORT}; 8 use shared::ntdef::{LONGLONG, ULONGLONG}; 9 STRUCT!{struct SDP_LARGE_INTEGER_16 { 10 LowPart: ULONGLONG, 11 HighPart: LONGLONG, 12 }} 13 STRUCT!{struct SDP_ULARGE_INTEGER_16 { 14 LowPart: ULONGLONG, 15 HighPart: ULONGLONG, 16 }} 17 pub type PSDP_ULARGE_INTEGER_16 = *mut SDP_ULARGE_INTEGER_16; 18 pub type LPSDP_ULARGE_INTEGER_16 = *mut SDP_ULARGE_INTEGER_16; 19 pub type PSDP_LARGE_INTEGER_16 = *mut SDP_LARGE_INTEGER_16; 20 pub type LPSDP_LARGE_INTEGER_16 = *mut SDP_LARGE_INTEGER_16; 21 ENUM!{enum NodeContainerType { 22 NodeContainerTypeSequence, 23 NodeContainerTypeAlternative, 24 }} 25 pub type SDP_ERROR = USHORT; 26 pub type PSDP_ERROR = *mut USHORT; 27 ENUM!{enum SDP_TYPE { 28 SDP_TYPE_NIL = 0x00, 29 SDP_TYPE_UINT = 0x01, 30 SDP_TYPE_INT = 0x02, 31 SDP_TYPE_UUID = 0x03, 32 SDP_TYPE_STRING = 0x04, 33 SDP_TYPE_BOOLEAN = 0x05, 34 SDP_TYPE_SEQUENCE = 0x06, 35 SDP_TYPE_ALTERNATIVE = 0x07, 36 SDP_TYPE_URL = 0x08, 37 SDP_TYPE_CONTAINER = 0x20, 38 }} 39 ENUM!{enum SDP_SPECIFICTYPE { 40 SDP_ST_NONE = 0x0000, 41 SDP_ST_UINT8 = 0x0010, 42 SDP_ST_UINT16 = 0x0110, 43 SDP_ST_UINT32 = 0x0210, 44 SDP_ST_UINT64 = 0x0310, 45 SDP_ST_UINT128 = 0x0410, 46 SDP_ST_INT8 = 0x0020, 47 SDP_ST_INT16 = 0x0120, 48 SDP_ST_INT32 = 0x0220, 49 SDP_ST_INT64 = 0x0320, 50 SDP_ST_INT128 = 0x0420, 51 SDP_ST_UUID16 = 0x0130, 52 SDP_ST_UUID32 = 0x0220, 53 SDP_ST_UUID128 = 0x0430, 54 }} 55 STRUCT!{struct SdpAttributeRange { 56 minAttribute: USHORT, 57 maxAttribute: USHORT, 58 }} 59 UNION!{union SdpQueryUuidUnion { 60 [u32; 4], 61 uuid128 uuid128_mut: GUID, 62 uuid32 uuid32_mut: ULONG, 63 uuid16 uuid16_mut: USHORT, 64 }} 65 STRUCT!{struct SdpQueryUuid { 66 u: SdpQueryUuidUnion, 67 uuidType: USHORT, 68 }} 69