美国 CoAP
此模块包含用于控制 CoAP 通信的函数。
摘要
启用 CoAP API 功能 (OPENTHREAD_CONFIG_COAP_API_ENABLE
) 后,才能使用此模块中的函数。
类型定义符 |
|
---|---|
otCoapBlockSzx
|
typedefenum otCoapBlockSzx
CoAP 块大小指数。 |
otCoapBlockwiseReceiveHook)(void *aContext, const uint8_t *aBlock, uint32_t aPosition, uint16_t aBlockLength, bool aMore, uint32_t aTotalLength)
|
typedefotError(*
在收到包含按块传输选项的 CoAP 消息时,会调用指针。 |
otCoapBlockwiseResource
|
typedefstruct otCoapBlockwiseResource
表示进行块级传输的 CoAP 资源。 |
otCoapBlockwiseTransmitHook)(void *aContext, uint8_t *aBlock, uint32_t aPosition, uint16_t *aBlockLength, bool *aMore)
|
typedefotError(*
在发送按块传输的下一个块之前调用指针。 |
otCoapCode
|
typedefenum otCoapCode
CoAP Code 值。 |
otCoapOption
|
typedefstruct otCoapOption
表示 CoAP 选项。 |
otCoapOptionContentFormat
|
typedef CoAP 内容格式代码。 |
otCoapOptionIterator
|
typedefstruct otCoapOptionIterator
充当 CoAP 选项的迭代器。 |
otCoapOptionType
|
typedefenum otCoapOptionType
CoAP 选项编号。 |
otCoapRequestHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo)
|
typedefvoid(*
在收到具有指定 Uri-Path 的 CoAP 请求时,系统会调用指针。 |
otCoapResource
|
typedefstruct otCoapResource
表示 CoAP 资源。 |
otCoapResponseHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, otError aResult)
|
typedefvoid(*
在收到 CoAP 响应时或请求超时时,会调用指针。 |
otCoapTxParameters
|
typedefstruct otCoapTxParameters
表示 CoAP 传输参数。 |
otCoapType
|
typedefenum 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)
|
附加一个 Observe 选项。
|
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)
|
返回代码值。
|
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)
|
设置标头中的 Token 值和长度。
|
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 传输参数。 |
枚举
otCoapBlockSzx
otCoapBlockSzx
CoAP 块大小指数。
otCoapCode
otCoapCode
CoAP Code 值。
属性 | |
---|---|
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
|
土耳其里拉 |
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
|
application/cbor:[RFC7049] |
OT_COAP_OPTION_CONTENT_FORMAT_COAP_GROUP_JSON
|
application/coap-group+json:[RFC7390] |
OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT
|
application/cose;cose-type="cose-encrypt": [RFC8152] |
OT_COAP_OPTION_CONTENT_FORMAT_COSE_ENCRYPT0
|
application/cose; cose-type="cose-encrypt0": [RFC8152] |
OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY
|
application/cose-key:[RFC8152] |
OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY_SET
|
application/cose-key-set:[RFC8152] |
OT_COAP_OPTION_CONTENT_FORMAT_COSE_MAC
|
application/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
|
application/cose; cose-type="cose-sign": [RFC8152] |
OT_COAP_OPTION_CONTENT_FORMAT_COSE_SIGN1
|
application/cose; cose-type="cose-sign1": [RFC8152] |
OT_COAP_OPTION_CONTENT_FORMAT_CWT
|
application/cwt:[RFC8392] |
OT_COAP_OPTION_CONTENT_FORMAT_EXI
|
application/exi: [“高效 XML 交换 (EXI) 格式 1.0(第二版)”],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
|
application/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
|
text/plain; charset=utf-8:[RFC2046][RFC3676][RFC5147] |
OT_COAP_OPTION_CONTENT_FORMAT_XML
|
application/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
|
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
|
代理架构 |
OT_COAP_OPTION_PROXY_URI
|
Proxy-Uri。 |
OT_COAP_OPTION_SIZE1
|
大小 1。 |
OT_COAP_OPTION_SIZE2
|
大小 2 (RFC7959) |
OT_COAP_OPTION_URI_HOST
|
Uri-Host。 |
OT_COAP_OPTION_URI_PATH
|
Uri-Path。 |
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
|
重置。 |
类型定义符
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 配置时可用。
具体说明 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
|
otCoapBlockwiseTransmitHook
otError(* otCoapBlockwiseTransmitHook)(void *aContext, uint8_t *aBlock, uint32_t aPosition, uint16_t *aBlockLength, bool *aMore)
在发送按块传输的下一个块之前调用指针。
在启用 OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 配置时可用。
通过更改 aBlockLength 的值,将会重新协商整个交换库的块大小。建议在收到第一个代码块之后再执行,因为后续更改可能会导致其他 CoAP 实现出现问题。
具体说明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
|
otCoapOptionContentFormat
enum otCoapOptionContentFormat otCoapOptionContentFormat
CoAP 内容格式代码。
如需查看完整列表,请访问 https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats
otCoapRequestHandler
void(* otCoapRequestHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo)
在收到具有指定 Uri-Path 的 CoAP 请求时,系统会调用指针。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
otCoapResponseHandler
void(* otCoapResponseHandler)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, otError aResult)
在收到 CoAP 响应时或请求超时时,会调用指针。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
函数
otCoapAddBlockWiseResource
void otCoapAddBlockWiseResource( otInstance *aInstance, otCoapBlockwiseResource *aResource )
向 CoAP 服务器添加分块资源。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otCoapAddResource
void otCoapAddResource( otInstance *aInstance, otCoapResource *aResource )
向 CoAP 服务器添加资源。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otCoapBlockSizeFromExponent
uint16_t otCoapBlockSizeFromExponent( otCoapBlockSzx aSize )
将 CoAP 块选项 SZX 字段转换为实际块大小。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
实际大小指数值。
|
otCoapMessageAttachBlock1Option
otError otCoapMessageAppendBlock1Option( otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize )
附加 Block1 选项。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
otCoapMessageAttachBlock2Option
otError otCoapMessageAppendBlock2Option( otMessage *aMessage, uint32_t aNum, bool aMore, otCoapBlockSzx aSize )
附加 Block2 选项。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
otCoapMessageAttachContentFormatOption
otError otCoapMessageAppendContentFormatOption( otMessage *aMessage, otCoapOptionContentFormat aContentFormat )
附加 https://tools.ietf.org/html/rfc7252#page-92 中指定的内容格式 CoAP 选项。
如果要在消息中包含载荷,必须在设置 otCoapMessageSetPayloadMarker 之前调用此方法。
该函数是 otCoapMessageAttachUintOption 的便捷封装容器,如果所需的格式类型代码未在 otCoapOptionContentFormat 中列出,则应改用此基函数。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otCoapMessageAttachMaxAgeOption
otError otCoapMessageAppendMaxAgeOption( otMessage *aMessage, uint32_t aMaxAge )
用于附加 Max-Age 选项。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otCoapMessageAttachObserveOption
otError otCoapMessageAppendObserveOption( otMessage *aMessage, uint32_t aObserve )
附加一个 Observe 选项。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otCoapMessageAttachOption
otError otCoapMessageAppendOption( otMessage *aMessage, uint16_t aNumber, uint16_t aLength, const void *aValue )
在标头中附加 CoAP 选项。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
otCoapMessageAttachProxyUriOption
otError otCoapMessageAppendProxyUriOption( otMessage *aMessage, const char *aUriPath )
附加一个 Proxy-Uri 选项。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otCoapMessageAttachUintOption
otError otCoapMessageAppendUintOption( otMessage *aMessage, uint16_t aNumber, uint32_t aValue )
附加 https://tools.ietf.org/html/rfc7252#section-3.2 中指定的无符号整数 CoAP 选项。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otCoapMessageGetOptionUintValue
otCoapMessageAttachUriPathOptions
otError otCoapMessageAppendUriPathOptions( otMessage *aMessage, const char *aUriPath )
附加 Uri-Path 选项。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otCoapMessageAttachUriQueryOption
otError otCoapMessageAppendUriQueryOption( otMessage *aMessage, const char *aUriQuery )
附加单个 Uri-Query 选项。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otCoapMessageCodeToString
const char * otCoapMessageCodeToString( const otMessage *aMessage )
返回直观易懂的字符串形式的 CoAP 代码。
@ 返回字符串形式的 CoAP 代码。
具体说明 | |||
---|---|---|---|
参数 |
|
otCoapMessageGenerateToken
void otCoapMessageGenerateToken( otMessage *aMessage, uint8_t aTokenLength )
设置令牌长度并对其值进行随机化处理。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otCoapMessageGetCode
otCoapCode otCoapMessageGetCode( const otMessage *aMessage )
返回代码值。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
Code 值。
|
otCoapMessageGetMessageId
uint16_t otCoapMessageGetMessageId( const otMessage *aMessage )
返回消息 ID 值。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
消息 ID 值。
|
otCoapMessageGetToken
const uint8_t * otCoapMessageGetToken( const otMessage *aMessage )
返回指向令牌值的指针。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
指向 Token 值的指针。
|
otCoapMessageGetTokenLength
uint8_t otCoapMessageGetTokenLength( const otMessage *aMessage )
返回令牌长度。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
令牌长度。
|
otCoapMessageGetType
otCoapType otCoapMessageGetType( const otMessage *aMessage )
返回类型值。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
类型值。
|
otCoapMessageInit
void otCoapMessageInit( otMessage *aMessage, otCoapType aType, otCoapCode aCode )
初始化 CoAP 标头。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
otCoapMessageInitResponse
otError otCoapMessageInitResponse( otMessage *aResponse, const otMessage *aRequest, otCoapType aType, otCoapCode aCode )
初始化响应消息。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
otCoapMessageSetCode
void otCoapMessageSetCode( otMessage *aMessage, otCoapCode aCode )
设置代码值。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otCoapMessageSetPayloadMarker
otError otCoapMessageSetPayloadMarker( otMessage *aMessage )
向 CoAP 标头添加了指示载荷开始的载荷标记。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otCoapMessageSetToken
otError otCoapMessageSetToken( otMessage *aMessage, const uint8_t *aToken, uint8_t aTokenLength )
设置标头中的 Token 值和长度。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otCoapNewMessage
otMessage * otCoapNewMessage( otInstance *aInstance, const otMessageSettings *aSettings )
创建新的 CoAP 消息。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向消息缓冲区的指针;如果没有消息缓冲区可用或参数无效,则返回 NULL。
|
otCoapOptionIteratorGetFirstOption
const otCoapOption * otCoapOptionIteratorGetFirstOption( otCoapOptionIterator *aIterator )
返回指向第一个选项的指针。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
指向第一个选项的指针。如果不存在任何选项,则返回 NULL 指针。
|
otCoapOptionIteratorGetFirstOptionMatching
const otCoapOption * otCoapOptionIteratorGetFirstOptionMatching( otCoapOptionIterator *aIterator, uint16_t aOption )
返回指向与指定选项编号匹配的第一个选项的指针。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向第一个匹配选项的指针。如果不存在匹配选项,则返回 NULL 指针。
|
otCoapOptionIteratorGetNextOption
const otCoapOption * otCoapOptionIteratorGetNextOption( otCoapOptionIterator *aIterator )
返回指向下一个选项的指针。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
指向下一个选项的指针。如果不存在更多选项,则返回 NULL 指针。
|
otCoapOptionIteratorGetNextOptionMatching
const otCoapOption * otCoapOptionIteratorGetNextOptionMatching( otCoapOptionIterator *aIterator, uint16_t aOption )
返回指向与指定选项编号匹配的下一个选项的指针。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
指向下一个匹配选项的指针。如果不存在其他匹配选项,则返回 NULL 指针。
|
otCoapOptionIteratorGetOptionUintValue
otError otCoapOptionIteratorGetOptionUintValue( otCoapOptionIterator *aIterator, uint64_t *aValue )
将当前选项值填充到 aValue
中,并假设当前值是按照 https://tools.ietf.org/html/rfc7252#section-3.2 的规定编码的无符号整数。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otCoapMessageAttachUintOption
otCoapOptionIteratorGetOptionValue
otError otCoapOptionIteratorGetOptionValue( otCoapOptionIterator *aIterator, void *aValue )
将当前选项值填充到 aValue
中。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otCoapOptionIteratorInit
otError otCoapOptionIteratorInit( otCoapOptionIterator *aIterator, const otMessage *aMessage )
用于初始化给定消息中的选项的迭代器。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otCoapRemoveBlockWiseResource
void otCoapRemoveBlockWiseResource( otInstance *aInstance, otCoapBlockwiseResource *aResource )
从 CoAP 服务器中移除逐块资源。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otCoapRemoveResource
void otCoapRemoveResource( otInstance *aInstance, otCoapResource *aResource )
从 CoAP 服务器中移除资源。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otCoapSendRequest
otError otCoapSendRequest( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext )
发送 CoAP 请求。
如果预期获得请求响应,则应提供相应的函数和上下文信息。如果没有预期响应,这些参数应为 NULL 指针。
具体说明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
|
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 指针。
具体说明 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||||
返回值 |
|
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 指针。
具体说明 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||||||
返回值 |
|
otCoapSendRequestWithParameters
otError otCoapSendRequestWithParameters( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, otCoapResponseHandler aHandler, void *aContext, const otCoapTxParameters *aTxParameters )
发送带有自定义传输参数的 CoAP 请求。
如果预期获得请求响应,则应提供相应的函数和上下文信息。如果没有预期响应,这些参数应为 NULL 指针。
具体说明 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
|
otCoapSendResponse
otError otCoapSendResponse( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo )
从服务器发送 CoAP 响应。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otCoapSendResponseBlockWise
otError otCoapSendResponseBlockWise( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook )
从服务器按块发送 CoAP 响应。
在启用 OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 配置时可用。
具体说明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
|
otCoapSendResponseBlockWiseWithParameters
otError otCoapSendResponseBlockWiseWithParameters( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters, void *aContext, otCoapBlockwiseTransmitHook aTransmitHook )
从包含自定义传输参数的服务器中按块发送 CoAP 响应。
在启用 OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 配置时可用。
具体说明 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
|
otCoapSendResponseWithParameters
otError otCoapSendResponseWithParameters( otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otCoapTxParameters *aTxParameters )
从服务器发送带有自定义传输参数的 CoAP 响应。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
otCoapSetDefaultHandler
void otCoapSetDefaultHandler( otInstance *aInstance, otCoapRequestHandler aHandler, void *aContext )
为未处理的 CoAP 请求设置默认处理程序。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
otCoapStart
otError otCoapStart( otInstance *aInstance, uint16_t aPort )
启动 CoAP 服务器。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otCoapStop
otError otCoapStop( otInstance *aInstance )
停止 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 中所指定。
资源
OpenThread API 参考主题来自于 GitHub 上提供的源代码。如需了解详情或为我们的文档做贡献,请参阅资源。