Bluetooth TDI and winsock interface
Abstract
A method, apparatus, and computer program product provide applications and application developers with generic access from user mode to the L2CAP layer of Bluetooth by exposing the L2CAP layer to user mode via a socket interface. In particular, a kernel mode primary component and user mode helper component cooperate to expose a Winsock interface to user mode components, and to manage various Bluetooth-specific functions and operations, allowing a user mode user application to access Bluetooth functionality without providing Bluetooth-specific commands or actions, and without being required to use RFCOMM.
Claims
exact text as granted — not AI-modified1 . A computer-readable medium on which is stored a helper module comprising:
a Winsock module interface; a Bluetooth driver coupling providing access to a Bluetooth protocol and a plurality of Bluetooth protocol functions; and a function for accepting data from the Winsock module interface and for interfacing with the Bluetooth driver coupling to access one or more of the plurality of Bluetooth protocol functions.
2 . The computer-readable medium of claim 1 , wherein the function comprises:
a name which is WSHEnumProtocols; a parameter for accepting a value from the data, the parameter representing a protocol type including the Bluetooth protocol; executable instructions for providing a list of supported protocols including the Bluetooth protocol type; and executable instructions for returning the list of supported protocols.
3 . The computer-readable medium of claim 1 , wherein the function comprises:
a name which is WSHGetSockaddrType; a parameter for accepting a value from the data, the parameter representing socket information associated with the Bluetooth protocol; executable instructions for verifying the socket information and for providing further information about the socket information; and executable instructions for returning the further information including socket address information.
4 . The computer-readable medium of claim 1 , wherein the function comprises:
a name which is WSHGetSocketInformation; a parameter for accepting a value from the data, the parameter representing an option associated with the Bluetooth protocol; executable instructions for performing an operation indicated by the option; and executable instructions for returning information about the performance of the operation including an option length.
5 . The computer-readable medium of claim 1 , wherein the function comprises:
a name which is WSHGetWildcardSockAddr; a parameter for accepting a value from the data, the parameter representing socket information associated with the Bluetooth protocol; executable instructions for performing a bind operation using the socket information; and executable instructions for returning information about the performance of the bind operation including a socket address and a socket address length.
6 . The computer-readable medium of claim 1 , wherein the function comprises:
a name which is WSHGetWinsockMapping; executable instructions for providing information about types of sockets supported by a Bluetooth protocol module; and executable instructions for returning information about the types of sockets including a mapping.
7 . The computer-readable medium of claim 1 , wherein the function comprises:
a name which is WSHNotify; a parameter for accepting a value from the data, the parameter representing socket information associated with the Bluetooth protocol; executable instructions for receiving notification of a state transition associated with the socket information; and executable instructions for returning information about the state transition.
8 . The computer-readable medium of claim 1 , wherein the function comprises:
a name which is WSHOpenSocket; a parameter for accepting a value from the data, the parameter representing a socket type indicating the Bluetooth protocol; executable instructions for opening a socket of the socket type represented; and executable instructions for returning information about the socket.
9 . The computer-readable medium of claim 1 , wherein the function comprises:
a name which is WSHSetSocketInformation; a parameter for accepting a value from the data, the parameter representing an option associated with the Bluetooth protocol; executable instructions for performing an operation represented by the option; and executable instructions for returning information about the performance of the operation including a list of discovered devices.
10 . The computer-readable medium of claim 1 , wherein the function comprises:
a name which is WSHAddressToString; a parameter for accepting a value from the data, the parameter representing socket information associated with the Bluetooth protocol; executable instructions for returning a string representation of a socket address, the string being derived from the socket information, and an address string length.
11 . The computer-readable medium of claim 1 , wherein the function comprises:
a name which is WSHGetProviderGuid; a parameter for accepting a value from the data, the parameter representing a provider associated with the Bluetooth protocol; executable instructions for returning information indicating one or more protocols supported by the provider.
12 . The computer-readable medium of claim 1 , wherein the function comprises:
a name which is WSHGetWSAProtocolInfo; a parameter for accepting a value from the data, the parameter representing a provider associated with the Bluetooth protocol; executable instructions for returning information about one or more protocols supported by the provider.
13 . The computer-readable medium of claim 1 , wherein the function comprises:
a name which is WSHIoctl; a parameter for accepting a value from the data, the parameter representing socket information associated with the Bluetooth protocol; executable instructions for performing zero or more operations related to the socket information; and executable instructions for returning information about the performance of the operations including a number of bytes returned.
14 . The computer-readable medium of claim 1 , wherein the function comprises:
a name which is WSHOpenSocket2; a parameter for accepting a value from the data, the parameter representing a socket type associated with the Bluetooth protocol; executable instructions for creating a socket of the socket type represented; and executable instructions for returning information about the socket.
15 . The computer-readable medium of claim 1 , wherein the function comprises:
a name which is WSHStringToAddress; a parameter for accepting a value from the data, the parameter representing an address string associated with the Bluetooth protocol; executable instructions for returning a structured representation of a socket address, the structured representation being derived from the address string.
16 . A system for providing Bluetooth communications functionality comprising:
a helper module; a Winsock module interface; a Bluetooth driver coupling providing access to a Bluetooth protocol and a plurality of Bluetooth protocol functions; and a function for accepting data from the Winsock module interface and for interfacing with the Bluetooth driver coupling to access one or more of the plurality of Bluetooth protocol functions.
17 . The system of claim 16 , wherein the helper module is a dynamic link library named wshbth.dll.
18 . The system of claim 16 , wherein the helper module operates in a user mode of a computing device.
19 . The system of claim 16 , wherein the helper module couples with a Bluetooth driver, the Bluetooth driver operating in a kernel mode of a computing device.
20 . The system of claim 16 , wherein the Winsock module interface is a programming interface.Join the waitlist — get patent alerts
Track US2006101471A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.