同性戀

這個模組內含控制 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 的 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 位元無正負號整數)。

函式

otCoapAddBlockWiseResource(otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
將區塊資源資源新增至 CoAP 伺服器。
otCoapAddResource(otInstance *aInstance, otCoapResource *aResource)
void
將資源新增至 CoAP 伺服器。
otCoapBlockSizeFromExponent(otCoapBlockSzx aSize)
uint16_t
將 CoAP 模塊選項 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 路徑選項。
otCoapMessageAppendUriQueryOption(otMessage *aMessage, const char *aUriQuery)
附加一個 URI 查詢選項。
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 *
傳回權杖值的指標。
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)
將目前的選項值填入 aValue,假設目前值是依據 https://tools.ietf.org/html/rfc7252#section-3.2 編碼的未簽署整數。
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 傳輸參數。

列舉

OotCoapBlockSzx

 otCoapBlockSzx

CoAP 區塊大小指數。

OotCoapCode

 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

應用程式/coap-group+json:[RFC7390]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT

app/cose; cose-type="cose-Encrypt": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT0

app/cose; cose-type="cose-Encrypt0": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY

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

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY_SET

應用程式/cose-key-set:[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC

應用程式/cose; cose-type="cose-mac": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC0

application/cose; cose-type="cose-mac0": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN

應用程式/cose; cose-type="cose-sign": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN1

app/cose; cose-type="cose-sign1": [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_CWT

應用程式/cwt:[RFC8392]

OT_COAP_OPTION_CONTENT_FORMAT_EXI

application/exi: [Efficient XML Interchange (EXI) Format 1.0 (Second Edition)] (2014 年 2 月)]

OT_COAP_OPTION_CONTENT_FORMAT_JSON

應用程式/json:[RFC7159]

OT_COAP_OPTION_CONTENT_FORMAT_JSON_PATCH_JSON

應用程式/json-patch+json:[RFC6902]

OT_COAP_OPTION_CONTENT_FORMAT_LINK_FORMAT

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

OT_COAP_OPTION_CONTENT_FORMAT_MERGE_PATCH_JSON

應用程式/merge-patch+json:[RFC7396]

OT_COAP_OPTION_CONTENT_FORMAT_OCTET_STREAM

應用程式/octet-stream:[RFC2045][RFC2046]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_CBOR

應用程式/senml+cbor:[RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_EXI

應用程式/senml-exi:[RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_JSON

應用程式/senml+json:[RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_XML

應用程式/senml+xml:[RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_CBOR

應用程式/sensml+cbor:[RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_EXI

應用程式/sensml-exi:[RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_JSON

應用程式/sensml+json:[RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_SENSML_XML

應用程式/sensml+xml:[RFC8428]

OT_COAP_OPTION_CONTENT_FORMAT_TEXT_PLAIN

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

Block1 (RFC7959)

OT_COAP_OPTION_BLOCK2

Block2 (RFC7959)

OT_COAP_OPTION_CONTENT_FORMAT

內容格式。

OT_COAP_OPTION_E_TAG

ETag。

OT_COAP_OPTION_IF_MATCH

如果比對符合。

OT_COAP_OPTION_IF_NONE_MATCH

if-None-Match。

OT_COAP_OPTION_LOCATION_PATH

位置路徑。

OT_COAP_OPTION_LOCATION_QUERY

位置查詢。

OT_COAP_OPTION_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

URI 主機。

OT_COAP_OPTION_URI_PATH

URI 路徑。

OT_COAP_OPTION_URI_PORT

URI 通訊埠。

OT_COAP_OPTION_URI_QUERY

URI 查詢。

OtCoapType

 otCoapType

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

屬性
OT_COAP_TYPE_ACKNOWLEDGMENT

確認聲明。

OT_COAP_TYPE_CONFIRMABLE

可確認。

OT_COAP_TYPE_NON_CONFIRMABLE

無法確認。

OT_COAP_TYPE_RESET

重設。

Typedefs

OotCoapBlockSzx

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 訊息時,系統會呼叫指標。

啟用 OPENTHREAD_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 資源。

otCoapBlockwisewiseTransmitHook

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

系統會在傳送排程順位的下一個區塊之前呼叫指標。

啟用 OPENTHREAD_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 的封鎖不存在。

OotCoapCode

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 選項號碼。

OotCoapRequestHandler

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

收到包含指定 URI 的 CoAP 要求時,會呼叫指標。

詳細說明
參數
[in] aContext
指向任意結構定義資訊的指標。
[in] aMessage
訊息的指標。
[in] aMessageInfo
aMessage 訊息資訊的指標。

otCoapResource

struct otCoapResource otCoapResource

代表 CoAP 資源。

otCoapResponseHandler

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

收到 CoAP 回應或要求逾時時,就會呼叫指標。

詳細說明
參數
[in] aContext
指向應用程式特定內容的指標。
[in] aMessage
指向包含回應的訊息緩衝區的指標。空值 (如未收到回應)。
[in] aMessageInfo
aMessage 訊息資訊的指標。空值 (如未收到回應)。
[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 位元無正負號整數)。

函式

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 模塊選項 SZX 欄位轉換為實際的區塊大小。

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

otCoapMessageAttachBlock1Option

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
選項長度超過緩衝區空間。

otCoapMessageAttachBlock2Option

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
選項長度超過緩衝區空間。

otCoapMessageAttachContentFormatOption

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
Max-Age 值。
傳回值
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
選項長度超過緩衝區空間。

otCoapMessageAttachOption

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 路徑選項。

詳細說明
參數
[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
)

附加一個 URI 查詢選項。

詳細說明
參數
[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
)

傳回權杖值的指標。

詳細說明
參數
[in] aMessage
指向 CoAP 訊息的指標。
傳回
權杖值的指標。

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 訊息代碼。

OotCoapMessageInitResponse

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
訊息緩衝區不足,無法初始化回應訊息。

OotCoapMessageSet 代碼

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
權杖值的指標。
[in] aTokenLength
aToken 的長度。
傳回值
OT_ERROR_NONE
已成功設定權杖值。
OT_ERROR_NO_BUFS
緩衝區不足,無法設定權杖值。

OtCoapNewMessage

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

建立新的 CoAP 訊息。

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

取得第一個選項 otCoapOptionIterator

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
)

將目前的選項值填入 aValue,假設目前值是依據 https://tools.ietf.org/html/rfc7252#section-3.2 編碼的未簽署整數。

詳細說明
參數
[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 請求。

啟用 OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 設定時可使用。

如果預期會收到要求的回應,則應提供對應的函式及內容資訊。如果回應預期是區塊,則必須提供相應的 hook 函式。如果預期沒有回應,這些引數應為 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 要求。

啟用 OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 設定時可使用。

如果預期會收到要求的回應,則應提供對應的函式及內容資訊。如果回應預期是區塊,則必須提供相應的 hook 函式。如果預期沒有回應,這些引數應為 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
無法分配重新傳輸資料。
OT_ERROR_INVALID_ARGS
提供的引數無效。

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_NONE
已成功傳送 CoAP 訊息。
OT_ERROR_NO_BUFS
無法分配重新傳輸資料。
OT_ERROR_INVALID_ARGS
提供的引數無效。

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 回應。

啟用 OPENTHREAD_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 回應。

啟用 OPENTHREAD_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 回應的緩衝區不足。
OT_ERROR_INVALID_ARGS
提供的引數無效。

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 回應的緩衝區不足。
OT_ERROR_INVALID_ARGS
提供的引數無效。

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 逾時時間 (以毫秒為單位)。

OT_DEFAULT_COAP_PORT

 OT_DEFAULT_COAP_PORT 5683

依據 RFC 7252 指定的預設 CoAP 通訊埠。

資源

源自原始碼的 OpenThread API 參考資料主題,可在 GitHub 取得。如要瞭解詳情或參與說明文件,請參閱資源