메시지

이 모듈에는 OpenThread 메시지 버퍼를 조작하는 함수가 포함되어 있습니다.

요약

열거

otMessageOrigin{
  OT_MESSAGE_ORIGIN_THREAD_NETIF = 0,
  OT_MESSAGE_ORIGIN_HOST_TRUSTED = 1,
  OT_MESSAGE_ORIGIN_HOST_UNTRUSTED = 2
}
enum
OpenThread 메시지 출처를 정의합니다.
otMessagePriority{
  OT_MESSAGE_PRIORITY_LOW = 0,
  OT_MESSAGE_PRIORITY_NORMAL = 1,
  OT_MESSAGE_PRIORITY_HIGH = 2
}
enum
OpenThread 메시지 우선순위 수준을 정의합니다.

Typedef

otBufferInfo typedef
struct otBufferInfo
OpenThread 스택에서 사용하는 여러 큐에 대한 메시지 버퍼 정보를 나타냅니다.
otMessage typedef
struct otMessage
OpenThread 메시지 버퍼의 불투명 표현입니다.
otMessageOrigin typedef
OpenThread 메시지 출처를 정의합니다.
otMessagePriority typedef
OpenThread 메시지 우선순위 수준을 정의합니다.
otMessageQueueInfo typedef
메시지 큐에 대한 정보를 나타냅니다.
otMessageSettings typedef
메시지 설정을 나타냅니다.

함수

otMessageAppend(otMessage *aMessage, const void *aBuf, uint16_t aLength)
메시지에 바이트를 추가합니다.
otMessageFree(otMessage *aMessage)
void
할당된 메시지 버퍼를 해제합니다.
otMessageGetBufferInfo(otInstance *aInstance, otBufferInfo *aBufferInfo)
void
메시지 버퍼 정보를 가져옵니다.
otMessageGetLength(const otMessage *aMessage)
uint16_t
메시지 길이(바이트)를 가져옵니다.
otMessageGetOffset(const otMessage *aMessage)
uint16_t
바이트 단위의 메시지 오프셋을 가져옵니다.
otMessageGetOrigin(const otMessage *aMessage)
메시지 출처를 가져옵니다.
otMessageGetRss(const otMessage *aMessage)
int8_t
메시지와 연결된 평균 RSS (수신 신호 강도)를 반환합니다.
otMessageIsLinkSecurityEnabled(const otMessage *aMessage)
bool
메시지에 링크 보안이 사용 설정되었는지 여부를 나타냅니다.
otMessageIsLoopbackToHostAllowed(const otMessage *aMessage)
bool
메시지를 호스트로 루프백할 수 있는지 여부를 나타냅니다.
otMessageIsMulticastLoopEnabled(otMessage *aMessage)
bool
멀티캐스트 대상 주소의 경우 지정된 메시지가 루프백될 수 있는지를 나타냅니다.
otMessageQueueDequeue(otMessageQueue *aQueue, otMessage *aMessage)
void
지정된 메시지 큐에서 메시지를 삭제합니다.
otMessageQueueEnqueue(otMessageQueue *aQueue, otMessage *aMessage)
void
지정된 메시지 큐의 끝에 메시지를 추가합니다.
otMessageQueueEnqueueAtHead(otMessageQueue *aQueue, otMessage *aMessage)
void
지정된 메시지 큐의 헤드/프런트에 메시지를 추가합니다.
otMessageQueueGetHead(otMessageQueue *aQueue)
큐의 맨 위에 있는 메시지에 대한 포인터를 반환합니다.
otMessageQueueGetNext(otMessageQueue *aQueue, const otMessage *aMessage)
정방향을 반복 (머리에서 꼬리까지)하여 대기열의 다음 메시지에 대한 포인터를 반환합니다.
otMessageQueueInit(otMessageQueue *aQueue)
void
메시지 큐를 초기화합니다.
otMessageRead(const otMessage *aMessage, uint16_t aOffset, void *aBuf, uint16_t aLength)
uint16_t
메시지의 바이트를 읽습니다.
otMessageResetBufferInfo(otInstance *aInstance)
void
동시에 사용 중인 최대 버퍼 수를 추적하는 메시지 버퍼 정보 카운터를 재설정합니다.
otMessageSetDirectTransmission(otMessage *aMessage, bool aEnabled)
void
직접 전송을 사용하여 메시지가 전달되도록 설정하거나 강제합니다.
otMessageSetLength(otMessage *aMessage, uint16_t aLength)
메시지 길이를 바이트 단위로 설정합니다.
otMessageSetLoopbackToHostAllowed(otMessage *aMessage, bool aAllowLoopbackToHost)
void
메시지를 호스트로 루프백할 수 있는지 여부를 설정합니다.
otMessageSetMulticastLoopEnabled(otMessage *aMessage, bool aEnabled)
void
멀티캐스트 대상 주소인 경우 지정된 메시지의 루프백 여부를 제어합니다.
otMessageSetOffset(otMessage *aMessage, uint16_t aOffset)
void
메시지 오프셋을 바이트 단위로 설정합니다.
otMessageSetOrigin(otMessage *aMessage, otMessageOrigin aOrigin)
void
메시지 원본을 설정합니다.
otMessageWrite(otMessage *aMessage, uint16_t aOffset, const void *aBuf, uint16_t aLength)
int
메시지에 바이트를 씁니다.

