https://www.bluetooth.com/specifications/assigned-numbers/logical-link-control
協議/服務複用(PSM): 2個字節(最小)
PSM段結構以地址段的ISO3309擴展機制爲基礎。所有PSM值都必須是奇數, 也就是最低位字節的最低位必須爲"1"。而且,所有PSM值的最高字節的最低位應等於"0"。 這樣PSM段將可以擴展到16位以上。 PSM值被分成兩部分, 第一部分的值有藍牙SIG及其協議分配。 第二部分的值則可以動態分配,並與服務搜索協議(SDP)一起使用。動態分配的值可以用於支持一個特定協議的多種執行版本。
Protocol | PSM |
SDP | 0x0001 |
RFCOMM | 0x0003 |
TCS-BIN | 0x0005 |
TCS-BIN-CORDLESS | 0x0007 |
BNEP | 0x000F |
HID_Contro | 0x0011 |
HID_Interrupt | 0x0013 |
UPnP | 0x0015 |
AVCTP | 0x0017 |
AVDTP | 0x0019 |
AVCTP_Browsing | 0x001B |
UDI_C-Plane | 0x001D |
ATT | 0x001F |
3DSP | 0x0021 |
LE_PSM_IPSP | 0x0023 |
OTS | 0x0025 |
代碼中定義:
#define BT_PSM_SDP 0x0001
#define BT_PSM_RFCOMM 0x0003
#define BT_PSM_TCS 0x0005
#define BT_PSM_CTP 0x0007
#define BT_PSM_BNEP 0x000F
#define BT_PSM_HIDC 0x0011
#define BT_PSM_HIDI 0x0013
#define BT_PSM_UPNP 0x0015
#define BT_PSM_AVCTP 0x0017
#define BT_PSM_AVDTP 0x0019
#define BT_PSM_AVCTP_13 0x001B /* Advanced Control - Browsing */
#define BT_PSM_UDI_CP 0x001D /* Unrestricted Digital Information Profile C-Plane */
#define BT_PSM_ATT 0x001F /* Attribute Protocol */