public void ZeroAttributes()
        {
            var    listAllocs = new List <IntPtr>();
            IntPtr pCur;
            //
            var attrRsp = new Structs.SDP_Service_Attribute_Response_Data(0, IntPtr.Zero);

            pCur = CopyToNative(listAllocs, ref attrRsp);
            //
            var svcSrchAttrRsp = new Structs.SDP_Response_Data__SDP_Service_Search_Attribute_Response_Data(
                StackConsts.SDP_Response_Data_Type.ServiceSearchAttributeResponse,
                1, pCur);

            pCur = CopyToNative(listAllocs, ref svcSrchAttrRsp);
            //
            var stuff = Create_BluetopiaSdpQuery();
            List <ServiceRecord> rList = stuff.DutSdpQuery.BuildRecordList(pCur);

            Assert.AreEqual(1, rList.Count);
            ServiceRecord r = rList[0];

            //
            Assert.AreEqual(0, r.Count, "Count");
            //
            Free(listAllocs);
        }
        internal static IntPtr ProtoDListMake_InSDPResponse_Data(List <IntPtr> listAllocs, byte port)
        {
            IntPtr pSDP_Service_Attribute_Response_Data = ProtoDListMake(listAllocs, port);
            //
            var stru = new Structs.SDP_Response_Data__SDP_Service_Search_Attribute_Response_Data(
                StackConsts.SDP_Response_Data_Type.ServiceSearchAttributeResponse,
                1, pSDP_Service_Attribute_Response_Data);
            IntPtr pCur = CopyToNative(listAllocs, ref stru);

            return(pCur);
        }
        public void UInt8()
        {
            var    listAllocs = new List <IntPtr>();
            IntPtr pCur;
            //
            var elemData = new Structs.SDP_Data_Element(
                StackConsts.SDP_Data_Element_Type.UnsignedInteger1Byte, 1);

            elemData.FakeAtUnionPosition = 0xF5;
            pCur = CopyToNative(listAllocs, ref elemData);
            //
            var attrData = new Structs.SDP_Service_Attribute_Value_Data(0xF123, pCur);

            pCur = CopyToNative(listAllocs, ref attrData);
            //
            var attrRsp = new Structs.SDP_Service_Attribute_Response_Data(1, pCur);

            pCur = CopyToNative(listAllocs, ref attrRsp);
            //
            var svcSrchAttrRsp = new Structs.SDP_Response_Data__SDP_Service_Search_Attribute_Response_Data(
                StackConsts.SDP_Response_Data_Type.ServiceSearchAttributeResponse,
                1, pCur);

            pCur = CopyToNative(listAllocs, ref svcSrchAttrRsp);
            //
            var stuff = Create_BluetopiaSdpQuery();
            List <ServiceRecord> rList = stuff.DutSdpQuery.BuildRecordList(pCur);

            Assert.AreEqual(1, rList.Count);
            ServiceRecord r = rList[0];
            //
            var attr = r[0];

            Assert.AreEqual(unchecked ((ServiceAttributeId)0xF123), attr.Id, "AttrId");
            //Assert.AreEqual(unchecked((short)0xF123), attr.IdAsOrdinalNumber, "IdAsOrdinalNumber");
            Assert.AreEqual(ElementType.UInt8, attr.Value.ElementType, "ET");
            Assert.AreEqual(ElementTypeDescriptor.UnsignedInteger, attr.Value.ElementTypeDescriptor, "ET");
            Assert.AreEqual(0xF5, attr.Value.Value, "v");
            //
            Free(listAllocs);
        }