구조체

otBufferInfo

OpenThread 스택에서 사용하는 여러 큐에 대한 메시지 버퍼 정보를 나타냅니다.

otMessageQueue

OpenThread 메시지 큐를 나타냅니다.

otMessageQueueInfo

메시지 큐에 대한 정보를 나타냅니다.

otMessageSettings

메시지 설정을 나타냅니다.

열거형

otMessageOrigin

 otMessageOrigin

OpenThread 메시지 출처를 정의합니다.

속성
OT_MESSAGE_ORIGIN_HOST_TRUSTED

호스트의 신뢰할 수 있는 소스에서 보낸 메시지입니다.

OT_MESSAGE_ORIGIN_HOST_UNTRUSTED

호스트에서 신뢰할 수 없는 소스가 보낸 메시지입니다.

OT_MESSAGE_ORIGIN_THREAD_NETIF

스레드 Netif의 메시지입니다.

otMessagePriority

 otMessagePriority

OpenThread 메시지 우선순위 수준을 정의합니다.

속성
OT_MESSAGE_PRIORITY_HIGH

높은 우선순위 수준.

OT_MESSAGE_PRIORITY_LOW

우선순위가 낮습니다.

OT_MESSAGE_PRIORITY_NORMAL

보통 우선순위 수준.

Typedef

otBufferInfo

struct otBufferInfo otBufferInfo

OpenThread 스택에서 사용하는 여러 큐에 대한 메시지 버퍼 정보를 나타냅니다.

otMessage

struct otMessage otMessage

OpenThread 메시지 버퍼의 불투명 표현입니다.

otMessageOrigin

enum otMessageOrigin otMessageOrigin

OpenThread 메시지 출처를 정의합니다.

otMessagePriority

enum otMessagePriority otMessagePriority

OpenThread 메시지 우선순위 수준을 정의합니다.

otMessageQueueInfo

struct otMessageQueueInfo otMessageQueueInfo

메시지 큐에 대한 정보를 나타냅니다.

otMessageSettings

struct otMessageSettings otMessageSettings

메시지 설정을 나타냅니다.

함수

otMessageAppend

otError otMessageAppend(
  otMessage *aMessage,
  const void *aBuf,
  uint16_t aLength
)

메시지에 바이트를 추가합니다.

세부정보
매개변수
[in] aMessage
메시지 버퍼에 대한 포인터입니다.
[in] aBuf
추가할 데이터에 대한 포인터입니다.
[in] aLength
추가할 바이트 수입니다.
반환 값
OT_ERROR_NONE
메시지에 추가되었습니다.
OT_ERROR_NO_BUFS
메시지 확장을 위한 버퍼가 없습니다.
참고 항목:
otMessageFree
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageFree

void otMessageFree(
  otMessage *aMessage
)

할당된 메시지 버퍼를 해제합니다.

세부정보
매개변수
[in] aMessage
메시지 버퍼에 대한 포인터입니다.
참고 항목:
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageGetBufferInfo

void otMessageGetBufferInfo(
  otInstance *aInstance,
  otBufferInfo *aBufferInfo
)

메시지 버퍼 정보를 가져옵니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
[out] aBufferInfo
메시지 버퍼 정보가 기록되는 포인터입니다.

otMessageGetLength

uint16_t otMessageGetLength(
  const otMessage *aMessage
)

메시지 길이(바이트)를 가져옵니다.

세부정보
매개변수
[in] aMessage
메시지 버퍼에 대한 포인터입니다.
반환
바이트 단위의 메시지 길이.
참고 항목:
otMessageFree
otMessageAppend
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite
길이 otMessageSetLength

otMessageGetOffset

uint16_t otMessageGetOffset(
  const otMessage *aMessage
)

바이트 단위의 메시지 오프셋을 가져옵니다.

