bluetooth(3)
NAME
- bt_gethostbyname, bt_gethostbyaddr, bt_gethostent,
- bt_sethostent, bt_endhostent, bt_getprotobyname, bt_getprotobynumber,
- bt_getprotoent, bt_setprotoent, bt_endprotoent, bt_aton, bt_ntoa - Bluetooth
- routines
LIBRARY
library ``libbluetooth''
SYNOPSIS
#include <bluetooth.h> struct hostent * bt_gethostbyname(const char *name); struct hostent * bt_gethostbyaddr(const char *addr, int len, int type); struct hostent * bt_gethostent(void); void bt_sethostent(int stayopen); void bt_endhostent(void); struct protoent * bt_getprotobyname(const char *name); struct protoent * bt_getprotobynumber(int proto); struct protoent * bt_getprotoent(void); void bt_setprotoent(int stayopen); void bt_endprotoent(void); int bt_aton(const char *str, bdaddr_t *ba); const char * bt_ntoa(const bdaddr_t *ba, char *str);
DESCRIPTION
- The bt_gethostent(), bt_gethostbyname() and
- bt_gethostbyaddr() functions each return a pointer to an object with the hostent struc
- ture describing a Bluetooth host referenced by name or by address, respec
- tively.
- The name argument passed to bt_gethostbyname() should point
- to a NUL-terminated hostname. The addr argument passed to
- bt_gethostbyaddr() should point to an address which is len bytes long, in bina
- ry form (i.e., not a Bluetooth BD_ADDR in human readable ASCII form). The
- type argument specifies the address family of this address and must be set
- to AF_BLUETOOTH.
- The structure returned contains the information obtained
- from a line in /etc/bluetooth/hosts file.
- The bt_sethostent() function controls whether
- /etc/bluetooth/hosts file should stay open after each call to bt_gethostbyname() or bt_gethostbyaddr(). If the stayopen flag is non-zero, the
- file will not be closed.
- The bt_endhostent() function closes the /etc/bluetooth/hosts
- file.
- The bt_getprotoent(), bt_getprotobyname() and
- bt_getprotobynumber() functions each return a pointer to an object with the protoent
- structure describing a Bluetooth Protocol Service Multiplexor refer
- enced by name or number, respectively.
- The name argument passed to bt_getprotobyname() should point
- to a NUL-terminated Bluetooth Protocol Service Multiplexor name.
- The proto argument passed to bt_getprotobynumber() should have numeric
- value of the desired Bluetooth Protocol Service Multiplexor.
- The structure returned contains the information obtained
- from a line in /etc/bluetooth/protocols file.
- The bt_setprotoent() function controls whether
- /etc/bluetooth/protocols file should stay open after each call to bt_getprotobyname()
- or bt_getprotobynumber(). If the stayopen flag is non-zero,
- the file will not be closed.
- The bt_endprotoent() function closes the
- /etc/bluetooth/protocols file.
- The bt_aton() routine interprets the specified character
- string as a Bluetooth address, placing the address into the structure
- provided. It returns 1 if the string was successfully interpreted, or 0
- if the string is invalid.
- The routine bt_ntoa() takes a Bluetooth address and places
- an ASCII string representing the address into the buffer provided.
- It is up to the caller to ensure that provided buffer has enough space.
- If no buffer was provided then internal static buffer will be used.
FILES
/etc/bluetooth/hosts
/etc/bluetooth/protocolsEXAMPLES
- Print out the hostname associated with a specific BD_ADDR:
- const char *bdstr = "00:01:02:03:04:05"; bdaddr_t bd; struct hostent *hp;
- if (!bt_aton(bdstr, &bd))
errx(1, "can't parse BD_ADDR %s", bdstr);
- if ((hp = bt_gethostbyaddr((const char *)&bd,
- sizeof(bd), AF_BLUETOOTH)) == NULL)
errx(1, "no name associated with %s", bdstr);
- printf("name associated with %s is %s0, bdstr,
- hp->h_name);
DIAGNOSTICS
- Error return status from bt_gethostent(), bt_gethostbyname()
- and bt_gethostbyaddr() is indicated by return of a NULL pointer.
- The external integer h_errno may then be checked to see whether this
- is a temporary failure or an invalid or unknown host. The routine
- herror(3) can be used to print an error message describing the failure. If
- its argument string is non-NULL, it is printed, followed by a colon and a
- space. The error message is printed with a trailing newline.
- The variable h_errno can have the following values:
- HOST_NOT_FOUND No such host is known.
- NO_RECOVERY Some unexpected server failure was en
- countered. This
- is a non-recoverable error.
- The bt_getprotoent(), bt_getprotobyname() and
- bt_getprotobynumber() return NULL on EOF or error.
SEE ALSO
gethostbyaddr(3), gethostbyname(3), getprotobyname(3),
getprotobynumber(3), herror(3), inet_aton(3), inet_ntoa(3)CAVEAT
- The bt_gethostent() function reads the next line of
- /etc/bluetooth/hosts, opening the file if necessary.
- The bt_sethostent() function opens and/or rewinds the /etc/bluetooth/hosts file.
- The bt_getprotoent() function reads the next line of /etc/bluetooth/protocols, opening the file if necessary.
- The bt_setprotoent() function opens and/or rewinds the /etc/bluetooth/protocols file.
AUTHORS
Maksim Yevmenkin <m_evmenkin@yahoo.com>
BUGS
- These functions use static data storage; if the data is
- needed for future use, it should be copied before any subsequent calls over
- write it.
- BSD May 7, 2003