透過集合功能整理內容 你可以依據偏好儲存及分類內容。

單次安裝出價

這個模組包含控制 CoAP 通訊的功能。

摘要

啟用 CoAP API 功能 (OPENTHREAD_CONFIG_COAP_API_ENABLE) 後,就能使用這個模組中的函式。

列舉

otCoapBlockSzx 列舉
CoAP 區塊大小指數。
otCoapCode{
  OT_COAP_CODE_EMPTY = (((( 0 )&0x7) << 5) | (( 0 )&0x1f)),
  OT_COAP_CODE_GET = (((( 0 )&0x7) << 5) | (( 1 )&0x1f)),
  OT_COAP_CODE_POST = (((( 0 )&0x7) << 5) | (( 2 )&0x1f)),
  OT_COAP_CODE_PUT = (((( 0 )&0x7) << 5) | (( 3 )&0x1f)),
  OT_COAP_CODE_DELETE = (((( 0 )&0x7) << 5) | (( 4 )&0x1f)),
  OT_COAP_CODE_RESPONSE_MIN = (((( 2 )&0x7) << 5) | (( 0 )&0x1f)),
  OT_COAP_CODE_CREATED = (((( 2 )&0x7) << 5) | (( 1 )&0x1f)),
  OT_COAP_CODE_DELETED = (((( 2 )&0x7) << 5) | (( 2 )&0x1f)),
  OT_COAP_CODE_VALID = (((( 2 )&0x7) << 5) | (( 3 )&0x1f)),
  OT_COAP_CODE_CHANGED = (((( 2 )&0x7) << 5) | (( 4 )&0x1f)),
  OT_COAP_CODE_CONTENT = (((( 2 )&0x7) << 5) | (( 5 )&0x1f)),
  OT_COAP_CODE_CONTINUE = (((( 2 )&0x7) << 5) | (( 31 )&0x1f)),
  OT_COAP_CODE_BAD_REQUEST = (((( 4 )&0x7) << 5) | (( 0 )&0x1f)),
  OT_COAP_CODE_UNAUTHORIZED = (((( 4 )&0x7) << 5) | (( 1 )&0x1f)),
  OT_COAP_CODE_BAD_OPTION = (((( 4 )&0x7) << 5) | (( 2 )&0x1f)),
  OT_COAP_CODE_FORBIDDEN = (((( 4 )&0x7) << 5) | (( 3 )&0x1f)),
  OT_COAP_CODE_NOT_FOUND = (((( 4 )&0x7) << 5) | (( 4 )&0x1f)),
  OT_COAP_CODE_METHOD_NOT_ALLOWED = (((( 4 )&0x7) << 5) | (( 5 )&0x1f)),
  OT_COAP_CODE_NOT_ACCEPTABLE = (((( 4 )&0x7) << 5) | (( 6 )&0x1f)),
  OT_COAP_CODE_REQUEST_INCOMPLETE = (((( 4 )&0x7) << 5) | (( 8 )&0x1f)),
  OT_COAP_CODE_PRECONDITION_FAILED = (((( 4 )&0x7) << 5) | (( 12 )&0x1f)),
  OT_COAP_CODE_REQUEST_TOO_LARGE = (((( 4 )&0x7) << 5) | (( 13 )&0x1f)),
  OT_COAP_CODE_UNSUPPORTED_FORMAT = (((( 4 )&0x7) << 5) | (( 15 )&0x1f)),
  OT_COAP_CODE_INTERNAL_ERROR = (((( 5 )&0x7) << 5) | (( 0 )&0x1f)),
  OT_COAP_CODE_NOT_IMPLEMENTED = (((( 5 )&0x7) << 5) | (( 1 )&0x1f)),
  OT_COAP_CODE_BAD_GATEWAY = (((( 5 )&0x7) << 5) | (( 2 )&0x1f)),
  OT_COAP_CODE_SERVICE_UNAVAILABLE = (((( 5 )&0x7) << 5) | (( 3 )&0x1f)),
  OT_COAP_CODE_GATEWAY_TIMEOUT = (((( 5 )&0x7) << 5) | (( 4 )&0x1f)),
  OT_COAP_CODE_PROXY_NOT_SUPPORTED = (((( 5 )&0x7) << 5) | (( 5 )&0x1f))
}
列舉
CoAP 代碼值。
otCoapOptionContentFormat{
  OT_COAP_OPTION_CONTENT_FORMAT_TEXT_PLAIN = 0,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT0 = 16,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC0 = 17,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN1 = 18,
  OT_COAP_OPTION_CONTENT_FORMAT_LINK_FORMAT = 40,
  OT_COAP_OPTION_CONTENT_FORMAT_XML = 41,
  OT_COAP_OPTION_CONTENT_FORMAT_OCTET_STREAM = 42,
  OT_COAP_OPTION_CONTENT_FORMAT_EXI = 47,
  OT_COAP_OPTION_CONTENT_FORMAT_JSON = 50,
  OT_COAP_OPTION_CONTENT_FORMAT_JSON_PATCH_JSON = 51,
  OT_COAP_OPTION_CONTENT_FORMAT_MERGE_PATCH_JSON = 52,
  OT_COAP_OPTION_CONTENT_FORMAT_CBOR = 60,
  OT_COAP_OPTION_CONTENT_FORMAT_CWT = 61,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT = 96,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC = 97,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN = 98,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY = 101,
  OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY_SET = 102,
  OT_COAP_OPTION_CONTENT_FORMAT_SENML_JSON = 110,
  OT_COAP_OPTION_CONTENT_FORMAT_SENSML_JSON = 111,
  OT_COAP_OPTION_CONTENT_FORMAT_SENML_CBOR = 112,
  OT_COAP_OPTION_CONTENT_FORMAT_SENSML_CBOR = 113,
  OT_COAP_OPTION_CONTENT_FORMAT_SENML_EXI = 114,
  OT_COAP_OPTION_CONTENT_FORMAT_SENSML_EXI = 115,
  OT_COAP_OPTION_CONTENT_FORMAT_COAP_GROUP_JSON = 256,
  OT_COAP_OPTION_CONTENT_FORMAT_SENML_XML = 310,
  OT_COAP_OPTION_CONTENT_FORMAT_SENSML_XML = 311
}
列舉
CoAP 內容格式代碼。
otCoapOptionType{
  OT_COAP_OPTION_IF_MATCH = 1,
  OT_COAP_OPTION_URI_HOST = 3,
  OT_COAP_OPTION_E_TAG = 4,
  OT_COAP_OPTION_IF_NONE_MATCH = 5,
  OT_COAP_OPTION_OBSERVE = 6,
  OT_COAP_OPTION_URI_PORT = 7,
  OT_COAP_OPTION_LOCATION_PATH = 8,
  OT_COAP_OPTION_URI_PATH = 11,
  OT_COAP_OPTION_CONTENT_FORMAT = 12,
  OT_COAP_OPTION_MAX_AGE = 14,
  OT_COAP_OPTION_URI_QUERY = 15,
  OT_COAP_OPTION_ACCEPT = 17,
  OT_COAP_OPTION_LOCATION_QUERY = 20,
  OT_COAP_OPTION_BLOCK2 = 23,
  OT_COAP_OPTION_BLOCK1 = 27,
  OT_COAP_OPTION_SIZE2 = 28,
  OT_COAP_OPTION_PROXY_URI = 35,
  OT_COAP_OPTION_PROXY_SCHEME = 39,
  OT_COAP_OPTION_SIZE1 = 60
}
列舉
CoAP 選項編號。
otCoapType{
  OT_COAP_TYPE_CONFIRMABLE = 0,
  OT_COAP_TYPE_NON_CONFIRMABLE = 1,
  OT_COAP_TYPE_ACKNOWLEDGMENT = 2,
  OT_COAP_TYPE_RESET = 3
}
列舉
CoAP 類型值 (2 位元無符號整數)。

