Revision c227f099 hw/bt.h

b/hw/bt.h
26 26
/* BD Address */
27 27
typedef struct {
28 28
    uint8_t b[6];
29
} __attribute__((packed)) a_bdaddr;
29
} __attribute__((packed)) bdaddr_t;
30 30

  
31
#define BDADDR_ANY	(&(a_bdaddr) {{0, 0, 0, 0, 0, 0}})
32
#define BDADDR_ALL	(&(a_bdaddr) {{0xff, 0xff, 0xff, 0xff, 0xff, 0xff}})
33
#define BDADDR_LOCAL	(&(a_bdaddr) {{0, 0, 0, 0xff, 0xff, 0xff}})
31
#define BDADDR_ANY	(&(bdaddr_t) {{0, 0, 0, 0, 0, 0}})
32
#define BDADDR_ALL	(&(bdaddr_t) {{0xff, 0xff, 0xff, 0xff, 0xff, 0xff}})
33
#define BDADDR_LOCAL	(&(bdaddr_t) {{0, 0, 0, 0xff, 0xff, 0xff}})
34 34

  
35 35
/* Copy, swap, convert BD Address */
36
static inline int bacmp(const a_bdaddr *ba1, const a_bdaddr *ba2)
36
static inline int bacmp(const bdaddr_t *ba1, const bdaddr_t *ba2)
37 37
{
38
    return memcmp(ba1, ba2, sizeof(a_bdaddr));
38
    return memcmp(ba1, ba2, sizeof(bdaddr_t));
39 39
}
40
static inline void bacpy(a_bdaddr *dst, const a_bdaddr *src)
40
static inline void bacpy(bdaddr_t *dst, const bdaddr_t *src)
41 41
{
42
    memcpy(dst, src, sizeof(a_bdaddr));
42
    memcpy(dst, src, sizeof(bdaddr_t));
43 43
}
44 44

  
45 45
#define BAINIT(orig)	{ .b = {		\
......
71 71

  
72 72
struct bt_device_s {
73 73
    int lt_addr;
74
    a_bdaddr bd_addr;
74
    bdaddr_t bd_addr;
75 75
    int mtu;
76 76
    int setup;
77 77
    struct bt_scatternet_s *net;
......
451 451

  
452 452
typedef struct {
453 453
    uint8_t		status;
454
    a_bdaddr	bdaddr;
454
    bdaddr_t	bdaddr;
455 455
} __attribute__ ((packed)) status_bdaddr_rp;
456 456
#define STATUS_BDADDR_RP_SIZE 7
457 457

  
......
471 471

  
472 472
#define OCF_CREATE_CONN			0x0005
473 473
typedef struct {
474
    a_bdaddr	bdaddr;
474
    bdaddr_t	bdaddr;
475 475
    uint16_t	pkt_type;
476 476
    uint8_t	pscan_rep_mode;
477 477
    uint8_t	pscan_mode;
......
497 497
#define OCF_CREATE_CONN_CANCEL		0x0008
498 498
typedef struct {
499 499
    uint8_t	status;
500
    a_bdaddr	bdaddr;
500
    bdaddr_t	bdaddr;
501 501
} __attribute__ ((packed)) create_conn_cancel_cp;
502 502
#define CREATE_CONN_CANCEL_CP_SIZE 6
503 503

  
504 504
typedef struct {
505 505
    uint8_t	status;
506
    a_bdaddr	bdaddr;
506
    bdaddr_t	bdaddr;
507 507
} __attribute__ ((packed)) create_conn_cancel_rp;
508 508
#define CREATE_CONN_CANCEL_RP_SIZE 7
509 509

  
510 510
#define OCF_ACCEPT_CONN_REQ		0x0009
511 511
typedef struct {
512
    a_bdaddr	bdaddr;
512
    bdaddr_t	bdaddr;
513 513
    uint8_t	role;
514 514
} __attribute__ ((packed)) accept_conn_req_cp;
515 515
#define ACCEPT_CONN_REQ_CP_SIZE	7
516 516

  
517 517
#define OCF_REJECT_CONN_REQ		0x000A
518 518
typedef struct {
519
    a_bdaddr	bdaddr;
519
    bdaddr_t	bdaddr;
520 520
    uint8_t	reason;
521 521
} __attribute__ ((packed)) reject_conn_req_cp;
522 522
#define REJECT_CONN_REQ_CP_SIZE	7
523 523

  
524 524
#define OCF_LINK_KEY_REPLY		0x000B
525 525
typedef struct {
526
    a_bdaddr	bdaddr;
526
    bdaddr_t	bdaddr;
527 527
    uint8_t	link_key[16];
528 528
} __attribute__ ((packed)) link_key_reply_cp;
529 529
#define LINK_KEY_REPLY_CP_SIZE 22
......
532 532

  
533 533
#define OCF_PIN_CODE_REPLY		0x000D
534 534
typedef struct {
535
    a_bdaddr	bdaddr;
535
    bdaddr_t	bdaddr;
536 536
    uint8_t	pin_len;
537 537
    uint8_t	pin_code[16];
538 538
} __attribute__ ((packed)) pin_code_reply_cp;
......
574 574

  
575 575
#define OCF_REMOTE_NAME_REQ		0x0019
576 576
typedef struct {
577
    a_bdaddr	bdaddr;
577
    bdaddr_t	bdaddr;
578 578
    uint8_t	pscan_rep_mode;
579 579
    uint8_t	pscan_mode;
580 580
    uint16_t	clock_offset;
......
583 583

  
584 584
#define OCF_REMOTE_NAME_REQ_CANCEL	0x001A
585 585
typedef struct {
586
    a_bdaddr	bdaddr;
586
    bdaddr_t	bdaddr;
587 587
} __attribute__ ((packed)) remote_name_req_cancel_cp;
588 588
#define REMOTE_NAME_REQ_CANCEL_CP_SIZE 6
589 589

  
590 590
typedef struct {
591 591
    uint8_t		status;
592
    a_bdaddr	bdaddr;
592
    bdaddr_t	bdaddr;
593 593
} __attribute__ ((packed)) remote_name_req_cancel_rp;
594 594
#define REMOTE_NAME_REQ_CANCEL_RP_SIZE 7
595 595

  
......
646 646

  
647 647
#define OCF_ACCEPT_SYNC_CONN_REQ	0x0029
648 648
typedef struct {
649
    a_bdaddr	bdaddr;
649
    bdaddr_t	bdaddr;
650 650
    uint32_t	tx_bandwith;
651 651
    uint32_t	rx_bandwith;
652 652
    uint16_t	max_latency;
......
658 658

  
659 659
#define OCF_REJECT_SYNC_CONN_REQ	0x002A
660 660
typedef struct {
661
    a_bdaddr	bdaddr;
661
    bdaddr_t	bdaddr;
662 662
    uint8_t	reason;
663 663
} __attribute__ ((packed)) reject_sync_conn_req_cp;
664 664
#define REJECT_SYNC_CONN_REQ_CP_SIZE 7
......
734 734

  
735 735
#define OCF_SWITCH_ROLE			0x000B
736 736
typedef struct {
737
    a_bdaddr	bdaddr;
737
    bdaddr_t	bdaddr;
738 738
    uint8_t	role;
739 739
} __attribute__ ((packed)) switch_role_cp;
740 740
#define SWITCH_ROLE_CP_SIZE 7
......
847 847

  
848 848
#define OCF_READ_STORED_LINK_KEY	0x000D
849 849
typedef struct {
850
    a_bdaddr	bdaddr;
850
    bdaddr_t	bdaddr;
851 851
    uint8_t	read_all;
852 852
} __attribute__ ((packed)) read_stored_link_key_cp;
853 853
#define READ_STORED_LINK_KEY_CP_SIZE 7
......
872 872

  
873 873
#define OCF_DELETE_STORED_LINK_KEY	0x0012
874 874
typedef struct {
875
    a_bdaddr	bdaddr;
875
    bdaddr_t	bdaddr;
876 876
    uint8_t	delete_all;
877 877
} __attribute__ ((packed)) delete_stored_link_key_cp;
878 878
#define DELETE_STORED_LINK_KEY_CP_SIZE 7
......
1238 1238
#define OCF_READ_BD_ADDR		0x0009
1239 1239
typedef struct {
1240 1240
    uint8_t	status;
1241
    a_bdaddr	bdaddr;
1241
    bdaddr_t	bdaddr;
1242 1242
} __attribute__ ((packed)) read_bd_addr_rp;
1243 1243
#define READ_BD_ADDR_RP_SIZE 7
1244 1244

  
......
1317 1317
#define EVT_INQUIRY_RESULT		0x02
1318 1318
typedef struct {
1319 1319
    uint8_t	num_responses;
1320
    a_bdaddr	bdaddr;
1320
    bdaddr_t	bdaddr;
1321 1321
    uint8_t	pscan_rep_mode;
1322 1322
    uint8_t	pscan_period_mode;
1323 1323
    uint8_t	pscan_mode;
......
1330 1330
typedef struct {
1331 1331
    uint8_t	status;
1332 1332
    uint16_t	handle;
1333
    a_bdaddr	bdaddr;
1333
    bdaddr_t	bdaddr;
1334 1334
    uint8_t	link_type;
1335 1335
    uint8_t	encr_mode;
1336 1336
} __attribute__ ((packed)) evt_conn_complete;
......
1338 1338

  
1339 1339
#define EVT_CONN_REQUEST		0x04
1340 1340
typedef struct {
1341
    a_bdaddr	bdaddr;
1341
    bdaddr_t	bdaddr;
1342 1342
    uint8_t	dev_class[3];
1343 1343
    uint8_t	link_type;
1344 1344
} __attribute__ ((packed)) evt_conn_request;
......
1362 1362
#define EVT_REMOTE_NAME_REQ_COMPLETE	0x07
1363 1363
typedef struct {
1364 1364
    uint8_t	status;
1365
    a_bdaddr	bdaddr;
1365
    bdaddr_t	bdaddr;
1366 1366
    char	name[248];
1367 1367
} __attribute__ ((packed)) evt_remote_name_req_complete;
1368 1368
#define EVT_REMOTE_NAME_REQ_COMPLETE_SIZE 255
......
1447 1447
#define EVT_ROLE_CHANGE			0x12
1448 1448
typedef struct {
1449 1449
    uint8_t	status;
1450
    a_bdaddr	bdaddr;
1450
    bdaddr_t	bdaddr;
1451 1451
    uint8_t	role;
1452 1452
} __attribute__ ((packed)) evt_role_change;
1453 1453
#define EVT_ROLE_CHANGE_SIZE 8
......
1480 1480

  
1481 1481
#define EVT_PIN_CODE_REQ		0x16
1482 1482
typedef struct {
1483
    a_bdaddr	bdaddr;
1483
    bdaddr_t	bdaddr;
1484 1484
} __attribute__ ((packed)) evt_pin_code_req;
1485 1485
#define EVT_PIN_CODE_REQ_SIZE 6
1486 1486

  
1487 1487
#define EVT_LINK_KEY_REQ		0x17
1488 1488
typedef struct {
1489
    a_bdaddr	bdaddr;
1489
    bdaddr_t	bdaddr;
1490 1490
} __attribute__ ((packed)) evt_link_key_req;
1491 1491
#define EVT_LINK_KEY_REQ_SIZE 6
1492 1492

  
1493 1493
#define EVT_LINK_KEY_NOTIFY		0x18
1494 1494
typedef struct {
1495
    a_bdaddr	bdaddr;
1495
    bdaddr_t	bdaddr;
1496 1496
    uint8_t	link_key[16];
1497 1497
    uint8_t	key_type;
1498 1498
} __attribute__ ((packed)) evt_link_key_notify;
......
1537 1537

  
1538 1538
#define EVT_PSCAN_REP_MODE_CHANGE	0x20
1539 1539
typedef struct {
1540
    a_bdaddr	bdaddr;
1540
    bdaddr_t	bdaddr;
1541 1541
    uint8_t	pscan_rep_mode;
1542 1542
} __attribute__ ((packed)) evt_pscan_rep_mode_change;
1543 1543
#define EVT_PSCAN_REP_MODE_CHANGE_SIZE 7
......
1555 1555
#define EVT_INQUIRY_RESULT_WITH_RSSI	0x22
1556 1556
typedef struct {
1557 1557
    uint8_t	num_responses;
1558
    a_bdaddr	bdaddr;
1558
    bdaddr_t	bdaddr;
1559 1559
    uint8_t	pscan_rep_mode;
1560 1560
    uint8_t	pscan_period_mode;
1561 1561
    uint8_t	dev_class[3];
......
1565 1565
#define INQUIRY_INFO_WITH_RSSI_SIZE 15
1566 1566
typedef struct {
1567 1567
    uint8_t	num_responses;
1568
    a_bdaddr	bdaddr;
1568
    bdaddr_t	bdaddr;
1569 1569
    uint8_t	pscan_rep_mode;
1570 1570
    uint8_t	pscan_period_mode;
1571 1571
    uint8_t	pscan_mode;
......
1589 1589
typedef struct {
1590 1590
    uint8_t	status;
1591 1591
    uint16_t	handle;
1592
    a_bdaddr	bdaddr;
1592
    bdaddr_t	bdaddr;
1593 1593
    uint8_t	link_type;
1594 1594
    uint8_t	trans_interval;
1595 1595
    uint8_t	retrans_window;
......
1623 1623

  
1624 1624
#define EVT_EXTENDED_INQUIRY_RESULT	0x2F
1625 1625
typedef struct {
1626
    a_bdaddr	bdaddr;
1626
    bdaddr_t	bdaddr;
1627 1627
    uint8_t	pscan_rep_mode;
1628 1628
    uint8_t	pscan_period_mode;
1629 1629
    uint8_t	dev_class[3];

Also available in: Unified diff