Date: Thu, 5 May 2011 15:36:01 +0100 (BST) From: Iain Hibbert <plunky@rya-online.net> To: Raoul <rmgls@free.fr> Cc: bluetooth@freebsd.org Subject: Re: opcodes documentation Message-ID: <alpine.NEB.2.00.1105051521010.657@galant.ukfsn.org> In-Reply-To: <20110505133338.CEC4AD4834A@smtp5-g21.free.fr> References: <20110505133338.CEC4AD4834A@smtp5-g21.free.fr>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] 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 [-- Attachment #2 --] #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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.NEB.2.00.1105051521010.657>