Typedefs

otCoapBlockSzx typedef
CoAP 區塊大小指數。
otCoapBlockwiseReceiveHook)(void *aContext, const uint8_t *aBlock, uint32_t aPosition, uint16_t aBlockLength, bool aMore, uint32_t aTotalLength) typedef
收到包含封鎖區塊轉移選項的 CoAP 訊息時,系統會呼叫此函式指標。
otCoapBlockwiseResource typedef
這個結構代表以區塊轉移的 CoAP 資源。
otCoapBlockwiseTransmitHook)(void *aContext, uint8_t *aBlock, uint32_t aPosition, uint16_t *aBlockLength, bool *aMore) typedef
系統會先呼叫此函式指標,再傳送區塊區塊傳輸的下一個區塊。
otCoapCode typedef
enum otCoapCode
CoAP 代碼值。
otCoapOption typedef
struct otCoapOption
這個結構代表 CoAP 選項。
otCoapOptionContentFormat typedef
CoAP 內容格式代碼。
otCoapOptionIterator typedef
此結構可做為 CoAP 選項的疊代器。
otCoapOptionType typedef
CoAP 選項編號。
otCoapRequestHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo) typedef
void(*
收到包含指定 Uri-Path 的 CoAP 請求時,系統會呼叫此函式指標。
otCoapResource typedef
這個結構代表 CoAP 資源。
otCoapResponseHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, otError aResult) typedef
void(*
收到 CoAP 回應或要求逾時時,系統會呼叫此函式指標。
otCoapTxParameters typedef
這個結構代表 CoAP 傳輸參數。
otCoapType typedef
enum otCoapType
CoAP 類型值 (2 位元無符號整數)。

Functions

otCoapAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
這個函式會將區塊化資源新增至 CoAP 伺服器。
otCoapAddResource(otInstance *aInstance, otCoapResource *aResource)
void
這個函式會將資源新增至 CoAP 伺服器。
otCoapBlockSizeFromExponent(otCoapBlockSzx aSize)
uint16_t
這個函式會將 CoAP Block 選項 SZX 欄位轉換為實際區塊大小。
otCoapMessageAppendBlock1Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize)
這個函式會附加 Block1 選項。
otCoapMessageAppendBlock2Option(otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize)
這個函式會附加 Block2 選項。
otCoapMessageAppendContentFormatOption(otMessage *aMessage, otCoapOptionContentFormat aContentFormat)
這個函式會附加 https://tools.ietf.org/html/rfc7252#page-92 中指定的內容格式 CoAP 選項。
otCoapMessageAppendMaxAgeOption(otMessage *aMessage, uint32_t aMaxAge)
這個函式會附加 Max-Age 選項。
otCoapMessageAppendObserveOption(otMessage *aMessage, uint32_t aObserve)
這個函式會附加觀察項目選項。
otCoapMessageAppendOption(otMessage *aMessage, uint16_t aNumber, uint16_t aLength, const void *aValue)
這個函式會在標頭中附加 CoAP 選項。
otCoapMessageAppendProxyUriOption(otMessage *aMessage, const char *aUriPath)
這個函式會附加 Proxy-Uri 選項。
otCoapMessageAppendUintOption(otMessage *aMessage, uint16_t aNumber, uint32_t aValue)
這個函式會附加 https://tools.ietf.org/html/rfc7252#section-3.2 中指定的未簽署整數 CoAP 選項。
otCoapMessageAppendUriPathOptions(otMessage *aMessage, const char *aUriPath)
這個函式會附加 Uri-Path 選項。
otCoapMessageAppendUriQueryOption(otMessage *aMessage, const char *aUriQuery)
這個函式會附加單一 UriQuery 選項。
otCoapMessageCodeToString(const otMessage *aMessage)
const char *
這個方法會傳回 CoAP 程式碼做為使用者可理解的字串。
otCoapMessageGenerateToken(otMessage *aMessage, uint8_t aTokenLength)
void
這個函式會設定權杖長度,並隨機將其值。
otCoapMessageGetCode(const otMessage *aMessage)
這個函式會傳回代碼值。
otCoapMessageGetMessageId(const otMessage *aMessage)
uint16_t
這個函式會傳回訊息 ID 值。
otCoapMessageGetToken(const otMessage *aMessage)
const uint8_t *
這個函式會傳回指向 Token 值的指標。
otCoapMessageGetTokenLength(const otMessage *aMessage)
uint8_t
這個函式會傳回權杖長度。
otCoapMessageGetType(const otMessage *aMessage)
這個函式會傳回類型值。
otCoapMessageInit(otMessage *aMessage, otCoapType aType, otCoapCode aCode)
void
這個函式會初始化 CoAP 標頭。
otCoapMessageInitResponse(otMessage *aResponse, const otMessage *aRequest, otCoapType aType, otCoapCode aCode)
這個函式會初始化回應訊息。
otCoapMessageSetCode(otMessage *aMessage, otCoapCode aCode)
void
這個函式會設定代碼值。
otCoapMessageSetPayloadMarker(otMessage *aMessage)
這個函式會將酬載標記新增至酬載的 CoAP 標頭。
otCoapMessageSetToken(otMessage *aMessage, const uint8_t *aToken, uint8_t aTokenLength)
這個函式會在標頭中設定權杖值和長度。
otCoapNewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
這個函式會建立新的 CoAP 訊息。
otCoapOptionIteratorGetFirstOption(otCoapOptionIterator *aIterator)
const otCoapOption *
這個函式會傳回第一個選項的指標。
otCoapOptionIteratorGetFirstOptionMatching(otCoapOptionIterator *aIterator, uint16_t aOption)
const otCoapOption *
這個函式會傳回指標,指向指定選項編號的第一個選項。
otCoapOptionIteratorGetNextOption(otCoapOptionIterator *aIterator)
const otCoapOption *
這個函式會傳回指向下一個選項的指標。
otCoapOptionIteratorGetNextOptionMatching(otCoapOptionIterator *aIterator, uint16_t aOption)
const otCoapOption *
這個函式會傳回指向符合指定選項編號的下一個選項的指標。
otCoapOptionIteratorGetOptionUintValue(otCoapOptionIterator *aIterator, uint64_t *aValue)
根據 https://tools.ietf.org/html/rfc7252#section-3.2 編碼時,這個函式會將目前選項值填入 aValue 中。
otCoapOptionIteratorGetOptionValue(otCoapOptionIterator *aIterator, void *aValue)
這個函式會將目前的選項值填入 aValue
otCoapOptionIteratorInit(otCoapOptionIterator *aIterator, const otMessage *aMessage)
這個函式會初始化指定訊息中選項的疊代器。
otCoapRemoveBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
這個函式會從 CoAP 伺服器中移除區塊資源,
otCoapRemoveResource(otInstance *aInstance, otCoapResource *aResource)
void
這個函式會從 CoAP 伺服器中移除資源。
otCoapSendRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext)
這個函式會傳送 CoAP 要求。
otCoapSendRequestBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
這個函式是以區塊方式傳送 CoAP 要求。
otCoapSendRequestBlockWiseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, const otCoapTxParameters *aTxParameters, otCoapBlockwiseTransmitHook aTransmitHook, otCoapBlockwiseReceiveHook aReceiveHook)
這個函式會以自訂傳輸參數來區塊傳送 CoAP 要求。
otCoapSendRequestWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, const otCoapTxParameters *aTxParameters)
這個函式會傳送含有自訂傳輸參數的 CoAP 要求。
otCoapSendResponse(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo)
這個函式會從伺服器傳送 CoAP 回應。
otCoapSendResponseBlockWise(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
這個函式會以區塊方式從伺服器傳送 CoAP 回應。
otCoapSendResponseBlockWiseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook)
這個函式會透過自訂傳輸參數,以區塊方式從伺服器傳送 CoAP 回應。
otCoapSendResponseWithParameters(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters)
這個函式會從伺服器傳送自訂傳輸參數的 CoAP 回應,
otCoapSetDefaultHandler(otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext)
void
這個函式會設定未處理的 CoAP 要求的預設處理常式。
otCoapStart(otInstance *aInstance, uint16_t aPort)
這個函式會啟動 CoAP 伺服器。
otCoapStop(otInstance *aInstance)
這個函式會停止 CoAP 伺服器。

