#include #include #include #include #include #include #include #include int main(int argc, char *argv[]) { int l = socket(PF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM); struct sockaddr_rc addr, myaddr; int i, addr_len = sizeof(addr); if (0 > l) { perror("socket"); return -1; } memset(&addr, 0, sizeof(addr)); addr.rc_family = AF_BLUETOOTH; addr.rc_channel = 2; bacpy(&addr.rc_bdaddr, BDADDR_ANY); if (0 > bind(l, (struct sockaddr *)&addr, sizeof(addr))) { perror("bind"); return -1; } if (0 > listen(l, 10)) { perror("listen"); return -1; } for (i=0; i < 32; i++) { int s = accept(l, (struct sockaddr *)&addr, &addr_len); char c; if (0 > s) { perror("accept"); return -1; } printf("accepted %d\n", i); write(s, &c, 1); close(s); } return 0; }