세부정보
매개변수
[in] aMessage
메시지 버퍼에 대한 포인터입니다.
반환
메시지 오프셋 값입니다.
참고 항목:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageGetOrigin

otMessageOrigin otMessageGetOrigin(
  const otMessage *aMessage
)

메시지 출처를 가져옵니다.

세부정보
매개변수
[in] aMessage
메시지 버퍼에 대한 포인터입니다.
반환
메일 원본입니다.

otMessageGetRss

int8_t otMessageGetRss(
  const otMessage *aMessage
)

메시지와 연결된 평균 RSS (수신 신호 강도)를 반환합니다.

세부정보
반환
평균 RSS 값(dBm 단위) 또는 OT_RADIO_RSSI_INVALID(평균 RSS가 없는 경우)입니다.

otMessageIsLinkSecurityEnabled

bool otMessageIsLinkSecurityEnabled(
  const otMessage *aMessage
)

메시지에 링크 보안이 사용 설정되었는지 여부를 나타냅니다.

세부정보
매개변수
[in] aMessage
메시지 버퍼에 대한 포인터입니다.
반환 값
TRUE
링크 보안이 사용 설정된 경우
FALSE
링크 보안이 사용 설정되지 않은 경우

otMessageIsLoopbackToHostAllowed

bool otMessageIsLoopbackToHostAllowed(
  const otMessage *aMessage
)

메시지를 호스트로 루프백할 수 있는지 여부를 나타냅니다.

세부정보
매개변수
[in] aMessage
메시지 버퍼에 대한 포인터입니다.
반환 값
TRUE
메시지를 호스트로 루프백할 수 있는지 여부
FALSE
메시지를 호스트로 루프백할 수 없는 경우

otMessageIsMulticastLoopEnabled

bool otMessageIsMulticastLoopEnabled(
  otMessage *aMessage
)

멀티캐스트 대상 주소의 경우 지정된 메시지가 루프백될 수 있는지를 나타냅니다.

aMessageotMessageInfo와 함께 사용되면 otMessageInfo 구조의 mMulticastLoop 필드가 우선하며, aMessage에 설정된 값 대신 사용됩니다.

이 API는 이미 준비된 IPv6 메시지를 예상하는 otIp6Send()와 함께 주로 사용됩니다.

세부정보
매개변수
[in] aMessage
메시지를 가리키는 포인터입니다.

otMessageQueueDequeue