結構

otCoapBlockwiseResource

這個結構代表以區塊轉移的 CoAP 資源。

otCoapOption

這個結構代表 CoAP 選項。

otCoapOptionIterator

此結構可做為 CoAP 選項的疊代器。

otCoapResource

這個結構代表 CoAP 資源。

otCoapTxParameters

這個結構代表 CoAP 傳輸參數。

列舉

OTCoapBlockSzx

 otCoapBlockSzx

CoAP 區塊大小指數。

otCoapCode

 otCoapCode

CoAP 代碼值。

屬性
OT_COAP_CODE_BAD_GATEWAY

閘道不佳,

OT_COAP_CODE_BAD_OPTION

選項無效。

OT_COAP_CODE_BAD_REQUEST

錯誤的要求。

OT_COAP_CODE_CHANGED

已變更。

OT_COAP_CODE_CONTENT

內容。

OT_COAP_CODE_CONTINUE

RFC7959 繼續。

OT_COAP_CODE_CREATED

已建立。

OT_COAP_CODE_DELETE

OT_COAP_CODE_DELETED

已刪除。

OT_COAP_CODE_EMPTY

無訊息代碼。

OT_COAP_CODE_FORBIDDEN

禁止存取。

OT_COAP_CODE_GATEWAY_TIMEOUT

閘道逾時,

OT_COAP_CODE_GET

立即取得。

OT_COAP_CODE_INTERNAL_ERROR

發生內部伺服器錯誤。

OT_COAP_CODE_METHOD_NOT_ALLOWED

系統不允許的方法。

OT_COAP_CODE_NOT_ACCEPTABLE

不可接受。

OT_COAP_CODE_NOT_FOUND

找不到。

OT_COAP_CODE_NOT_IMPLEMENTED

未執行。

OT_COAP_CODE_POST

貼文。

OT_COAP_CODE_PRECONDITION_FAILED

先決條件失敗。

OT_COAP_CODE_PROXY_NOT_SUPPORTED

不支援 Proxy。

OT_COAP_CODE_PUT

加入

OT_COAP_CODE_REQUEST_INCOMPLETE

RFC7959 要求實體不完整。

OT_COAP_CODE_REQUEST_TOO_LARGE

Request Entity Too Large (要求實體過大)。

OT_COAP_CODE_RESPONSE_MIN

2.00

OT_COAP_CODE_SERVICE_UNAVAILABLE

無法使用服務。

OT_COAP_CODE_UNAUTHORIZED

未經授權,

OT_COAP_CODE_UNSUPPORTED_FORMAT

不支援的內容格式。

OT_COAP_CODE_VALID

有效。

otCoapOptionContentFormat

 otCoapOptionContentFormat

CoAP 內容格式代碼。

如要查看完整清單,請前往 https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats

屬性
OT_COAP_OPTION_CONTENT_FORMAT_CBOR

應用程式/cbor:[RFC7049]

OT_COAP_OPTION_CONTENT_FORMAT_COAP_GROUP_JSON

application/coap-group+json:[RFC7390]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT

應用程式/Cose;cose-type 浮水印 quos;cose-encryption":[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT0

應用程式/Cose;cose-type 浮水印 quos;cose-encryption0":[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY

