opcodes documentation

Iain Hibbert plunky at rya-online.net
Thu May 5 15:04:01 UTC 2011


On Thu, 5 May 2011, Raoul wrote:

> are they device specifics, or something like read/rwite and so on?
>
> Sorry for thje naive newbie question, but sure some slight
> additions to the man page would be appreciated on this topic.

you would need to read the Bluetooth Core specification for details about
this, see www.bluetooth.com which I guess the manpage should also
reference.

the 'opcode' that you need is constructed by the NG_HCI_OPCODE() macro,
from the OGF & OCF values for each command which are all defined in
ng_hci.h along with the packet structures..

in NetBSD I provided an HCI_CMD_xxx value that evaluates to the correct
value for each command (since there is only a single command with each
name, it doesn't really make sense to require the OGF/OCF in the API), and
BlueZ also uses this method now I believe..

regards,
iain
-------------- next part --------------
#define HCI_CMD_INQUIRY					0x0401
#define HCI_CMD_INQUIRY_CANCEL				0x0402
#define HCI_CMD_PERIODIC_INQUIRY			0x0403
#define HCI_CMD_EXIT_PERIODIC_INQUIRY			0x0404
#define HCI_CMD_CREATE_CON				0x0405
#define HCI_CMD_DISCONNECT				0x0406
#define HCI_CMD_ADD_SCO_CON				0x0407
#define HCI_CMD_CREATE_CON_CANCEL			0x0408
#define HCI_CMD_ACCEPT_CON				0x0409
#define HCI_CMD_REJECT_CON				0x040A
#define HCI_CMD_LINK_KEY_REP				0x040B
#define HCI_CMD_LINK_KEY_NEG_REP			0x040C
#define HCI_CMD_PIN_CODE_REP				0x040D
#define HCI_CMD_PIN_CODE_NEG_REP			0x040E
#define HCI_CMD_CHANGE_CON_PACKET_TYPE			0x040F
#define HCI_CMD_AUTH_REQ				0x0411
#define HCI_CMD_SET_CON_ENCRYPTION			0x0413
#define HCI_CMD_CHANGE_CON_LINK_KEY			0x0415
#define HCI_CMD_MASTER_LINK_KEY				0x0417
#define HCI_CMD_REMOTE_NAME_REQ				0x0419
#define HCI_CMD_REMOTE_NAME_REQ_CANCEL			0x041A
#define HCI_CMD_READ_REMOTE_FEATURES			0x041B
#define HCI_CMD_READ_REMOTE_EXTENDED_FEATURES		0x041C
#define HCI_CMD_READ_REMOTE_VER_INFO			0x041D
#define HCI_CMD_READ_CLOCK_OFFSET			0x041F
#define HCI_CMD_READ_LMP_HANDLE				0x0420
#define HCI_CMD_SETUP_SCO_CON				0x0428
#define HCI_CMD_ACCEPT_SCO_CON_REQ			0x0429
#define HCI_CMD_REJECT_SCO_CON_REQ			0x042a
#define HCI_CMD_IO_CAPABILITY_REP			0x042a
#define HCI_CMD_USER_CONFIRM_REP			0x042c
#define HCI_CMD_USER_CONFIRM_NEG_REP			0x042d
#define HCI_CMD_USER_PASSKEY_REP			0x042e
#define HCI_CMD_USER_PASSKEY_NEG_REP			0x042f
#define HCI_CMD_OOB_DATA_REP				0x0430
#define HCI_CMD_OOB_DATA_NEG_REP			0x0433
#define HCI_CMD_IO_CAPABILITY_NEG_REP			0x0434
#define HCI_CMD_HOLD_MODE				0x0801
#define HCI_CMD_SNIFF_MODE				0x0803
#define HCI_CMD_EXIT_SNIFF_MODE				0x0804
#define HCI_CMD_PARK_MODE				0x0805
#define HCI_CMD_EXIT_PARK_MODE				0x0806
#define HCI_CMD_QOS_SETUP				0x0807
#define HCI_CMD_ROLE_DISCOVERY				0x0809
#define HCI_CMD_SWITCH_ROLE				0x080B
#define HCI_CMD_READ_LINK_POLICY_SETTINGS		0x080C
#define HCI_CMD_WRITE_LINK_POLICY_SETTINGS		0x080D
#define HCI_CMD_READ_DEFAULT_LINK_POLICY_SETTINGS	0x080E
#define HCI_CMD_WRITE_DEFAULT_LINK_POLICY_SETTINGS	0x080F
#define HCI_CMD_FLOW_SPECIFICATION			0x0810
#define HCI_CMD_SNIFF_SUBRATING				0x0810
#define HCI_CMD_SET_EVENT_MASK				0x0C01
#define HCI_CMD_RESET					0x0C03
#define HCI_CMD_SET_EVENT_FILTER			0x0C05
#define HCI_CMD_FLUSH					0x0C08
#define HCI_CMD_READ_PIN_TYPE				0x0C09
#define HCI_CMD_WRITE_PIN_TYPE				0x0C0A
#define HCI_CMD_CREATE_NEW_UNIT_KEY			0x0C0B
#define HCI_CMD_READ_STORED_LINK_KEY			0x0C0D
#define HCI_CMD_WRITE_STORED_LINK_KEY			0x0C11
#define HCI_CMD_DELETE_STORED_LINK_KEY			0x0C12
#define HCI_CMD_WRITE_LOCAL_NAME			0x0C13
#define HCI_CMD_READ_LOCAL_NAME				0x0C14
#define HCI_CMD_READ_CON_ACCEPT_TIMEOUT			0x0C15
#define HCI_CMD_WRITE_CON_ACCEPT_TIMEOUT		0x0C16
#define HCI_CMD_READ_PAGE_TIMEOUT			0x0C17
#define HCI_CMD_WRITE_PAGE_TIMEOUT			0x0C18
#define HCI_CMD_READ_SCAN_ENABLE			0x0C19
#define HCI_CMD_WRITE_SCAN_ENABLE			0x0C1A
#define HCI_CMD_READ_PAGE_SCAN_ACTIVITY			0x0C1B
#define HCI_CMD_WRITE_PAGE_SCAN_ACTIVITY		0x0C1C
#define HCI_CMD_READ_INQUIRY_SCAN_ACTIVITY		0x0C1D
#define HCI_CMD_WRITE_INQUIRY_SCAN_ACTIVITY		0x0C1E
#define HCI_CMD_READ_AUTH_ENABLE			0x0C1F
#define HCI_CMD_WRITE_AUTH_ENABLE			0x0C20
#define HCI_CMD_READ_ENCRYPTION_MODE			0x0C21
#define HCI_CMD_WRITE_ENCRYPTION_MODE			0x0C22
#define HCI_CMD_READ_UNIT_CLASS				0x0C23
#define HCI_CMD_WRITE_UNIT_CLASS			0x0C24
#define HCI_CMD_READ_VOICE_SETTING			0x0C25
#define HCI_CMD_WRITE_VOICE_SETTING			0x0C26
#define HCI_CMD_READ_AUTO_FLUSH_TIMEOUT			0x0C27
#define HCI_CMD_WRITE_AUTO_FLUSH_TIMEOUT		0x0C28
#define HCI_CMD_READ_NUM_BROADCAST_RETRANS		0x0C29
#define HCI_CMD_WRITE_NUM_BROADCAST_RETRANS		0x0C2A
#define HCI_CMD_READ_HOLD_MODE_ACTIVITY			0x0C2B
#define HCI_CMD_WRITE_HOLD_MODE_ACTIVITY		0x0C2C
#define HCI_CMD_READ_XMIT_LEVEL				0x0C2D
#define HCI_CMD_READ_SCO_FLOW_CONTROL			0x0C2E
#define HCI_CMD_WRITE_SCO_FLOW_CONTROL			0x0C2F
#define HCI_CMD_HC2H_FLOW_CONTROL			0x0C31
#define HCI_CMD_HOST_BUFFER_SIZE			0x0C33
#define HCI_CMD_HOST_NUM_COMPL_PKTS			0x0C35
#define HCI_CMD_READ_LINK_SUPERVISION_TIMEOUT		0x0C36
#define HCI_CMD_WRITE_LINK_SUPERVISION_TIMEOUT		0x0C37
#define HCI_CMD_READ_NUM_SUPPORTED_IAC			0x0C38
#define HCI_CMD_READ_IAC_LAP				0x0C39
#define HCI_CMD_WRITE_IAC_LAP				0x0C3A
#define HCI_CMD_READ_PAGE_SCAN_PERIOD			0x0C3B
#define HCI_CMD_WRITE_PAGE_SCAN_PERIOD			0x0C3C
#define HCI_CMD_READ_PAGE_SCAN				0x0C3D
#define HCI_CMD_WRITE_PAGE_SCAN				0x0C3E
#define HCI_CMD_SET_AFH_CLASSIFICATION			0x0C3F
#define HCI_CMD_READ_INQUIRY_SCAN_TYPE			0x0C42
#define HCI_CMD_WRITE_INQUIRY_SCAN_TYPE			0x0C43
#define HCI_CMD_READ_INQUIRY_MODE			0x0C44
#define HCI_CMD_WRITE_INQUIRY_MODE			0x0C45
#define HCI_CMD_READ_PAGE_SCAN_TYPE			0x0C46
#define HCI_CMD_WRITE_PAGE_SCAN_TYPE			0x0C47
#define HCI_CMD_READ_AFH_ASSESSMENT			0x0C48
#define HCI_CMD_WRITE_AFH_ASSESSMENT			0x0C49
#define HCI_CMD_READ_EXTENDED_INQUIRY_RSP		0x0C51
#define HCI_CMD_WRITE_EXTENDED_INQUIRY_RSP		0x0C52
#define HCI_CMD_REFRESH_ENCRYPTION_KEY			0x0C53
#define HCI_CMD_READ_SIMPLE_PAIRING_MODE		0x0C55
#define HCI_CMD_WRITE_SIMPLE_PAIRING_MODE		0x0C56
#define HCI_CMD_READ_LOCAL_OOB_DATA			0x0C57
#define HCI_CMD_READ_INQUIRY_RSP_XMIT_POWER		0x0C58
#define HCI_CMD_WRITE_INQUIRY_RSP_XMIT_POWER		0x0C59
#define HCI_CMD_READ_DEFAULT_ERRDATA_REPORTING		0x0C5A
#define HCI_CMD_WRITE_DEFAULT_ERRDATA_REPORTING		0x0C5B
#define HCI_CMD_ENHANCED_FLUSH				0x0C5F
#define HCI_CMD_SEND_KEYPRESS_NOTIFICATION		0x0C60
#define HCI_CMD_READ_LOCAL_VER				0x1001
#define HCI_CMD_READ_LOCAL_COMMANDS			0x1002
#define HCI_CMD_READ_LOCAL_FEATURES			0x1003
#define HCI_CMD_READ_LOCAL_EXTENDED_FEATURES		0x1004
#define HCI_CMD_READ_BUFFER_SIZE			0x1005
#define HCI_CMD_READ_COUNTRY_CODE			0x1007
#define HCI_CMD_READ_BDADDR				0x1009
#define HCI_CMD_READ_FAILED_CONTACT_CNTR		0x1401
#define HCI_CMD_RESET_FAILED_CONTACT_CNTR		0x1402
#define HCI_CMD_READ_LINK_QUALITY			0x1403
#define HCI_CMD_READ_RSSI				0x1405
#define HCI_CMD_READ_AFH_CHANNEL_MAP			0x1406
#define HCI_CMD_READ_CLOCK				0x1407
#define HCI_CMD_READ_LOOPBACK_MODE			0x1801
#define HCI_CMD_WRITE_LOOPBACK_MODE			0x1802
#define HCI_CMD_ENABLE_UNIT_UNDER_TEST			0x1803
#define HCI_CMD_WRITE_SIMPLE_PAIRING_DEBUG_MODE		0x1804


More information about the freebsd-bluetooth mailing list