void otMessageQueueDequeue(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

지정된 메시지 큐에서 메시지를 삭제합니다.

세부정보
매개변수
[in] aQueue
메시지 큐를 가리키는 포인터
[in] aMessage
삭제할 메시지입니다.

otMessageQueueEnqueue

void otMessageQueueEnqueue(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

지정된 메시지 큐의 끝에 메시지를 추가합니다.

세부정보
매개변수
[in] aQueue
메시지 큐를 가리키는 포인터
[in] aMessage
추가할 메시지입니다.

otMessageQueueEnqueueAtHead

void otMessageQueueEnqueueAtHead(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

지정된 메시지 큐의 헤드/프런트에 메시지를 추가합니다.

세부정보
매개변수
[in] aQueue
메시지 큐를 가리키는 포인터
[in] aMessage
추가할 메시지입니다.

otMessageQueueGetHead

otMessage * otMessageQueueGetHead(
  otMessageQueue *aQueue
)

큐의 맨 위에 있는 메시지에 대한 포인터를 반환합니다.

세부정보
매개변수
[in] aQueue
메시지 큐를 가리키는 포인터입니다.
반환
큐의 헤드에 있는 메시지에 대한 포인터이거나 큐가 비어 있는 경우 NULL입니다.

otMessageQueueGetNext

otMessage * otMessageQueueGetNext(
  otMessageQueue *aQueue,
  const otMessage *aMessage
)

정방향을 반복 (머리에서 꼬리까지)하여 대기열의 다음 메시지에 대한 포인터를 반환합니다.

세부정보
매개변수
[in] aQueue
메시지 큐를 가리키는 포인터입니다.
[in] aMessage
현재 메시지 버퍼를 가리키는 포인터입니다.
반환
aMessage 이후의 큐에서 다음 메시지를 가리키는 포인터 또는 aMessage is the tail of queue. NULL is returned ifaMessageis not in the queueaQueue`인 경우 NULL입니다.

otMessageQueueInit

void otMessageQueueInit(
  otMessageQueue *aQueue
)

메시지 큐를 초기화합니다.

다른 otMessageQueue 함수 전에 otMessageQueue 인스턴스에 대해 한 번만 호출해야 합니다(MUST). 다른 큐 API가 초기화되기 전에 otMessageQueue와 함께 사용되거나 두 번 이상 초기화되는 경우 동작이 정의되지 않습니다.

세부정보
매개변수
[in] aQueue
메시지 큐를 가리키는 포인터입니다.

otMessageRead

uint16_t otMessageRead(
  const otMessage *aMessage,
  uint16_t aOffset,
  void *aBuf,
  uint16_t aLength
)

메시지의 바이트를 읽습니다.

세부정보
매개변수
[in] aMessage
메시지 버퍼에 대한 포인터입니다.
[in] aOffset
바이트 단위의 오프셋입니다.
[in] aBuf
메시지 바이트를 읽는 버퍼에 대한 포인터입니다.
[in] aLength
읽을 바이트 수입니다.
반환
읽은 바이트 수입니다.
참고 항목:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageWrite

otMessageResetBufferInfo

void otMessageResetBufferInfo(
  otInstance *aInstance
)

동시에 사용 중인 최대 버퍼 수를 추적하는 메시지 버퍼 정보 카운터를 재설정합니다.

이렇게 하면 otBufferInfo에서 mMaxUsedBuffers가 재설정됩니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.

otMessageSetDirectTransmission

void otMessageSetDirectTransmission(
  otMessage *aMessage,
  bool aEnabled
)

직접 전송을 사용하여 메시지가 전달되도록 설정하거나 강제합니다.

새 메시지의 기본 설정은 false입니다.

세부정보
매개변수
[in] aMessage
메시지 버퍼에 대한 포인터입니다.
[in] aEnabled
true인 경우 메시지가 직접 전송을 사용해야 합니다. false인 경우 메시지는 일반 절차를 따릅니다.

otMessageSetLength

otError otMessageSetLength(
  otMessage *aMessage,
  uint16_t aLength
)

메시지 길이를 바이트 단위로 설정합니다.

세부정보
매개변수
[in] aMessage
메시지 버퍼에 대한 포인터입니다.
[in] aLength
바이트 단위의 길이입니다.
반환 값
OT_ERROR_NONE
메시지 길이를 설정했습니다.
OT_ERROR_NO_BUFS
메시지 확장을 위한 버퍼가 없습니다.
참고 항목:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageSetLoopbackToHostAllowed

void otMessageSetLoopbackToHostAllowed(
  otMessage *aMessage,
  bool aAllowLoopbackToHost
)

메시지를 호스트로 루프백할 수 있는지 여부를 설정합니다.

세부정보
매개변수
[in] aMessage
메시지 버퍼에 대한 포인터입니다.
[in] aAllowLoopbackToHost
메시지를 호스트로 루프백하도록 허용할지 여부입니다.

otMessageSetMulticastLoopEnabled

void otMessageSetMulticastLoopEnabled(
  otMessage *aMessage,
  bool aEnabled
)

멀티캐스트 대상 주소인 경우 지정된 메시지의 루프백 여부를 제어합니다.

세부정보
매개변수
[in] aMessage
메시지를 가리키는 포인터입니다.
[in] aEnabled
구성 값입니다.

otMessageSetOffset

void otMessageSetOffset(
  otMessage *aMessage,
  uint16_t aOffset
)

메시지 오프셋을 바이트 단위로 설정합니다.

세부정보
매개변수
[in] aMessage
메시지 버퍼에 대한 포인터입니다.
[in] aOffset
바이트 단위의 오프셋입니다.
참고 항목:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageRead
otMessageWrite

otMessageSetOrigin

void otMessageSetOrigin(
  otMessage *aMessage,
  otMessageOrigin aOrigin
)

메시지 원본을 설정합니다.

세부정보
매개변수
[in] aMessage
메시지 버퍼에 대한 포인터입니다.
[in] aOrigin
메일 원본입니다.

otMessageWrite

int otMessageWrite(
  otMessage *aMessage,
  uint16_t aOffset,
  const void *aBuf,
  uint16_t aLength
)

메시지에 바이트를 씁니다.

세부정보
매개변수
[in] aMessage
메시지 버퍼에 대한 포인터입니다.
[in] aOffset
바이트 단위의 오프셋입니다.
[in] aBuf
메시지 바이트가 작성되는 버퍼에 대한 포인터입니다.
[in] aLength
쓸 바이트 수입니다.
반환
작성한 바이트 수입니다.
참고 항목:
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead

자료

OpenThread API 참조 주제는 GitHub에서 제공되는 소스 코드에서 비롯됩니다. 자세한 내용을 알아보거나 문서에 참여하려면 리소스를 참고하세요.