| BLUETOOTH(3) | Library Functions Manual | BLUETOOTH(3) | 
bt_gethostbyname,
  bt_gethostbyaddr,
  bt_gethostent, bt_sethostent,
  bt_endhostent,
  bt_getprotobyname,
  bt_getprotobynumber,
  bt_getprotoent,
  bt_setprotoent,
  bt_endprotoent, bt_aton,
  bt_ntoa —
#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);
bt_gethostent(),
  bt_gethostbyname(), and
  bt_gethostbyaddr() functions each return a pointer to
  an object with the hostent structure describing a
  Bluetooth host referenced by name or by address, respectively.
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 binary 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 Multiplexer referenced by name or
    number, respectively.
The name argument passed to
    bt_getprotobyname() should point to a
    NUL-terminated Bluetooth Protocol Service
    Multiplexer name. The proto argument passed to
    bt_getprotobynumber() should have numeric value of
    the desired Bluetooth Protocol Service Multiplexer.
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 an internal static buffer will be
    used.
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 %s\n", bdstr, hp->h_name);
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_FOUNDNO_RECOVERYThe bt_getprotoent(),
    bt_getprotobyname(), and
    bt_getprotobynumber() return
    NULL on EOF or error.
libbluetooth first appeared in
  FreeBSD was ported to NetBSD
  4.0 and extended by Iain Hibbert for Itronix,
  Inc.
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.
| October 25, 2011 | NetBSD 9.4 |