CoAP

این ماژول شامل توابعی است که ارتباطات CoAP را کنترل می کند.

خلاصه

عملکردهای این ماژول زمانی در دسترس هستند که ویژگی CoAP API ( OPENTHREAD_CONFIG_COAP_API_ENABLE ) فعال باشد.

شمارش ها

otCoapBlockSzx enum
نماهای اندازه بلوک 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))
}
enum
مقادیر کد 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
}
enum
کدهای فرمت محتوای 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
}
enum
شماره های گزینه CoAP.
otCoapType {
OT_COAP_TYPE_CONFIRMABLE = 0,
OT_COAP_TYPE_NON_CONFIRMABLE = 1,
OT_COAP_TYPE_ACKNOWLEDGMENT = 2,
OT_COAP_TYPE_RESET = 3
}
enum
مقادیر نوع 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
مقادیر کد 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(*
هنگامی که یک درخواست CoAP با یک Uri-Path دریافت می شود، اشاره گر فراخوانی می شود.
otCoapResource typedef
یک منبع CoAP را نشان می دهد.
otCoapResponseHandler )(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, otError aResult) typedef
void(*
هنگامی که یک پاسخ CoAP دریافت می شود یا در زمان پایان درخواست، اشاره گر فراخوانی می شود.
otCoapTxParameters typedef
پارامترهای انتقال CoAP را نشان می دهد.
otCoapType typedef
مقادیر نوع CoAP (عدد صحیح بدون علامت 2 بیتی).

کارکرد

otCoapAddBlockWiseResource ( otInstance *aInstance, otCoapBlockwiseResource *aResource)
void
یک منبع بلوکی به سرور CoAP اضافه می کند.
otCoapAddResource ( otInstance *aInstance, otCoapResource *aResource)
void
یک منبع به سرور CoAP اضافه می کند.
otCoapBlockSizeFromExponent ( otCoapBlockSzx aSize)
uint16_t
یک قسمت SZX گزینه CoAP Block را به اندازه واقعی بلوک تبدیل می کند.
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)
گزینه Content Format CoAP را همانطور که در https://tools.ietf.org/html/rfc7252#page-92 مشخص شده است، اضافه می کند.
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)
یک گزینه CoAP عدد صحیح بدون علامت را همانطور که در https://tools.ietf.org/html/rfc7252#section-3.2 مشخص شده است، اضافه می کند.
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
طول Token را تنظیم می کند و مقدار آن را تصادفی می کند.
otCoapMessageGetCode (const otMessage *aMessage)
مقدار Code را برمی‌گرداند.
otCoapMessageGetMessageId (const otMessage *aMessage)
uint16_t
مقدار شناسه پیام را برمی‌گرداند.
otCoapMessageGetToken (const otMessage *aMessage)
const uint8_t *
یک اشاره گر به مقدار Token برمی گرداند.
otCoapMessageGetTokenLength (const otMessage *aMessage)
uint8_t
طول Token را برمی‌گرداند.
otCoapMessageGetType (const otMessage *aMessage)
مقدار Type را برمی گرداند.
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
مقدار Code را تنظیم می کند.
otCoapMessageSetPayloadMarker ( otMessage *aMessage)
نشانگر Payload را که شروع بار را نشان می دهد به هدر 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)
با فرض اینکه مقدار فعلی یک عدد صحیح بدون علامت است که مطابق 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

application/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

برنامه/کلید cose: [RFC8152]

OT_COAP_OPTION_CONTENT_FORMAT_COSE_KEY_SET

