Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

行動計劃

該模塊包括控制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位無符號整數)。

類型定義

otCoapBlockSzx類型定義
CoAP塊大小指數。
otCoapBlockwiseReceiveHook )(void *aContext, const uint8_t *aBlock, uint32_t aPosition, uint16_t aBlockLength, bool aMore, uint32_t aTotalLength)類型定義
當收到帶有逐塊傳輸選項的CoAP消息時,將調用此函數指針。
otCoapBlockwiseResource類型定義
此結構表示具有逐塊傳輸的CoAP資源。
otCoapBlockwiseTransmitHook )(void *aContext, uint8_t *aBlock, uint32_t aPosition, uint16_t *aBlockLength, bool *aMore)類型定義
在發送逐塊傳輸的下一個塊之前,將調用此函數指針。
otCoapCode類型定義
CoAP代碼值。
otCoapOption類型定義
此結構表示CoAP選項。
otCoapOptionContentFormat類型定義
CoAP內容格式代碼。
otCoapOptionIterator類型定義
此結構充當CoAP選項的迭代器。
otCoapOptionType類型定義
CoAP選件編號。
otCoapRequestHandler )(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo)類型定義
void(*
當收到具有給定Uri路徑的CoAP請求時,將調用此函數指針。
otCoapResource類型定義
此結構表示CoAP資源。
otCoapResponseHandler )(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, otError aResult)類型定義
void(*
當收到CoAP響應或請求超時時,將調用此函數指針。
otCoapTxParameters類型定義
此結構表示CoAP傳輸參數。
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中指定的Content Format CoAP選項。
otCoapMessageAppendMaxAgeOption ( otMessage *aMessage, uint32_t aMaxAge)
此功能附加了最大年齡選項。
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)
此函數附加單個Uri-Query選項。
otCoapMessageCodeToString (const otMessage *aMessage)
const char *
此方法將CoAP代碼作為人類可讀的字符串返回。
otCoapMessageGenerateToken ( otMessage *aMessage, uint8_t aTokenLength)
void
此函數設置令牌長度並隨機化其值。
otCoapMessageGetCode (const otMessage *aMessage)
此函數返回Code值。
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)
此函數返回Type值。
otCoapMessageInit ( otMessage *aMessage, otCoapType aType, otCoapCode aCode)
void
此函數初始化CoAP標頭。
otCoapMessageInitResponse ( otMessage *aResponse, const otMessage *aRequest, otCoapType aType, otCoapCode aCode)
該函數初始化響應消息。
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

不支持代理。

OT_COAP_CODE_PUT

放。

OT_COAP_CODE_REQUEST_INCOMPLETE

RFC7959請求實體不完整。

OT_COAP_CODE_REQUEST_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

應用程序/案例:[RFC7049]

OT_COAP_OPTION_CONTENT_FORMAT_COAP_GROUP_JSON

application / coap-group + json:[RFC7390]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT

申請/費用; cose-type =“ cose-encrypt”:[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT0

申請/費用; cose-type =“ cose-encrypt0”:[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY

應用程序/組合鍵:[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY_SET

應用程序/密碼鍵集:[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC

申請/費用; cose-type =“ cose-mac”:[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC0

申請/費用; cose-type =“ cose-mac0”:[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN

申請/費用; cose-type =“ cose-sign”:[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN1

申請/費用; cose-type =“ cose-sign1”:[RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_CWT

應用程序/ cwt:[RFC8392]

OT_COAP_OPTION_CONTENT_FORMAT_EXI

application / exi:[“高效XML交換(EXI)格式1.0(第二版)”,2014年2月]

OT_COAP_OPTION_CONTENT_FORMAT_JSON

應用程序/ 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

應用程序/八位字節流:[RFC2045] [RFC2046]

OT_COAP_OPTION_CONTENT_FORMAT_SENML_CBOR

應用程序/ 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

應用程序/ 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

文字/純文字; 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

如果匹配。

OT_COAP_OPTION_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

代理方案。

OT_COAP_OPTION_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-Path。

OT_COAP_OPTION_URI_PORT

烏里港。

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

重啟。

類型定義

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消息時,將調用此函數指針。

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

otCoapBlockwiseTransmitHook

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上的塊不存在。

otCoapCode

enum otCoapCode otCoapCode

CoAP代碼值。

otCoapOption

struct otCoapOption otCoapOption

此結構表示CoAP選項。

otCoapOptionContentFormat

enum otCoapOptionContentFormat otCoapOptionContentFormat

otCoapOptionIterator

struct otCoapOptionIterator otCoapOptionIterator

此結構充當CoAP選項的迭代器。

otCoapOptionType

enum otCoapOptionType otCoapOptionType

CoAP選件編號。

otCoapRequestHandler

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
指向包含響應的消息緩衝區的指針。如果未收到響應,則為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位無符號整數)。

功能

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
塊大小指數。
退貨
實際大小指數值。

otCoapMessageAppendBlock1Option

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

otCoapMessageAppendBlock2Option

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

otCoapMessageAppendContentFormatOption

otError otCoapMessageAppendContentFormatOption(
  otMessage *aMessage,
  otCoapOptionContentFormat aContentFormat
)

此功能附加https://tools.ietf.org/html/rfc7252#page-92中指定的Content Format CoAP選項。

如果要在消息中包含有效負載,則必須在設置otCoapMessageSetPayloadMarker之前調用此方法。

該函數是otCoapMessageAppendUintOption的便捷包裝,如果otCoapOptionContentFormat中未列出所需的格式類型代碼,則應改用此基本函數。

細節
參量
[in,out] aMessage
指向CoAP消息的指針。
[in] aContentFormat
上面的otCoapOptionContentFormat中列出的內容格式之一。
返回值
OT_ERROR_NONE
成功附加選項。
OT_ERROR_INVALID_ARGS
選項類型不等於或大於上一個選項類型。
OT_ERROR_NO_BUFS
選項長度超過緩衝區大小。

otCoapMessageAppendMaxAgeOption

otError otCoapMessageAppendMaxAgeOption(
  otMessage *aMessage,
  uint32_t aMaxAge
)

此功能附加了最大年齡選項。

細節
參量
[in,out] aMessage
指向CoAP消息的指針。
[in] aMaxAge
最大年齡值。
返回值
OT_ERROR_NONE
成功附加選項。
OT_ERROR_INVALID_ARGS
選項類型不等於或大於上一個選項類型。
OT_ERROR_NO_BUFS
選項長度超過緩衝區大小。

otCoapMessageAppendObserveOption

otError otCoapMessageAppendObserveOption(
  otMessage *aMessage,
  uint32_t aObserve
)

此函數附加一個“觀察”選項。

細節
參量
[in,out] aMessage
指向CoAP消息的指針。
[in] aObserve
觀察字段值。
返回值
OT_ERROR_NONE
成功附加選項。
OT_ERROR_INVALID_ARGS
選項類型不等於或大於上一個選項類型。
OT_ERROR_NO_BUFS
選項長度超過緩衝區大小。

otCoapMessageAppendOption

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

otCoapMessageAppendProxyUriOption

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

otCoapMessageAppendUintOption

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

otCoapMessageAppendUriPathOptions

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

otCoapMessageAppendUriQueryOption

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

此函數附加單個Uri-Query選項。

細節
參量
[in,out] aMessage
指向CoAP消息的指針。
[in] aUriQuery
指向以NULL終止的字符串的指針,該字符串應包含單個key = value對。
返回值
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
)

此函數返回Code值。

細節
參量
[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消息的指針。
退貨
指向令牌值的指針。

otCoapMessageGetTokenLength

uint8_t otCoapMessageGetTokenLength(
  const otMessage *aMessage
)

此函數返回令牌長度。

細節
參量
[in] aMessage
指向CoAP消息的指針。
退貨
令牌長度。

otCoapMessageGetType

otCoapType otCoapMessageGetType(
  const otMessage *aMessage
)

此函數返回Type值。

細節
參量
[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
可用於初始化響應消息的消息緩衝區不足。

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以設置默認設置。
退貨
指向消息緩衝區的指針;如果沒有可用的消息緩衝區或參數無效,則為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。
也可以看看:
otCoapMessageAppendUintOption

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配置時,此功能可用。

如果期望對請求的響應,則應提供相應的功能和上下文信息。如果期望響應是塊響應,則應提供相應的掛鉤函數。如果沒有響應,則這些參數應為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配置時,此功能可用。

如果期望對請求的響應,則應提供相應的功能和上下文信息。如果期望響應是塊響應,則應提供相應的掛鉤函數。如果沒有響應,則這些參數應為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響應。

啟用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響應的緩衝區不足。

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

OT_DEFAULT_COAP_PORT

 OT_DEFAULT_COAP_PORT 5683

默認CoAP端口,如RFC 7252中所指定。