應用程式/Cose-key:[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY_SET

application/cose-key-set:[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC

應用程式/Cose;cose-type 浮水印 quos;cose-mac":[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC0

應用程式/顏色;cose-type 浮水印 quos;cose-mac0":[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN

應用程式/顏色;cose-type 浮水印 quos;cose-sign":[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN1

應用程式/顏色;cose-type 浮水印 quos;cose-sign1":[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_CWT

應用程式/cwt:[RFC8392]

OT_COAP_OPTION_CONTENT_FORMAT_EXI

應用程式/exi:["Efficient XML Interchange (EXI) Format 1.0 (Second Edition)",2014 年 2 月]

OT_COAP_OPTION_CONTENT_FORMAT_JSON

application/json:[RFC7159]

OT_COAP_OPTION_CONTENT_FORMAT_JSON_PATCH_JSON

application/json-patch+json:[RFC6902]

OT_COAP_OPTION_CONTENT_FORMAT_LINK_FORMAT

應用程式/連結格式:[RFC6690]

OT_COAP_OPTION_CONTENT_FORMAT_MERGE_PATCH_JSON

application/merge-patch+json:[RFC7396]

OT_COAP_OPTION_CONTENT_FORMAT_OCTET_STREAM

application/octet-stream:[RFC2045][RFC2046]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_CBOR

application/senml+cbor:[RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_EXI

application/senml-exi:[RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_JSON

application/senml+json:[RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_XML

application/senml+xml:[RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_CBOR

application/sensml+cbor:[RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_EXI

application/sensml-exi:[RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_JSON

application/sensml+json:[RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_XML

application/sensml+xml:[RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_TEXT_PLAIN

純文字/純文字;charset=utf-8:[RFC2046][RFC3676][RFC5147]

OT_COAP_OPTION_CONTENT_FORMAT_XML

應用程式/xml:[RFC3023]

otCoapOptionType

 otCoapOptionType

CoAP 選項編號。

屬性
OT_COAP_OPTION_ACCEPT

接受。

OT_COAP_OPTION_BLOCK1

區塊 1 (RFC7959)

OT_COAP_OPTION_BLOCK2

區塊 2 (RFC7959)

OT_COAP_OPTION_CONTENT_FORMAT

內容格式。

OT_COAP_OPTION_E_TAG

ETag。

OT_COAP_OPTION_IF_MATCH

If-Match。

OT_COAP_OPTION_IF_NONE_MATCH

If-None-Match。

OT_COAP_OPTION_LOCATION_PATH

位置路徑。

OT_COAP_OPTION_LOCATION_QUERY

Location-Query。

OT_COAP_OPTION_MAX_AGE

Max-Age。

OT_COAP_OPTION_OBSERVE

請觀察 [RFC7641]。

OT_COAP_OPTION_PROXY_SCHEME

Proxy 配置。

OT_COAP_OPTION_PROXY_URI

Proxy-Uri。

OT_COAP_OPTION_SIZE1

大小 1。

OT_COAP_OPTION_SIZE2

大小 2 (RFC7959)

OT_COAP_OPTION_URI_HOST

U-Host。

OT_COAP_OPTION_URI_PATH

URI 路徑。

OT_COAP_OPTION_URI_PORT

URI 通訊埠。

OT_COAP_OPTION_URI_QUERY

Uri-Query。

otCoapType

 otCoapType

CoAP 類型值 (2 位元無符號整數)。

屬性
OT_COAP_TYPE_ACKNOWLEDGMENT

認證。

OT_COAP_TYPE_CONFIRMABLE

可確認。

OT_COAP_TYPE_NON_CONFIRMABLE

無法確認。

OT_COAP_TYPE_RESET

重設。

Typedefs

OTCoapBlockSzx

enum otCoapBlockSzx otCoapBlockSzx

CoAP 區塊大小指數。

OTCoapBlockwiseReceiveHook

otError(* otCoapBlockwiseReceiveHook)(void *aContext, const uint8_t *aBlock, uint32_t aPosition, uint16_t aBlockLength, bool aMore, uint32_t aTotalLength)

收到包含封鎖區塊轉移選項的 CoAP 訊息時,系統會呼叫此函式指標。

您必須啟用 OPENNON_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 設定,才能使用這項功能。

詳情
參數
[in] aContext
指向應用程式特定背景資訊的指標。
[in] aBlock
指向封鎖區隔的指標。
[in] aPosition
序列中 aBlock 的位置 (以位元組為單位)。
[in] aBlockLength
區塊片段的長度 (以位元組為單位)。
[in] aMore
如果正在追蹤更多區塊區隔,請加上標記。
[in] aTotalLength
轉移資訊的總長度 (以位元組為單位),以 Size1 或 Size2 選項表示。
傳回值
OT_ERROR_NONE
已成功儲存區塊區隔。
OT_ERROR_NO_BUFS
沒有其他記憶體可儲存區塊。
OT_ERROR_NO_FRAME_RECEIVED
缺少區隔。

OTCoapBlockwiseResource

struct otCoapBlockwiseResource otCoapBlockwiseResource

這個結構代表以區塊轉移的 CoAP 資源。

OTCoapBlockwiseTransmitHook

otError(* otCoapBlockwiseTransmitHook)(void *aContext, uint8_t *aBlock, uint32_t aPosition, uint16_t *aBlockLength, bool *aMore)

系統會先呼叫此函式指標,再傳送區塊區塊傳輸的下一個區塊。

您必須啟用 OPENNON_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 設定,才能使用這項功能。

變更 aBlockLength 的值後,系統會重新協商整個廣告交易平台的區塊大小。建議您在收到第一個區塊後執行此動作,因為後續變更可能會導致其他 CoAP 實作發生問題。

詳情
參數
[in] aContext
指向應用程式特定背景資訊的指標。
[in,out] aBlock
指向區塊區隔寫入位置的指標。
[in] aPosition
取得區塊區隔的順序。
[in,out] aBlockLength
輸入時,區塊片段長度上限 (以位元組為單位)。
[out] aMore
如果出現其他封鎖區隔,請將滑鼠遊標移至旗標。
傳回值
OT_ERROR_NONE
未發生任何錯誤。
OT_ERROR_INVALID_ARGS
找不到位於 aPosition 的區塊。

otCoapCode

enum otCoapCode otCoapCode

CoAP 代碼值。

otCoapOption

struct otCoapOption otCoapOption

這個結構代表 CoAP 選項。

otCoapOptionContentFormat

enum otCoapOptionContentFormat otCoapOptionContentFormat

CoAP 內容格式代碼。

如要查看完整清單,請前往 https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats

otCoapOptionIterator

struct otCoapOptionIterator otCoapOptionIterator

此結構可做為 CoAP 選項的疊代器。

otCoapOptionType

enum otCoapOptionType otCoapOptionType

CoAP 選項編號。

otCoapRequestHandler

void(* otCoapRequestHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo)

收到包含指定 Uri-Path 的 CoAP 請求時,系統會呼叫此函式指標。

詳情
參數
[in] aContext
指向任意背景資訊的資訊。
[in] aMessage
指向訊息的指標。
[in] aMessageInfo
指向 aMessage 訊息資訊的指標。

otCoap 資源

struct otCoapResource otCoapResource

這個結構代表 CoAP 資源。

otCoapResponseHandler

void(* otCoapResponseHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, otError aResult)

收到 CoAP 回應或要求逾時時,系統會呼叫此函式指標。

詳情
參數
[in] aContext
指向應用程式特定背景資訊的指標。
[in] aMessage
指向包含回應的訊息緩衝區的指標。如果沒有任何回應,則為 NULL。
[in] aMessageInfo
指向 aMessage 訊息資訊的指標。如果沒有任何回應,則為 NULL。
[in] aResult
CoAP 交易的結果。
傳回值
OT_ERROR_NONE
成功收到回應。
OT_ERROR_ABORT
同類應用程式重設了 CoAP 交易。
OT_ERROR_RESPONSE_TIMEOUT
逾時期間未收到回應或確認。

otCoapTxParameters

struct otCoapTxParameters otCoapTxParameters

這個結構代表 CoAP 傳輸參數。

otCoapType

enum otCoapType otCoapType

CoAP 類型值 (2 位元無符號整數)。

Functions

OTCoapAddBlockWiseResource

void otCoapAddBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

這個函式會將區塊化資源新增至 CoAP 伺服器。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aResource
指向資源的指標。

otCoapAddResource

void otCoapAddResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

這個函式會將資源新增至 CoAP 伺服器。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aResource
指向資源的指標。

otCoapBlockSizeFromExponent

uint16_t otCoapBlockSizeFromExponent(
  otCoapBlockSzx aSize
)

這個函式會將 CoAP Block 選項 SZX 欄位轉換為實際區塊大小。

詳情
參數
[in] aSize
區塊大小指數。
傳回
實際大小指數值。

otCoapMessage 附加封鎖 1 選項

otError otCoapMessageAppendBlock1Option(
  otMessage *aMessage,
  uint32_t aNum,
  bool aMore,
  otCoapBlockSzx aSize
)

這個函式會附加 Block1 選項。

詳情
參數
[in,out] aMessage
指向 CoAP 訊息的指標。
[in] aNum
目前的區塊號碼。
[in] aMore
布林值,表示要傳送更多區塊。
[in] aSize
區塊大小指數。
傳回值
OT_ERROR_NONE
已成功附加選項。
OT_ERROR_INVALID_ARGS
選項類型不等於或大於最後一個選項類型。
OT_ERROR_NO_BUFS
選項長度超出緩衝區大小。

otCoapMessage 附加封鎖 2 選項

otError otCoapMessageAppendBlock2Option(
  otMessage *aMessage,
  uint32_t aNum,
  bool aMore,
  otCoapBlockSzx aSize
)

這個函式會附加 Block2 選項。

詳情
參數
[in,out] aMessage
指向 CoAP 訊息的指標。
[in] aNum
目前的區塊號碼。
[in] aMore
布林值,表示要傳送更多區塊。
[in] aSize
區塊大小指數。
傳回值
OT_ERROR_NONE
已成功附加選項。
OT_ERROR_INVALID_ARGS
選項類型不等於或大於最後一個選項類型。
OT_ERROR_NO_BUFS
選項長度超出緩衝區大小。

otCoapMessage 附加內容格式選項

otError otCoapMessageAppendContentFormatOption(
  otMessage *aMessage,
  otCoapOptionContentFormat aContentFormat
)

這個函式會附加 https://tools.ietf.org/html/rfc7252#page-92 中指定的內容格式 CoAP 選項。

如果訊息中含有酬載,您「必須」呼叫 otCoapMessageSetPayloadMarker。

這個函式是 otCoapMessageAttachUintOption 的便利包裝函式,如果 otCoapOptionContentFormat 中未列出所需格式類型代碼,請改用此基本函式。

詳情
參數
[in,out] aMessage
指向 CoAP 訊息的指標。
[in] aContentFormat
以 otCoapOptionContentFormat 中列出的其中一種內容格式。
傳回值
OT_ERROR_NONE
已成功附加選項。
OT_ERROR_INVALID_ARGS
選項類型不等於或大於最後一個選項類型。
OT_ERROR_NO_BUFS
選項長度超出緩衝區大小。

otCoapMessageAttachMaxAgeOption

otError otCoapMessageAppendMaxAgeOption(
  otMessage *aMessage,
  uint32_t aMaxAge
)

這個函式會附加 Max-Age 選項。

詳情
參數
[in,out] aMessage
指向 CoAP 訊息的指標。
[in] aMaxAge
存在時間上限值。
傳回值
OT_ERROR_NONE
已成功附加選項。
OT_ERROR_INVALID_ARGS
選項類型不等於或大於最後一個選項類型。
OT_ERROR_NO_BUFS
選項長度超出緩衝區大小。

otCoapMessageAttachObserveOption

otError otCoapMessageAppendObserveOption(
  otMessage *aMessage,
  uint32_t aObserve
)

這個函式會附加觀察項目選項。

詳情
參數
[in,out] aMessage
指向 CoAP 訊息的指標。
[in] aObserve
查看欄位值。
傳回值
OT_ERROR_NONE
已成功附加選項。
OT_ERROR_INVALID_ARGS
選項類型不等於或大於最後一個選項類型。
OT_ERROR_NO_BUFS
選項長度超出緩衝區大小。

otCoapMessage 附加選項

otError otCoapMessageAppendOption(
  otMessage *aMessage,
  uint16_t aNumber,
  uint16_t aLength,
  const void *aValue
)

這個函式會在標頭中附加 CoAP 選項。

詳情
參數
[in,out] aMessage
指向 CoAP 訊息的指標。
[in] aNumber
CoAP 選項編號。
[in] aLength
CoAP 選項長度。
[in] aValue
指向 CoAP 值的指標。
傳回值
OT_ERROR_NONE
已成功附加選項。
OT_ERROR_INVALID_ARGS
選項類型不等於或大於最後一個選項類型。
OT_ERROR_NO_BUFS
選項長度超出緩衝區大小。

otCoapMessageAttachProxyUriOption

otError otCoapMessageAppendProxyUriOption(
  otMessage *aMessage,
  const char *aUriPath
)

這個函式會附加 Proxy-Uri 選項。

詳情
參數
[in,out] aMessage
指向 CoAP 訊息的指標。
[in] aUriPath
指向 NULL 結尾字串的指標。
傳回值
OT_ERROR_NONE
已成功附加選項。
OT_ERROR_INVALID_ARGS
選項類型不等於或大於最後一個選項類型。
OT_ERROR_NO_BUFS
選項長度超出緩衝區大小。

otCoapMessageAttachUintOption

otError otCoapMessageAppendUintOption(
  otMessage *aMessage,
  uint16_t aNumber,
  uint32_t aValue
)

這個函式會附加 https://tools.ietf.org/html/rfc7252#section-3.2 中指定的未簽署整數 CoAP 選項。

詳情
參數
[in,out] aMessage
指向 CoAP 訊息的指標。
[in] aNumber
CoAP 選項編號。
[in] aValue
CoAP 選項的無符號整數值。
傳回值
OT_ERROR_NONE
已成功附加選項。
OT_ERROR_INVALID_ARGS
選項類型不等於或大於最後一個選項類型。
OT_ERROR_NO_BUFS
選項長度超出緩衝區大小。
另請參閱:
otCoapMessageGetOptionUintValue

otCoapMessageAttachUriPathOptions

otError otCoapMessageAppendUriPathOptions(
  otMessage *aMessage,
  const char *aUriPath
)

這個函式會附加 Uri-Path 選項。

詳情
參數
[in,out] aMessage
指向 CoAP 訊息的指標。
[in] aUriPath
指向 NULL 結尾字串的指標。
傳回值
OT_ERROR_NONE
已成功附加選項。
OT_ERROR_INVALID_ARGS
選項類型不等於或大於最後一個選項類型。
OT_ERROR_NO_BUFS
選項長度超出緩衝區大小。

otCoapMessageAttachUriQueryOption

otError otCoapMessageAppendUriQueryOption(
  otMessage *aMessage,
  const char *aUriQuery
)

這個函式會附加單一 UriQuery 選項。

詳情
參數
[in,out] aMessage
指向 CoAP 訊息的指標。
[in] aUriQuery
指向 NULL 終止字串的指標,其中應包含單一鍵=值配對。
傳回值
OT_ERROR_NONE
已成功附加選項。
OT_ERROR_INVALID_ARGS
選項類型不等於或大於最後一個選項類型。
OT_ERROR_NO_BUFS
選項長度超出緩衝區大小。

otCoapMessageCodeToString

const char * otCoapMessageCodeToString(
  const otMessage *aMessage
)

這個方法會傳回 CoAP 程式碼做為使用者可理解的字串。

@ 會以字串傳回 CoAP 代碼。

詳情
參數
[in] aMessage
指向 CoAP 訊息的指標。

otCoapMessageGenerateToken

void otCoapMessageGenerateToken(
  otMessage *aMessage,
  uint8_t aTokenLength
)

這個函式會設定權杖長度,並隨機將其值。

詳情
參數
[in,out] aMessage
指向 CoAP 訊息的指標。
[in] aTokenLength
要設定的權杖長度。

otCoapMessageGetCode

otCoapCode otCoapMessageGetCode(
  const otMessage *aMessage
)

這個函式會傳回代碼值。

詳情
參數
[in] aMessage
指向 CoAP 訊息的指標。
傳回
代碼值。

otCoapMessageGetMessageId

uint16_t otCoapMessageGetMessageId(
  const otMessage *aMessage
)

這個函式會傳回訊息 ID 值。

詳情
參數
[in] aMessage
指向 CoAP 訊息的指標。
傳回
郵件 ID 值。

otCoapMessageGetToken

const uint8_t * otCoapMessageGetToken(
  const otMessage *aMessage
)

這個函式會傳回指向 Token 值的指標。

詳情
參數
[in] aMessage
指向 CoAP 訊息的指標。
傳回
指向 Token 值的指標。

otCoapMessageGetTokenLength

uint8_t otCoapMessageGetTokenLength(
  const otMessage *aMessage
)

這個函式會傳回權杖長度。

詳情
參數
[in] aMessage
指向 CoAP 訊息的指標。
傳回
權杖長度。

otCoapMessageGetType

otCoapType otCoapMessageGetType(
  const otMessage *aMessage
)

這個函式會傳回類型值。

詳情
參數
[in] aMessage
指向 CoAP 訊息的指標。
傳回
類型值。

otCoapMessageInit

void otCoapMessageInit(
  otMessage *aMessage,
  otCoapType aType,
  otCoapCode aCode
)

這個函式會初始化 CoAP 標頭。

詳情
參數
[in,out] aMessage
指向 CoAP 訊息的初始化指標。
[in] aType
CoAP 訊息類型。
[in] aCode
CoAP 訊息代碼。

otCoapMessageInitResponse

otError otCoapMessageInitResponse(
  otMessage *aResponse,
  const otMessage *aRequest,
  otCoapType aType,
  otCoapCode aCode
)

這個函式會初始化回應訊息。

詳情
參數
[in,out] aResponse
指向 CoAP 回應訊息的指標。
[in] aRequest
指向 CoAP 要求訊息的指標。
[in] aType
CoAP 訊息類型。
[in] aCode
CoAP 訊息代碼。
傳回值
OT_ERROR_NONE
已成功初始化回應訊息。
OT_ERROR_NO_BUFS
訊息緩衝區數量不足,無法初始化回應訊息。

otCoapMessageSetCode

void otCoapMessageSetCode(
  otMessage *aMessage,
  otCoapCode aCode
)

這個函式會設定代碼值。

詳情
參數
[in,out] aMessage
指向 CoAP 訊息的初始化指標。
[in] aCode
CoAP 訊息代碼。

otCoapMessageSetPayloadMarker

otError otCoapMessageSetPayloadMarker(
  otMessage *aMessage
)

這個函式會將酬載標記新增至酬載的 CoAP 標頭。

詳情
參數
[in,out] aMessage
指向 CoAP 訊息的指標。
傳回值
OT_ERROR_NONE
已成功新增酬載標記。
OT_ERROR_NO_BUFS
標頭酬載標記超過緩衝區大小。

otCoapMessageSetToken

otError otCoapMessageSetToken(
  otMessage *aMessage,
  const uint8_t *aToken,
  uint8_t aTokenLength
)

這個函式會在標頭中設定權杖值和長度。

詳情
參數
[in,out] aMessage
指向 CoAP 訊息的指標。
[in] aToken
指向 Token 值的指標。
[in] aTokenLength
aToken 的長度。
傳回值
OT_ERROR_NONE
已成功設定權杖值。
OT_ERROR_NO_BUFS
緩衝區數量不足以設定 Token 值。

otCoapNewMessage

otMessage * otCoapNewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

這個函式會建立新的 CoAP 訊息。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aSettings
指向訊息設定的指標,或指向 NULL 以調整預設設定。
傳回
如果沒有可用的訊息緩衝區或參數無效,表示訊息緩衝區的指標。

otCoapOptionIteratorGetFirstOption

const otCoapOption * otCoapOptionIteratorGetFirstOption(
  otCoapOptionIterator *aIterator
)

這個函式會傳回第一個選項的指標。

詳情
參數
[in,out] aIterator
指向 CoAP 訊息選項疊代器的指標。
傳回
第一個選項的指標。如果沒有選項,則會傳回 NULL 指標。

otCoapOptionIteratorGetFirstOptionMatching

const otCoapOption * otCoapOptionIteratorGetFirstOptionMatching(
  otCoapOptionIterator *aIterator,
  uint16_t aOption
)

這個函式會傳回指標,指向指定選項編號的第一個選項。

詳情
參數
[in] aIterator
指向 CoAP 訊息選項疊代器的指標。
[in] aOption
已找到選項編號。
傳回
第一個比對選項的指標。如果沒有相符選項,則不會傳回 NULL 指標。

otCoapOptionIteratorGetNextOption

const otCoapOption * otCoapOptionIteratorGetNextOption(
  otCoapOptionIterator *aIterator
)

這個函式會傳回指向下一個選項的指標。

詳情
參數
[in,out] aIterator
指向 CoAP 訊息選項疊代器的指標。
傳回
指向下一個選項的指標。如果沒有其他選項,則會傳回 NULL 指標。

otCoapOptionIteratorGetNextOptionMatching

const otCoapOption * otCoapOptionIteratorGetNextOptionMatching(
  otCoapOptionIterator *aIterator,
  uint16_t aOption
)

這個函式會傳回指向符合指定選項編號的下一個選項的指標。

詳情
參數
[in] aIterator
指向 CoAP 訊息選項疊代器的指標。
[in] aOption
已找到選項編號。
傳回
指向下一個相符選項的指標。如果沒有進一步比對選項,則不會傳回 NULL 指標。

otCoapOptionIteratorGetOptionUintValue

otError otCoapOptionIteratorGetOptionUintValue(
  otCoapOptionIterator *aIterator,
  uint64_t *aValue
)

根據 https://tools.ietf.org/html/rfc7252#section-3.2 編碼時,這個函式會將目前選項值填入 aValue 中。

詳情
參數
[in,out] aIterator
指向 CoAP 訊息選項疊代器的指標。
[out] aValue
指向未簽署整數的指標,以取得選項值。
傳回值
OT_ERROR_NONE
已成功填入值。
OT_ERROR_NOT_FOUND
沒有目前的選項。
OT_ERROR_NO_BUFS
值過長,無法在 uint64_t 中填入。
另請參閱:
otCoapMessageAttachUintOption

otCoapOptionIteratorGetOptionValue

otError otCoapOptionIteratorGetOptionValue(
  otCoapOptionIterator *aIterator,
  void *aValue
)

這個函式會將目前的選項值填入 aValue

詳情
參數
[in,out] aIterator
指向 CoAP 訊息選項疊代器的指標。
[out] aValue
指向緩衝區值以取得指標的指標。
傳回值
OT_ERROR_NONE
已成功填入值。
OT_ERROR_NOT_FOUND
沒有目前的選項。

otCoapOptionIteratorInit

otError otCoapOptionIteratorInit(
  otCoapOptionIterator *aIterator,
  const otMessage *aMessage
)

這個函式會初始化指定訊息中選項的疊代器。

詳情
參數
[in,out] aIterator
指向 CoAP 訊息選項疊代器的指標。
[in] aMessage
指向 CoAP 訊息的指標。
傳回值
OT_ERROR_NONE
已成功初始化。
OT_ERROR_PARSE
郵件狀態不一致。

otCoapRemoveBlockWiseResource

void otCoapRemoveBlockWiseResource(
  otInstance *aInstance,
  otCoapBlockwiseResource *aResource
)

這個函式會從 CoAP 伺服器中移除區塊資源,

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aResource
指向資源的指標。

otCoapRemoveResource

void otCoapRemoveResource(
  otInstance *aInstance,
  otCoapResource *aResource
)

這個函式會從 CoAP 伺服器中移除資源。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aResource
指向資源的指標。

otCoapSendRequest

otError otCoapSendRequest(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  otCoapResponseHandler aHandler,
  void *aContext
)

這個函式會傳送 CoAP 要求。

如果要求回應,應提供個別函式和情境資訊。如果預期沒有回應,這些引數應為 NULL 指標。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aMessage
要傳送的訊息的指標。
[in] aMessageInfo
指向與 aMessage 相關聯的訊息資訊指標,
[in] aHandler
應在收到回應或逾時時呼叫的函式指標。
[in] aContext
指向任意背景資訊的資訊。如未使用,可能為 NULL。
傳回值
OT_ERROR_NONE
成功傳送 CoAP 訊息。
OT_ERROR_NO_BUFS
無法分配重新傳輸資料。

otCoapSendRequestBlockWise

otError otCoapSendRequestBlockWise(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  otCoapResponseHandler aHandler,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook,
  otCoapBlockwiseReceiveHook aReceiveHook
)

這個函式是以區塊方式傳送 CoAP 要求。

您必須啟用 OPENNON_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 設定,才能使用這項功能。

如果要求回應,應提供個別函式和情境資訊。如果回應預計是區塊封鎖,就應該提供對應的掛鉤函式。如果預期沒有回應,這些引數應為 NULL 指標。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aMessage
要傳送的訊息的指標。
[in] aMessageInfo
指向與 aMessage 相關聯的訊息資訊指標,
[in] aHandler
應在收到回應或逾時時呼叫的函式指標。
[in] aContext
指向任意背景資訊的資訊。如未使用,可能為 NULL。
[in] aTransmitHook
指向連出區塊傳輸的掛鉤函式。
[in] aReceiveHook
指向傳入區塊化傳輸的掛鉤函式。
傳回值
OT_ERROR_NONE
成功傳送 CoAP 訊息。
OT_ERROR_NO_BUFS
無法分配重新傳輸資料。

otCoapSendRequestBlockWiseWithParameters

otError otCoapSendRequestBlockWiseWithParameters(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  otCoapResponseHandler aHandler,
  void *aContext,
  const otCoapTxParameters *aTxParameters,
  otCoapBlockwiseTransmitHook aTransmitHook,
  otCoapBlockwiseReceiveHook aReceiveHook
)

這個函式會以自訂傳輸參數來區塊傳送 CoAP 要求。

您必須啟用 OPENNON_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 設定,才能使用這項功能。

如果要求回應,應提供個別函式和情境資訊。如果回應預計是區塊封鎖,就應該提供對應的掛鉤函式。如果預期沒有回應,這些引數應為 NULL 指標。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aMessage
要傳送的訊息的指標。
[in] aMessageInfo
指向與 aMessage 相關聯的訊息資訊指標,
[in] aHandler
應在收到回應或逾時時呼叫的函式指標。
[in] aContext
指向任意背景資訊的資訊。如未使用,可能為 NULL。
[in] aTxParameters
這個要求的傳輸參數。預設值為 NULL。
[in] aTransmitHook
指向連出區塊傳輸的掛鉤函式。
[in] aReceiveHook
指向傳入區塊化傳輸的掛鉤函式。
傳回值
OT_ERROR_NONE
成功傳送 CoAP 訊息。
OT_ERROR_NO_BUFS
無法分配重新傳輸資料。

otCoapSendRequestWithParameters

otError otCoapSendRequestWithParameters(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  otCoapResponseHandler aHandler,
  void *aContext,
  const otCoapTxParameters *aTxParameters
)

這個函式會傳送含有自訂傳輸參數的 CoAP 要求。

如果要求回應,應提供個別函式和情境資訊。如果預期沒有回應,這些引數應為 NULL 指標。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aMessage
要傳送的訊息的指標。
[in] aMessageInfo
指向與 aMessage 相關聯的訊息資訊指標,
[in] aHandler
應在收到回應或逾時時呼叫的函式指標。
[in] aContext
指向任意背景資訊的資訊。如未使用,可能為 NULL。
[in] aTxParameters
這個要求的傳輸參數。預設值為 NULL。否則,指定的參數必須符合下列條件:
  1. mMaxRetransmit 不超過 OT_COAP_MAX_RETRANSMIT。
  2. mAckRandomFactorNumerator / mAckRandomFactorDenominator 不得低於 1.0。
  3. 計算後的交換時間不得溢位 uint32_t。
傳回值
OT_ERROR_INVALID_ARGS
aTxParameters」無效。
OT_ERROR_NONE
成功傳送 CoAP 訊息。
OT_ERROR_NO_BUFS
無法分配重新傳輸資料。

otCoapSendResponse

otError otCoapSendResponse(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo
)

這個函式會從伺服器傳送 CoAP 回應。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aMessage
指向 CoAP 回應的指標。
[in] aMessageInfo
指向與 aMessage 相關聯的訊息資訊指標,
傳回值
OT_ERROR_NONE
成功將 CoAP 回應訊息加入佇列。
OT_ERROR_NO_BUFS
緩衝區數量不足,無法傳送 CoAP 回應。

OTCoapSendResponseBlockWise

otError otCoapSendResponseBlockWise(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook
)

這個函式會以區塊方式從伺服器傳送 CoAP 回應。

您必須啟用 OPENNON_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 設定,才能使用這項功能。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aMessage
指向 CoAP 回應的指標。
[in] aMessageInfo
指向與 aMessage 相關聯的訊息資訊指標,
[in] aContext
指向任意背景資訊的資訊。如未使用,可能為 NULL。
[in] aTransmitHook
指向連出區塊傳輸的掛鉤函式。
傳回值
OT_ERROR_NONE
成功將 CoAP 回應訊息加入佇列。
OT_ERROR_NO_BUFS
緩衝區數量不足,無法傳送 CoAP 回應。

otCoapSendResponseBlockWiseWithParameters

otError otCoapSendResponseBlockWiseWithParameters(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  const otCoapTxParameters *aTxParameters,
  void *aContext,
  otCoapBlockwiseTransmitHook aTransmitHook
)

這個函式會透過自訂傳輸參數,以區塊方式從伺服器傳送 CoAP 回應。

您必須啟用 OPENNON_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 設定,才能使用這項功能。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aMessage
指向 CoAP 回應的指標。
[in] aMessageInfo
指向與 aMessage 相關聯的訊息資訊指標,
[in] aTxParameters
這個回應傳輸參數的指標。預設值為 NULL。
[in] aContext
指向任意背景資訊的資訊。如未使用,可能為 NULL。
[in] aTransmitHook
指向連出區塊傳輸的掛鉤函式。
傳回值
OT_ERROR_NONE
成功將 CoAP 回應訊息加入佇列。
OT_ERROR_NO_BUFS
緩衝區數量不足,無法傳送 CoAP 回應。

otCoapSendResponseWithParameters

otError otCoapSendResponseWithParameters(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  const otCoapTxParameters *aTxParameters
)

這個函式會從伺服器傳送自訂傳輸參數的 CoAP 回應,

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aMessage
指向 CoAP 回應的指標。
[in] aMessageInfo
指向與 aMessage 相關聯的訊息資訊指標,
[in] aTxParameters
這個回應傳輸參數的指標。預設值為 NULL。
傳回值
OT_ERROR_NONE
成功將 CoAP 回應訊息加入佇列。
OT_ERROR_NO_BUFS
緩衝區數量不足,無法傳送 CoAP 回應。

otCoapSetDefaultHandler

void otCoapSetDefaultHandler(
  otInstance *aInstance,
  otCoapRequestHandler aHandler,
  void *aContext
)

這個函式會設定未處理的 CoAP 要求的預設處理常式。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aHandler
收到未處理的要求時呼叫的函式指標。
[in] aContext
指向任意背景資訊的資訊。如未使用,可能為 NULL。

otCoapStart

otError otCoapStart(
  otInstance *aInstance,
  uint16_t aPort
)

這個函式會啟動 CoAP 伺服器。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aPort
要繫結的本機 UDP 通訊埠。
傳回值
OT_ERROR_NONE
成功啟動 CoAP 伺服器。
OT_ERROR_FAILED
無法啟動 CoAP 伺服器。

otCoapStop

otError otCoapStop(
  otInstance *aInstance
)

這個函式會停止 CoAP 伺服器。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回值
OT_ERROR_NONE
已成功停止 CoAP 伺服器。

巨集

OT_COAP_CODE

 OT_COAP_CODE ((((c)&0x7) << 5) | ((d)&0x1f))

用來定義 CoAP 代碼值的輔助巨集。

OT_COAP_DEFAULT_TOKEN_LENGTH

 OT_COAP_DEFAULT_TOKEN_LENGTH 2

預設權杖長度。

OT_COAP_MAX_RETRANSMIT

 OT_COAP_MAX_RETRANSMIT 20

OpenThread 支援的重新傳輸上限。

OT_COAP_MAX_TOKEN_LENGTH

 OT_COAP_MAX_TOKEN_LENGTH 8

指定權杖長度上限 (RFC 7252)。

OT_COAP_MIN_ACK_TIMEOUT

 OT_COAP_MIN_ACK_TIMEOUT 1000

OpenThread 支援的最小 ACK 逾時時間 (以毫秒為單位)。

OTONEDEFAULT_COAP_PORT

 OT_DEFAULT_COAP_PORT 5683

預設的 CoAP 通訊埠,如 RFC 7252 中所述。

資源

OpenThread API 參考資料主題出自原始碼,可於 GitHub 取得。如需更多資訊,或想參閱我們的說明文件,請參閱資源