برنامه/مجموعه-کلید cose: [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

application/cwt: [RFC8392]

OT_COAP_OPTION_CONTENT_FORMAT_EXI

application/exi: ["Efficient XML Interchange (EXI) Format 1.0 (Second Edition)"، فوریه 2014]

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

برنامه / جریان هشتگانه: [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

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

اگر-مچ.

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-Host.

OT_COAP_OPTION_URI_PATH

Uri-Path.

OT_COAP_OPTION_URI_PORT

اوری پورت.

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 با گزینه انتقال بلوک دریافت می شود، اشاره گر فراخوانی می شود.

زمانی در دسترس است که پیکربندی 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

کدهای فرمت محتوای 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)

هنگامی که یک درخواست CoAP با یک Uri-Path دریافت می شود، اشاره گر فراخوانی می شود.

جزئیات
مولفه های
[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
)

یک قسمت SZX گزینه CoAP Block را به اندازه واقعی بلوک تبدیل می کند.

جزئیات
مولفه های
[in] aSize
توان اندازه بلوک
برمی گرداند
مقدار واقعی اندازه توان.

otCoapMessageAppendBlock1Option

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

گزینه Block1 را اضافه می کند.

جزئیات
مولفه های
[in,out] aMessage
اشاره گر به پیام CoAP.
[in] aNum
شماره بلوک فعلی
[in] aMore
Boolean برای نشان دادن بلاک های بیشتری که قرار است ارسال شوند.
[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
Boolean برای نشان دادن بلاک های بیشتری که قرار است ارسال شوند.
[in] aSize
نماگر اندازه بلوک.
ارزش های بازگشتی
OT_ERROR_NONE
گزینه با موفقیت ضمیمه شد.
OT_ERROR_INVALID_ARGS
نوع گزینه برابر یا بزرگتر از نوع گزینه آخر نیست.
OT_ERROR_NO_BUFS
طول گزینه از اندازه بافر بیشتر است.

otCoapMessageAppendContentFormatOption

otError otCoapMessageAppendContentFormatOption(
  otMessage *aMessage,
  otCoapOptionContentFormat aContentFormat
)

گزینه Content Format CoAP را همانطور که در https://tools.ietf.org/html/rfc7252#page-92 مشخص شده است، اضافه می کند.

اگر قرار است یک بار در پیام گنجانده شود، این باید قبل از تنظیم 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
)

گزینه Max-Age را اضافه می کند.

جزئیات
مولفه های
[in,out] aMessage
اشاره گر به پیام CoAP.
[in] aMaxAge
مقدار Max-Age.
ارزش های بازگشتی
OT_ERROR_NONE
گزینه با موفقیت ضمیمه شد.
OT_ERROR_INVALID_ARGS
نوع گزینه برابر یا بزرگتر از نوع گزینه آخر نیست.
OT_ERROR_NO_BUFS
طول گزینه از اندازه بافر بیشتر است.

otCoapMessageAppendObserveOption

otError otCoapMessageAppendObserveOption(
  otMessage *aMessage,
  uint32_t aObserve
)

گزینه Observe را اضافه می کند.

جزئیات
مولفه های
[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
)

یک گزینه CoAP عدد صحیح بدون علامت را همانطور که در https://tools.ietf.org/html/rfc7252#section-3.2 مشخص شده است، اضافه می کند.

جزئیات
مولفه های
[in,out] aMessage
اشاره گر به پیام CoAP.
[in] aNumber
شماره گزینه CoAP.
[in] aValue
مقدار صحیح بدون علامت CoAP Option.
ارزش های بازگشتی
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، که باید شامل یک جفت کلید = مقدار باشد.
ارزش های بازگشتی
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
)

طول Token را تنظیم می کند و مقدار آن را تصادفی می کند.

جزئیات
مولفه های
[in,out] aMessage
اشاره گر به پیام CoAP.
[in] aTokenLength
طول یک نشانه برای تنظیم.

otCoapMessageGetCode

otCoapCode otCoapMessageGetCode(
  const otMessage *aMessage
)

مقدار Code را برمی‌گرداند.

جزئیات
مولفه های
[in] aMessage
اشاره گر به پیام CoAP.
برمی گرداند
مقدار کد.

otCoapMessageGetMessageId

uint16_t otCoapMessageGetMessageId(
  const otMessage *aMessage
)

مقدار شناسه پیام را برمی‌گرداند.

جزئیات
مولفه های
[in] aMessage
اشاره گر به پیام CoAP.
برمی گرداند
مقدار شناسه پیام

otCoapMessageGetToken

const uint8_t * otCoapMessageGetToken(
  const otMessage *aMessage
)

یک اشاره گر به مقدار Token برمی گرداند.

جزئیات
مولفه های
[in] aMessage
اشاره گر به پیام CoAP.
برمی گرداند
اشاره گر به مقدار Token.

otCoapMessageGetTokenLength

uint8_t otCoapMessageGetTokenLength(
  const otMessage *aMessage
)

طول Token را برمی‌گرداند.

جزئیات
مولفه های
[in] aMessage
اشاره گر به پیام CoAP.
برمی گرداند
طول توکن

otCoapMessageGetType

otCoapType otCoapMessageGetType(
  const otMessage *aMessage
)

مقدار Type را برمی گرداند.

جزئیات
مولفه های
[in] aMessage
اشاره گر به پیام CoAP.
برمی گرداند
مقدار Type.

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
)

مقدار Code را تنظیم می کند.

جزئیات
مولفه های
[in,out] aMessage
یک اشاره گر به پیام CoAP برای مقداردهی اولیه.
[in] aCode
کد پیام CoAP

otCoapMessageSetPayloadMarker

otError otCoapMessageSetPayloadMarker(
  otMessage *aMessage
)

نشانگر Payload را که شروع بار را نشان می دهد به هدر CoAP اضافه می کند.

جزئیات
مولفه های
[in,out] aMessage
اشاره گر به پیام CoAP.
ارزش های بازگشتی
OT_ERROR_NONE
نشانگر بار با موفقیت اضافه شد.
OT_ERROR_NO_BUFS
نشانگر بار سرصفحه از اندازه بافر بیشتر است.

otCoapMessageSetToken

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

مقدار و طول Token را در یک هدر تنظیم می کند.

جزئیات
مولفه های
[in,out] aMessage
اشاره گر به پیام CoAP.
[in] aToken
اشاره گر به مقدار Token.
[in] aTokenLength
طول aToken .
ارزش های بازگشتی
OT_ERROR_NONE
مقدار Token را با موفقیت تنظیم کرد.
OT_ERROR_NO_BUFS
بافرهای کافی برای تنظیم مقدار Token وجود ندارد.

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
تخصیص داده های ارسال مجدد انجام نشد.
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

حداقل زمان ACK در میلی ثانیه پشتیبانی شده توسط OpenThread.

OT_DEFAULT_COAP_PORT

 OT_DEFAULT_COAP_PORT 5683

درگاه پیش‌فرض CoAP، همانطور که در RFC 7252 مشخص شده است.

منابع

موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.