1 {******************************************************************************}
2 {                                                                              }
3 { BlueTooth API interface Unit for Object Pascal                               }
4 {                                                                              }
5 { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft          }
6 { Corporation. All Rights Reserved.                                            }
7 {                                                                              }
8 { Portions created by Marcel van Brakel are Copyright (C) 1999-2001            }
9 { Marcel van Brakel. All Rights Reserved.                                      }
10 {                                                                              }
11 { Contributors: John Penman                                                    }
12 {                                                                              }
13 { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI)        }
14 {                                                                              }
15 { You may retrieve the latest version of this file at the Project JEDI         }
16 { APILIB home page, located at http://jedi-apilib.sourceforge.net              }
17 {                                                                              }
18 { The contents of this file are used with permission, subject to the Mozilla   }
19 { Public License Version 1.1 (the "License"); you may not use this file except }
20 { in compliance with the License. You may obtain a copy of the License at      }
21 { http://www.mozilla.org/MPL/MPL-1.1.html                                      }
22 {                                                                              }
23 { Software distributed under the License is distributed on an "AS IS" basis,   }
24 { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
25 { the specific language governing rights and limitations under the License.    }
26 {                                                                              }
27 { Alternatively, the contents of this file may be used under the terms of the  }
28 { GNU Lesser General Public License (the  "LGPL License"), in which case the   }
29 { provisions of the LGPL License are applicable instead of those above.        }
30 { If you wish to allow use of your version of this file only under the terms   }
31 { of the LGPL License and not to allow others to use your version of this file }
32 { under the MPL, indicate your decision by deleting  the provisions above and  }
33 { replace  them with the notice and other provisions required by the LGPL      }
34 { License.  If you do not delete the provisions above, a recipient may use     }
35 { your version of this file under either the MPL or the LGPL License.          }
36 {                                                                              }
37 { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
38 {                                                                              }
39 {******************************************************************************}
40 
41 // $Id: JwaBthSdpDef.pas,v 1.3 2007/09/05 11:58:49 dezipaitor Exp $
42 
43 {$IFNDEF JWA_OMIT_SECTIONS}
44 unit JWaBthSdpDef;
45 
46 {$WEAKPACKAGEUNIT}
47 {$ENDIF JWA_OMIT_SECTIONS}
48 
49 {$HPPEMIT ''}
50 {$HPPEMIT '#include "bthsdpdef.h"'}
51 {$HPPEMIT ''}
52 
53 {$IFNDEF JWA_OMIT_SECTIONS}
54 {$I jediapilib.inc}
55 
56 interface
57 
58 uses
59   JwaWinType;
60 {$ENDIF JWA_OMIT_SECTIONS}
61 
62 {$IFNDEF JWA_IMPLEMENTATIONSECTION}
63 type
64   SDP_LARGE_INTEGER_16 = record
65     LowPart: Int64;
66     HighPart: Int64;
67   end;
68   {$EXTERNALSYM SDP_LARGE_INTEGER_16}
69   PSDP_LARGE_INTEGER_16 = ^SDP_LARGE_INTEGER_16;
70   {$EXTERNALSYM PSDP_LARGE_INTEGER_16}
71   LPSDP_LARGE_INTEGER_16 = PSDP_LARGE_INTEGER_16;
72   {$EXTERNALSYM LPSDP_LARGE_INTEGER_16}
73   TSdpLargeInteger = SDP_LARGE_INTEGER_16;
74   PSdpLargeInteger = PSDP_LARGE_INTEGER_16;
75 
76   SDP_ULARGE_INTEGER_16 = record
77     LowPart: Int64;
78     HighPart: Int64;
79   end;
80   {$EXTERNALSYM SDP_ULARGE_INTEGER_16}
81   PSDP_ULARGE_INTEGER_16 = ^SDP_ULARGE_INTEGER_16;
82   {$EXTERNALSYM PSDP_ULARGE_INTEGER_16}
83   LPSDP_ULARGE_INTEGER_16 = PSDP_ULARGE_INTEGER_16;
84   {$EXTERNALSYM LPSDP_ULARGE_INTEGER_16}
85   TSdpULargeInteger16 = SDP_ULARGE_INTEGER_16;
86   PSdpULargeInteger16 = PSDP_ULARGE_INTEGER_16;
87 
88   NodeContainerType = (NodeContainerTypeSequence, NodeContainerTypeAlternative);
89   TNodeContainerType = NodeContainerType;
90 
91   SDP_ERROR = Word;
92   {$EXTERNALSYM SDP_ERROR}
93   PSDP_ERROR = ^SDP_ERROR;
94   {$EXTERNALSYM PSDP_ERROR}
95   TSdpError = SDP_ERROR;
96   PSdpError = PSDP_ERROR;
97 
98 type
99   SDP_TYPE = DWORD;
100   {$EXTERNALSYM SDP_TYPE}
101   TSdpType = SDP_TYPE;
102 
103 const
104   SDP_TYPE_NIL = $00;
105   {$EXTERNALSYM SDP_TYPE_NIL}
106   SDP_TYPE_UINT = $01;
107   {$EXTERNALSYM SDP_TYPE_UINT}
108   SDP_TYPE_INT = $02;
109   {$EXTERNALSYM SDP_TYPE_INT}
110   SDP_TYPE_UUID = $03;
111   {$EXTERNALSYM SDP_TYPE_UUID}
112   SDP_TYPE_STRING = $04;
113   {$EXTERNALSYM SDP_TYPE_STRING}
114   SDP_TYPE_BOOLEAN = $05;
115   {$EXTERNALSYM SDP_TYPE_BOOLEAN}
116   SDP_TYPE_SEQUENCE = $06;
117   {$EXTERNALSYM SDP_TYPE_SEQUENCE}
118   SDP_TYPE_ALTERNATIVE = $07;
119   {$EXTERNALSYM SDP_TYPE_ALTERNATIVE}
120   SDP_TYPE_URL = $08;
121   {$EXTERNALSYM SDP_TYPE_URL}
122   // 9 - 31 are reserved
123   SDP_TYPE_CONTAINER = $20;
124   {$EXTERNALSYM SDP_TYPE_CONTAINER}
125 
126 // allow for a little easier type checking / sizing for integers and UUIDs
127 // ((SDP_ST_XXX & 0xF0) >> 4) == SDP_TYPE_XXX
128 // size of the data (in bytes) is encoded as ((SDP_ST_XXX & 0xF0) >> 8)
129 
130 type
131   SDP_SPECIFICTYPE = DWORD;
132   {$EXTERNALSYM SDP_SPECIFICTYPE}
133   TSdpSpecificType = SDP_SPECIFICTYPE;
134 
135 const
136   SDP_ST_NONE = $0000;
137   {$EXTERNALSYM SDP_ST_NONE}
138 
139   SDP_ST_UINT8 = $0010;
140   {$EXTERNALSYM SDP_ST_UINT8}
141   SDP_ST_UINT16 = $0110;
142   {$EXTERNALSYM SDP_ST_UINT16}
143   SDP_ST_UINT32 = $0210;
144   {$EXTERNALSYM SDP_ST_UINT32}
145   SDP_ST_UINT64 = $0310;
146   {$EXTERNALSYM SDP_ST_UINT64}
147   SDP_ST_UINT128 = $0410;
148   {$EXTERNALSYM SDP_ST_UINT128}
149 
150   SDP_ST_INT8 = $0020;
151   {$EXTERNALSYM SDP_ST_INT8}
152   SDP_ST_INT16 = $0120;
153   {$EXTERNALSYM SDP_ST_INT16}
154   SDP_ST_INT32 = $0220;
155   {$EXTERNALSYM SDP_ST_INT32}
156   SDP_ST_INT64 = $0320;
157   {$EXTERNALSYM SDP_ST_INT64}
158   SDP_ST_INT128 = $0420;
159   {$EXTERNALSYM SDP_ST_INT128}
160 
161   SDP_ST_UUID16 = $0130;
162   {$EXTERNALSYM SDP_ST_UUID16}
163   SDP_ST_UUID32 = $0220;
164   {$EXTERNALSYM SDP_ST_UUID32}
165   SDP_ST_UUID128 = $0430;
166   {$EXTERNALSYM SDP_ST_UUID128}
167 
168 type
169   _SdpAttributeRange = record
170     minAttribute: Word;
171     maxAttribute: Word;
172   end;
173   {$EXTERNALSYM _SdpAttributeRange}
174   SdpAttributeRange = _SdpAttributeRange;
175   {$EXTERNALSYM SdpAttributeRange}
176   TSdpAttributeRange = SdpAttributeRange;
177 
178   SdpQueryUuidUnion = record
179     case Integer of
180       0: (uuid128: TGUID);
181       1: (uuid32: ULONG);
182       2: (uuid16: Word);
183   end;
184   TSdpQueryUuidUnion = SdpQueryUuidUnion;
185 
186   _SdpQueryUuid = record
187     u: SdpQueryUuidUnion;
188     uuidType: Word;
189   end;
190   {$EXTERNALSYM _SdpQueryUuid}
191   SdpQueryUuid = _SdpQueryUuid;
192   {$EXTERNALSYM SdpQueryUuid}
193   TSdpQueryUuid = SdpQueryUuid;
194 
195 {$ENDIF JWA_IMPLEMENTATIONSECTION}
196 
197 
198 
199 {$IFNDEF JWA_OMIT_SECTIONS}
200 implementation
201 //uses ...
202 {$ENDIF JWA_OMIT_SECTIONS}
203 
204 {$IFNDEF JWA_INTERFACESECTION}
205 //your implementation here
206 {$ENDIF JWA_INTERFACESECTION}
207 
208 {$IFNDEF JWA_OMIT_SECTIONS}
209 end.
210 {$ENDIF JWA_OMIT_SECTIONS}
211