Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

SRP : SRP

이 모듈에는 SRP 클라이언트 동작을 제어하는 함수가 포함됩니다.

요약

이 모듈에는 서비스 등록 프로토콜의 기능이 포함되어 있습니다.

이 모듈에는 SRP 클라이언트 버퍼 및 서비스 풀을 위한 함수가 포함되어 있습니다.

이 모듈의 함수는 OPENREPLACE_CONFIG_SRP_CLIENT_BUFFERS_ENABLE 기능이 사용 설정된 경우에만 사용할 수 있습니다.

열거

anonymous enum{
  OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE = 1 << 0,
  OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE = 1 << 1,
  OT_SRP_SERVER_SERVICE_FLAG_ACTIVE = 1 << 2,
  OT_SRP_SERVER_SERVICE_FLAG_DELETED = 1 << 3
}
enum
anonymous enum{
  OT_SRP_SERVER_FLAGS_ANY_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY = (OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE | OT_SRP_SERVER_SERVICE_FLAG_DELETED),
  OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE),
  OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE = (OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE | OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE | OT_SRP_SERVER_SERVICE_FLAG_ACTIVE)
}
enum
otSrpClientItemState{
  OT_SRP_CLIENT_ITEM_STATE_TO_ADD,
  OT_SRP_CLIENT_ITEM_STATE_ADDING,
  OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH,
  OT_SRP_CLIENT_ITEM_STATE_REFRESHING,
  OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE,
  OT_SRP_CLIENT_ITEM_STATE_REMOVING,
  OT_SRP_CLIENT_ITEM_STATE_REGISTERED,
  OT_SRP_CLIENT_ITEM_STATE_REMOVED
}
enum
이 열거는 SRP 클라이언트 항목 (서비스 또는 호스트 정보) 상태를 지정합니다.
otSrpServerAddressMode{
  OT_SRP_SERVER_ADDRESS_MODE_UNICAST = 0,
  OT_SRP_SERVER_ADDRESS_MODE_ANYCAST = 1
}
enum
이 열거는 SRP 서버에서 사용하는 주소 모드를 나타냅니다.
otSrpServerState{
  OT_SRP_SERVER_STATE_DISABLED = 0,
  OT_SRP_SERVER_STATE_RUNNING = 1,
  OT_SRP_SERVER_STATE_STOPPED = 2
}
enum
SRP 서버의 상태를 나타냅니다.

Typedef

otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext) typedef
void(*
이 함수 포인터 유형은 SRP 클라이언트가 자동 시작되거나 중지될 때 사용자에게 알리는 데 사용하는 콜백을 정의합니다.
otSrpClientBuffersServiceEntry typedef
이 구조체는 SRP 클라이언트 서비스 풀 항목을 나타냅니다.
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) typedef
void(*
이 함수 포인터 유형은 SRP 클라이언트에서 사용자에게 변경사항/이벤트/오류를 알리는 데 사용하는 콜백을 정의합니다.
otSrpClientHostInfo typedef
이 구조는 SRP 클라이언트 호스트 정보를 나타냅니다.
otSrpClientService typedef
이 구조는 SRP 클라이언트 서비스를 나타냅니다.
otSrpServerAddressMode typedef
이 열거는 SRP 서버에서 사용하는 주소 모드를 나타냅니다.
otSrpServerHost typedef
이 불투명 유형은 SRP 서비스 호스트를 나타냅니다.
otSrpServerLeaseConfig typedef
이 구조에는 SRP 서버 LEASE 및 KEY-LEASE 구성이 포함됩니다.
otSrpServerService typedef
이 불투명 유형은 SRP 서비스를 나타냅니다.
otSrpServerServiceFlags typedef
uint8_t
SRP 서비스 목록에서 검색 (또는 반복)할 때 포함하거나 제외할 서비스를 나타내는 서비스 플래그 유형입니다.
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) typedef
void(*
이 함수는 SRP 서비스 업데이트를 처리합니다.
otSrpServerServiceUpdateId typedef
uint32_t
SRP 서버의 SRP 서비스 업데이트 트랜잭션 ID입니다.

함수

otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService)
이 함수는 서버에 등록할 서비스를 추가합니다.
otSrpClientBuffersAllocateService(otInstance *aInstance)
이 함수는 풀에서 새 서비스 항목을 할당합니다.
otSrpClientBuffersFreeAllServices(otInstance *aInstance)
void
이 함수는 이전에 할당된 모든 서비스 항목을 해제합니다.
otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
void
이 함수는 이전에 할당된 서비스 항목을 해제합니다.
otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength)
이 함수는 SRP 클라이언트 호스트 주소 목록으로 사용할 IPv6 주소 항목의 배열을 가져옵니다.
otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize)
char *
이 함수는 SRP 클라이언트 호스트 이름에 사용할 문자열 버퍼를 가져옵니다.
otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
이 함수는 서비스 항목에서 서비스 인스턴스 이름의 문자열 버퍼를 가져옵니다.
otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
이 함수는 서비스 항목에서 서비스 이름의 문자열 버퍼를 가져옵니다.
otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
uint8_t *
이 함수는 서비스 항목에서 TXT 레코드의 버퍼를 가져옵니다.
otSrpClientBuffersGetSubTypeLabelsArray(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
const char **
이 함수는 서비스 항목에서 서비스 하위유형 라벨의 배열을 가져옵니다.
otSrpClientClearHostAndServices(otInstance *aInstance)
void
이 함수는 모든 호스트 정보와 모든 서비스를 지웁니다.
otSrpClientClearService(otInstance *aInstance, otSrpClientService *aService)
이 함수는 서비스를 지우고 클라이언트 서비스 목록에서 즉시 삭제합니다.
otSrpClientDisableAutoStartMode(otInstance *aInstance)
void
이 함수는 자동 시작 모드를 사용 중지합니다.
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
void
이 함수는 자동 시작 모드를 사용 설정합니다.
otSrpClientGetDomainName(otInstance *aInstance)
const char *
이 함수는 SRP 클라이언트에서 사용 중인 도메인 이름을 가져옵니다.
otSrpClientGetHostInfo(otInstance *aInstance)
이 함수는 호스트 정보를 가져옵니다.
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
uint32_t
이 함수는 SRP 업데이트 요청에 사용되는 키 임대 간격을 가져옵니다.
otSrpClientGetLeaseInterval(otInstance *aInstance)
uint32_t
이 함수는 SRP 업데이트 요청에 사용되는 임대 간격을 가져옵니다.
otSrpClientGetServerAddress(otInstance *aInstance)
const otSockAddr *
이 함수는 SRP 클라이언트에서 사용 중인 SRP 서버의 소켓 주소 (IPv6 주소 및 포트 번호)를 가져옵니다.
otSrpClientGetServices(otInstance *aInstance)
이 함수는 클라이언트에서 관리하는 서비스 목록을 가져옵니다.
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
bool
이 함수는 자동 시작 모드의 현재 상태 (사용 설정 또는 사용 중지)를 나타냅니다.
otSrpClientIsRunning(otInstance *aInstance)
bool
이 함수는 SRP 클라이언트의 실행 여부를 나타냅니다.
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
bool
이 메서드는 '서비스 키 레코드 포함' 모드가 사용 설정 상태인지 사용 중지되었는지를 나타냅니다.
otSrpClientItemStateToString(otSrpClientItemState aItemState)
const char *
이 함수는 otSrpClientItemState을 문자열로 변환합니다.
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
이 함수는 호스트 정보와 모든 서비스의 삭제 프로세스를 시작합니다.
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
이 함수는 서버에 등록 취소를 요청합니다.
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
void
이 함수는 SRP 클라이언트의 이벤트/변경사항을 호출자에게 알리는 콜백을 설정합니다.
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
이 함수는 SRP 클라이언트에서 사용할 도메인 이름을 설정합니다.
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
이 함수는 호스트 IPv6 주소 목록을 설정/업데이트합니다.
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
이 함수는 호스트 이름 라벨을 설정합니다.
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
이 함수는 SRP 업데이트 요청에 사용되는 키 임대 간격을 설정합니다.
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
이 함수는 SRP 업데이트 요청에 사용되는 임대 간격을 설정합니다.
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
void
이 함수는 '서비스 키 레코드 포함' 모드를 사용 설정/사용 중지합니다.
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
이 함수는 SRP 클라이언트 작업을 시작합니다.
otSrpClientStop(otInstance *aInstance)
void
이 함수는 SRP 클라이언트 작업을 중지합니다.
otSrpServerGetAddressMode(otInstance *aInstance)
이 함수는 SRP 서버에서 사용 중인 주소 모드를 반환합니다.
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
uint8_t
이 함수는 Anycast 주소 모드에서 사용되는 시퀀스 번호를 반환합니다.
otSrpServerGetDomain(otInstance *aInstance)
const char *
이 함수는 SRP 서버에 승인된 도메인을 반환합니다.
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
void
이 함수는 SRP 서버 LEASE 및 KEY-LEASE 구성을 반환합니다.
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
const otSrpServerHost *
이 함수는 SRP 서버에 다음에 등록된 호스트를 반환합니다.
otSrpServerGetState(otInstance *aInstance)
이 함수는 SRP 서버의 상태를 반환합니다.
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
void
이 함수는 SRP 업데이트를 처리한 결과를 SRP 서버에 보고합니다.
otSrpServerHostFindNextService(const otSrpServerHost *aHost, const otSrpServerService *aPrevService, otSrpServerServiceFlags aFlags, const char *aServiceName, const char *aInstanceName)
이 함수는 호스트에서 일치하는 다음 서비스를 찾습니다.
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
const otIp6Address *
이 함수는 지정된 호스트의 주소를 반환합니다.
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
const char *
이 함수는 호스트의 전체 이름을 반환합니다.
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
이 함수는 지정된 호스트의 다음 서비스 (하위 유형 서비스 제외)를 반환합니다.
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
bool
이 함수는 SRP 서비스 호스트가 삭제되었는지 여부를 나타냅니다.
otSrpServerServiceGetFullName(const otSrpServerService *aService)
const char *
이 함수는 서비스의 전체 서비스 인스턴스 이름을 반환합니다.
otSrpServerServiceGetHost(const otSrpServerService *aService)
const otSrpServerHost *
이 함수는 서비스 인스턴스가 상주하는 호스트를 반환합니다.
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
const char *
이 함수는 서비스의 전체 서비스 인스턴스 이름을 반환합니다.
otSrpServerServiceGetPort(const otSrpServerService *aService)
uint16_t
이 함수는 서비스 인스턴스의 포트를 반환합니다.
otSrpServerServiceGetPriority(const otSrpServerService *aService)
uint16_t
이 함수는 서비스 인스턴스의 우선순위를 반환합니다.
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
const char *
이 함수는 서비스의 전체 서비스 이름을 반환합니다.
otSrpServerServiceGetServiceSubTypeLabel(const otSrpServerService *aService, char *aLabel, uint8_t aMaxSize)
이 함수는 서비스 이름에서 하위 유형 라벨을 가져옵니다.
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
const uint8_t *
이 함수는 서비스 인스턴스의 TXT 레코드 데이터를 반환합니다.
otSrpServerServiceGetWeight(const otSrpServerService *aService)
uint16_t
이 함수는 서비스 인스턴스의 가중치를 반환합니다.
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
bool
이 함수는 SRP 서비스가 삭제되었는지 여부를 나타냅니다.
otSrpServerServiceIsSubType(const otSrpServerService *aService)
bool
이 함수는 SRP 서비스가 하위 유형인지 여부를 나타냅니다.
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
이 함수는 SRP 서버에서 사용할 주소 모드를 설정합니다.
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
이 함수는 Anycast 주소 모드로 사용되는 시퀀스 번호를 설정합니다.
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
이 함수는 SRP 서버에 도메인을 설정합니다.
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
void
이 함수는 SRP 서버를 사용 설정/사용 중지합니다.
otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
이 함수는 SRP 서버 LEASE 및 KEY-LEASE 구성을 설정합니다.
otSrpServerSetServiceUpdateHandler(otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
void
이 함수는 SRP 서버에 SRP 서비스 업데이트 핸들러를 설정합니다.

구조체

otSrpClientBuffersServiceEntry

이 구조체는 SRP 클라이언트 서비스 풀 항목을 나타냅니다.

otSrpClientHostInfo

이 구조는 SRP 클라이언트 호스트 정보를 나타냅니다.

otSrpClientService

이 구조는 SRP 클라이언트 서비스를 나타냅니다.

otSrpServerLeaseConfig

이 구조에는 SRP 서버 LEASE 및 KEY-LEASE 구성이 포함됩니다.

열거

익명 enum

 anonymous enum
속성
OT_SRP_SERVER_SERVICE_FLAG_ACTIVE

삭제 중인 활성 서비스를 포함합니다.

OT_SRP_SERVER_SERVICE_FLAG_BASE_TYPE

하위 서비스가 아닌 기본 서비스를 포함합니다.

OT_SRP_SERVER_SERVICE_FLAG_DELETED

삭제된 서비스 포함

OT_SRP_SERVER_SERVICE_FLAG_SUB_TYPE

하위 유형 서비스를 포함합니다.

익명 enum

 anonymous enum
속성
OT_SRP_SERVER_FLAGS_ANY_SERVICE

이 상수는 모든 서비스 (기본/하위 유형, 활성/삭제됨)를 허용하는 otSrpServerServiceFlags 조합을 정의합니다.

OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE

이 상수는 활성 상태가 아닌 모든 서비스를 허용하는 otSrpServerServiceFlags 조합을 정의합니다 (삭제되지 않음).

OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE

이 상수는 삭제된 서비스를 허용하는 otSrpServerServiceFlags 조합을 정의합니다.

OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY

이 상수는 기본 서비스만 허용하는 otSrpServerServiceFlags 조합을 정의합니다.

OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY

이 상수는 하위 유형 서비스만 허용하는 otSrpServerServiceFlags 조합을 정의합니다.

otSrpClientItemState

 otSrpClientItemState

이 열거는 SRP 클라이언트 항목 (서비스 또는 호스트 정보) 상태를 지정합니다.

속성
OT_SRP_CLIENT_ITEM_STATE_ADDING

항목을 추가/등록하는 중입니다.

OT_SRP_CLIENT_ITEM_STATE_REFRESHING

항목을 새로고침하는 중입니다.

OT_SRP_CLIENT_ITEM_STATE_REGISTERED

항목이 서버에 등록되었습니다.

OT_SRP_CLIENT_ITEM_STATE_REMOVED

항목이 삭제되었습니다.

OT_SRP_CLIENT_ITEM_STATE_REMOVING

항목을 삭제하는 중입니다.

OT_SRP_CLIENT_ITEM_STATE_TO_ADD

추가/등록할 항목입니다.

OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH

새로고침할 항목입니다 (등록을 갱신하여 임대 갱신).

OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE

삭제할 항목

otSrpServerAddressMode

 otSrpServerAddressMode

이 열거는 SRP 서버에서 사용하는 주소 모드를 나타냅니다.

주소 모드는 SRP 서버에서 주소와 포트 번호를 결정하는 방법과 이 정보가 스레드 네트워크 데이터에 게시되는 방식을 지정합니다.

속성
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST

Anycast 주소 모드.

OT_SRP_SERVER_ADDRESS_MODE_UNICAST

Unicast 주소 모드

otSrpServerState:

 otSrpServerState

SRP 서버의 상태를 나타냅니다.

속성
OT_SRP_SERVER_STATE_DISABLED

SRP 서버가 사용 중지되었습니다.

OT_SRP_SERVER_STATE_RUNNING

SRP 서버가 실행 중입니다.

OT_SRP_SERVER_STATE_STOPPED

SRP 서버가 중지되었습니다.

Typedef

otSrpClientAutoStartCallback

void(* otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)

이 함수 포인터 유형은 SRP 클라이언트가 자동 시작되거나 중지될 때 사용자에게 알리는 데 사용하는 콜백을 정의합니다.

자동 시작 기능 OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE가 사용 설정된 경우에만 사용됩니다.

이 콜백은 자동 시작 모드가 사용 설정되고 SRP 클라이언트가 자동으로 시작되거나 중지될 때 호출됩니다.

세부정보
매개변수
[in] aServerSockAddr
NULL이 아닌 포인터는 SRP 서버가 시작되었음을 나타내며 포인터는 선택된 서버 소켓 주소를 제공합니다. NULL 포인터는 SRP 서버가 중지되었음을 나타냅니다.
[in] aContext
임의의 컨텍스트 포인터 (콜백이 등록되었을 때 제공됨)

otSrpClientBuffersServiceEntry

struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry

이 구조체는 SRP 클라이언트 서비스 풀 항목을 나타냅니다.

otSrpClientCallback

void(* otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)

이 함수 포인터 유형은 SRP 클라이언트에서 사용자에게 변경사항/이벤트/오류를 알리는 데 사용하는 콜백을 정의합니다.

이 콜백은 SRP 서버에 업데이트(호스트 정보 또는 일부 서비스 추가/삭제)가 등록되거나 오류 또는 오류(예: 서버에서 업데이트 거부)가 발생하면 호출됩니다. 요청 또는 클라이언트가 응답을 기다리는 동안 타임아웃됨).

업데이트 재등록이 성공하면 aError 매개변수는 OT_ERROR_NONE가 되고 호스트 정보와 전체 서비스 목록이 콜백의 입력 매개변수로 제공됩니다. 호스트 정보 및 서비스는 각각 관련 데이터 구조의 해당 mState 구성원 변수에서 자체 상태를 추적합니다 (호스트 정보/서비스의 등록 또는 삭제 여부 또는 추가/삭제 중인지 여부를 나타내는 상태 등).

삭제된 서비스 목록은 콜백에서 연결된 목록(aRemovedServices)으로 전달됩니다. 콜백이 호출되면 aRemovedServices에 나열된 삭제된 서비스 인스턴스로 SRP 클라이언트 (OpenThread 구현)가 완료되며 더 이상 추적/저장되지 않습니다 (즉, 콜백에서 otSrpClientGetServices()를 호출한 경우). 반환된 목록에 표시되지 않습니다). 콜백에서 삭제된 서비스의 별도 목록을 제공하면 사용자에게 이제 어떤 항목이 삭제되는지 알려주는 데 도움이 되며 사용자가 인스턴스를 회수하거나 재사용할 수 있습니다.

서버에서 SRP 업데이트 요청을 거부하면 DNS 응답 코드 (RFC 2136)가 다음 오류에 매핑됩니다.

  • (0) NOERROR 성공 (오류 조건 없음) -> OT_ERROR_NONE
  • (1) FORMERR 서버에서 형식 오류로 인해 해석할 수 없습니다. -> OT_ERROR_PARSE
  • (2) SERVFAIL 서버에 내부 오류가 발생했습니다. -> OT_ERROR_FAILED
  • (3) 존재해야 하는 NXDOMAIN 이름(존재하지 않음) -> OT_ERROR_NOT_FOUND
  • (4) NOTIMP Server는 쿼리 유형 (OpCode) -> OT_ERROR_NOT_IMPLEMENTED을 지원하지 않습니다.
  • (5) REFUSED 서버가 정책/보안 문제로 인해 거부됨 -> OT_ERROR_SECURITY
  • (6) YXDOMAIN 존재해서는 안 되는 이름이 있습니다. 존재하지 않는 이름입니다. -> OT_ERROR_DUPLICATED
  • (7) YXRRSET 존재해서는 안 되는 일부 RRSet가 존재합니다. -> OT_ERROR_DUPLICATED
  • (8) NXRRSET 일부 RRset은 없어야 하지만 존재하지는 않습니다. -> OT_ERROR_NOT_FOUND
  • (9) NOTAUTH 서비스는 -> OT_ERROR_SECURITY 영역에 대해 신뢰할 수 없습니다.
  • (10) NOTZONE 이름이 영역에 없습니다 -> OT_ERROR_PARSE
  • (20) BADNAME 잘못된 이름 -> OT_ERROR_PARSE
  • (21) BADALG 잘못된 알고리즘 -> OT_ERROR_SECURITY
  • (22) BADTRUN 잘못된 잘림 -> OT_ERROR_PARSE
  • 기타 응답 코드 -> OT_ERROR_FAILED

다음 오류도 발생할 수 있습니다.

  • OT_ERROR_response_TIMEOUT : 서버의 응답을 기다리는 동안 타임아웃되었습니다 (클라이언트는 계속 재시도합니다).
  • OT_ERROR_INVALID_ARGS: 제공된 서비스 구조가 잘못되었습니다 (예: 잘못된 서비스 이름 또는 otDnsTxtEntry).
  • OT_ERROR_NO_BUFS : 업데이트 메시지를 준비하거나 보내기 위한 버퍼가 부족합니다.

장애가 발생하면 클라이언트가 작업을 계속합니다. 잠시 기다렸다가 SRP 업데이트 메시지를 준비한 후 (다시) 서버로 전송합니다. 재시도 대기 간격은 최솟값에서 시작되어 실패까지 최대 값까지 성장 계수만큼 증가합니다 (자세한 내용은 구성 매개변수 OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL 및 관련 매개변수 참조).

세부정보
매개변수
[in] aError
오류입니다 (위 참고).
[in] aHostInfo
호스트 정보를 가리키는 포인터입니다.
[in] aServices
모든 서비스를 포함하는 연결된 목록의 헤드 (삭제한 서비스 제외) 목록이 비어 있는 경우 NULL입니다.
[in] aRemovedServices
삭제된 모든 서비스가 포함된 연결 목록의 헤드입니다. 목록이 비어 있는 경우 NULL입니다.
[in] aContext
임의의 컨텍스트 포인터 (콜백이 등록되었을 때 제공됨)

otSrpClientHostInfo

struct otSrpClientHostInfo otSrpClientHostInfo

이 구조는 SRP 클라이언트 호스트 정보를 나타냅니다.

otSrpClientService

struct otSrpClientService otSrpClientService

이 구조는 SRP 클라이언트 서비스를 나타냅니다.

이름 및 TXT 레코드 항목의 문자열 버퍼를 비롯한 이 구조의 값은 otSrpClientAddService() 또는 otSrpClientRemoveService()에서 OpenThread에 전달된 구조체의 인스턴스를 유지하고 일정하게 유지되어야 합니다(MUST).

otSrpServerAddressMode

enum otSrpServerAddressMode otSrpServerAddressMode

이 열거는 SRP 서버에서 사용하는 주소 모드를 나타냅니다.

주소 모드는 SRP 서버에서 주소와 포트 번호를 결정하는 방법과 이 정보가 스레드 네트워크 데이터에 게시되는 방식을 지정합니다.

otSrpServerHost

struct otSrpServerHost otSrpServerHost

이 불투명 유형은 SRP 서비스 호스트를 나타냅니다.

otSrpServerLeasConfig

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

이 구조에는 SRP 서버 LEASE 및 KEY-LEASE 구성이 포함됩니다.

otSrpServerService

struct otSrpServerService otSrpServerService

이 불투명 유형은 SRP 서비스를 나타냅니다.

otSrpServerServiceFlagss

uint8_t otSrpServerServiceFlags

SRP 서비스 목록에서 검색 (또는 반복)할 때 포함하거나 제외할 서비스를 나타내는 서비스 플래그 유형입니다.

비트 플래그의 조합입니다. 특정 비트 플래그는 열거형 OT_SRP_SERVER_FLAG_*에 정의되어 있습니다.

otSrpServerServiceUpdateHandler

void(* otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)

이 함수는 SRP 서비스 업데이트를 처리합니다.

이 함수는 SRP 서버에 의해 호출되어 SRP 호스트 및 SRP 서비스가 업데이트되고 있음을 알립니다. 핸들러가 otSrpServerHandleServiceUpdateResult를 호출하여 결과를 반환하거나 aTimeout 후에 타임아웃될 때까지 SRP 업데이트가 커밋되지 않습니다.

SRP 서비스 관찰자는 업데이트 이벤트를 받는 즉시 항상 otSrpServerHandleServiceUpdateResult와 오류 코드 OT_ERROR_NONE을 호출해야 합니다.

좀 더 일반적인 핸들러는 SRP 호스트/서비스의 유효성 검사를 수행할 수 있으며, 인증에 실패하면 SRP 업데이트를 거부합니다. 예를 들어 광고 프록시는 멀티캐스트를 지원하는 링크에서 호스트 및 서비스를 광고 (또는 삭제)해야 하며, 오류가 발생하면 특정 오류 코드를 반환합니다.

세부정보
매개변수
[in] aId
서비스 업데이트 트랜잭션 ID입니다. 이 ID는 otSrpServerHandleServiceUpdateResult와 함께 전달되어야 합니다.
[in] aHost
SRP 업데이트가 포함된 otSrpServerHost 객체의 포인터입니다. 핸들러는 호스트를 게시 및 게시 취소하고 각 규칙을 아래 규칙으로 이 호스트를 가리킵니다.
  1. 호스트가 삭제되지 않은 경우 (otSrpServerHostIsDeleted mDNS를 사용하여 게시하거나 업데이트해야 합니다. 그렇지 않으면 호스트의 게시를 취소해야 합니다 (AAAA RR 삭제).
  2. 이 호스트에 대한 각 서비스 포인트의 경우 호스트가 게시 취소되면 게시 취소됩니다. 그 외의 경우 핸들러는 서비스가 삭제되지 않은 경우 서비스를 게시하거나 업데이트하고 (삭제 후 otSrpServerServiceIsDeleted로 표시됨) 삭제되어야 합니다.
[in] aTimeout
핸들러가 서비스 이벤트를 처리하는 데 걸리는 최대 시간(밀리초)입니다.
[in] aContext
애플리케이션별 컨텍스트 포인터
참조:
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult

otSrpServerServiceUpdateId입니다.

uint32_t otSrpServerServiceUpdateId

SRP 서버의 SRP 서비스 업데이트 트랜잭션 ID입니다.

함수

otSrpClientAddService

otError otSrpClientAddService(
  otInstance *aInstance,
  otSrpClientService *aService
)

이 함수는 서버에 등록할 서비스를 추가합니다.

이 함수가 성공적으로 호출되면 otSrpClientCallback가 호출되어 SRP 서버의 서비스 추가/등록 상태를 보고합니다.

aService에서 가리키는 otSrpClientService 인스턴스는 OT_ERROR_NONE를 사용하여 이 함수에서 반환된 후에도 지속되고 변경되지 않아야 합니다 (MUST). OpenThread는 포인터를 서비스 인스턴스에 저장합니다.

otSrpClientService 인스턴스는 OpenThread에서 더 이상 추적하지 않으며 다음 경우에만 회수할 수 있습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aService
추가할 otSrpClientService 인스턴스에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
서비스 추가가 성공적으로 시작되었습니다. otSrpClientCallback가 호출되어 상태를 보고합니다.
OT_ERROR_ALREADY
서비스 및 인스턴스 이름이 동일한 서비스가 이미 목록에 있습니다.
OT_ERROR_INVALID_ARGS
서비스 구조가 잘못되었습니다 (예: 잘못된 서비스 이름 또는 otDnsTxtEntry).

otSrpClientBuffersAllocateService

otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService(
  otInstance *aInstance
)

이 함수는 풀에서 새 서비스 항목을 할당합니다.

반환된 서비스 항목 인스턴스는 다음과 같이 초기화됩니다.

  • mService.mName은 함수 otSrpClientBuffersGetServiceEntryServiceNameString()를 사용하여 검색할 수 있는 할당된 문자열 버퍼를 가리킵니다.
  • mService.mInstanceName은 함수 otSrpClientBuffersGetServiceEntryInstanceNameString()를 사용하여 검색할 수 있는 할당된 문자열 버퍼를 가리킵니다.
  • mService.mSubTypeLabelsotSrpClientBuffersGetSubTypeLabelsArray()에서 반환된 배열을 가리킵니다.
  • mService.mTxtEntriesmTxtEntry를 가리킵니다.
  • mService.mNumTxtEntries이 1로 설정됩니다.
  • 다른 mService 필드 (포트, 우선순위, 가중치)는 0으로 설정됩니다.
  • mTxtEntry.mKey가 NULL로 설정됩니다 (값이 이미 인코딩된 것으로 취급됨).
  • mTxtEntry.mValue은 함수 otSrpClientBuffersGetServiceEntryTxtBuffer()를 사용하여 검색할 수 있는 할당된 버퍼를 가리킵니다.
  • mTxtEntry.mValueLength가 0으로 설정됩니다.
  • 관련된 모든 데이터/문자열 버퍼 및 배열이 모두 0으로 지워집니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
새로 할당된 서비스 항목에 대한 포인터 또는 풀에서 더 이상 사용 가능한 항목이 없는 경우 NULL

otSrpClientBuffersFreeAllServices

void otSrpClientBuffersFreeAllServices(
  otInstance *aInstance
)

이 함수는 이전에 할당된 모든 서비스 항목을 해제합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.

otSrpClientBuffersFreeService

void otSrpClientBuffersFreeService(
  otInstance *aInstance,
  otSrpClientBuffersServiceEntry *aService
)

이 함수는 이전에 할당된 서비스 항목을 해제합니다.

aService 이전에otSrpClientBuffersAllocateService() 아직 해제되지 않았습니다. 그렇지 않으면 이 함수의 동작이 정의되지 않습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aService
해제할 서비스 항목 포인터입니다 (NULL이 아니어야 함).

otSrpClientBuffersGetHostAddressesArray

otIp6Address * otSrpClientBuffersGetHostAddressesArray(
  otInstance *aInstance,
  uint8_t *aArrayLength
)

이 함수는 SRP 클라이언트 호스트 주소 목록으로 사용할 IPv6 주소 항목의 배열을 가져옵니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[out] aArrayLength
배열 길이, 즉 배열의 IPv6 주소 항목 수를 반환할 변수를 가리키는 포인터입니다 (NULL이 아니어야 함).
반환
otIp6Address 항목 배열에 대한 포인터입니다 (항목 수는 aArrayLength에 반환됨).

otSrpClientBuffersGetHostNameString

char * otSrpClientBuffersGetHostNameString(
  otInstance *aInstance,
  uint16_t *aSize
)

이 함수는 SRP 클라이언트 호스트 이름에 사용할 문자열 버퍼를 가져옵니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[out] aSize
문자열 버퍼의 크기 (바이트 수)를 반환하기 위한 변수를 가리키는 포인터입니다 (NULL이 아니어야 함).
반환
SRP 클라이언트 호스트 이름에 사용할 문자 버퍼에 대한 포인터입니다.

otSrpClientBuffersGetServiceEntryInstanceNameString

char * otSrpClientBuffersGetServiceEntryInstanceNameString(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aSize
)

이 함수는 서비스 항목에서 서비스 인스턴스 이름의 문자열 버퍼를 가져옵니다.

세부정보
매개변수
[in] aEntry
이전에 할당된 서비스 항목에 대한 포인터입니다 (NULL이 아니어야 함).
[out] aSize
문자열 버퍼의 크기 (바이트 수)를 반환하는 변수에 대한 포인터입니다 (NULL이 아니어야 함).
반환
문자열 버퍼를 가리키는 포인터입니다.

otSrpClientBuffersGetServiceEntryServiceNameString

char * otSrpClientBuffersGetServiceEntryServiceNameString(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aSize
)

이 함수는 서비스 항목에서 서비스 이름의 문자열 버퍼를 가져옵니다.

세부정보
매개변수
[in] aEntry
이전에 할당된 서비스 항목에 대한 포인터입니다 (NULL이 아니어야 함).
[out] aSize
문자열 버퍼의 크기 (바이트 수)를 반환하는 변수에 대한 포인터입니다 (NULL이 아니어야 함).
반환
문자열 버퍼를 가리키는 포인터입니다.

otSrpClientBuffersGetServiceEntryTxtBuffer

uint8_t * otSrpClientBuffersGetServiceEntryTxtBuffer(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aSize
)

이 함수는 서비스 항목에서 TXT 레코드의 버퍼를 가져옵니다.

세부정보
매개변수
[in] aEntry
이전에 할당된 서비스 항목에 대한 포인터입니다 (NULL이 아니어야 함).
[out] aSize
버퍼의 크기 (바이트 수)를 반환하기 위한 변수를 가리키는 포인터입니다 (NULL이 아니어야 함).
반환
버퍼를 가리키는 포인터입니다.

otSrpClientBuffersGetSubTypeLabelsArray

const char ** otSrpClientBuffersGetSubTypeLabelsArray(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aArrayLength
)

이 함수는 서비스 항목에서 서비스 하위유형 라벨의 배열을 가져옵니다.

세부정보
매개변수
[in] aEntry
이전에 할당된 서비스 항목에 대한 포인터입니다 (NULL이 아니어야 함).
[out] aArrayLength
배열 길이를 반환하는 변수에 대한 포인터입니다 (NULL이 아니어야 함).
반환
배열에 대한 포인터입니다.

otSrpClientClearHostAndServices

void otSrpClientClearHostAndServices(
  otInstance *aInstance
)

이 함수는 모든 호스트 정보와 모든 서비스를 지웁니다.

서버에 모든 메시지를 삭제하도록 업데이트 메시지를 보내는 otSrpClientRemoveHostAndServices()와 달리, 이 함수는 서버와의 상호작용 없이 모든 정보를 즉시 지웁니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.

otSrpClientClearService

otError otSrpClientClearService(
  otInstance *aInstance,
  otSrpClientService *aService
)

이 함수는 서비스를 지우고 클라이언트 서비스 목록에서 즉시 삭제합니다.

서비스를 삭제하기 위해 서버에 업데이트 메시지를 보내는 otSrpClientRemoveService()와 달리 이 함수는 서버와 상호작용하지 않고 클라이언트의 서비스 목록에서 서비스를 지웁니다. 이 함수가 성공적으로 호출되면 otSrpClientCallback가 호출되지 않고 aService 항목을 호출자에 의해 즉시 회수하여 사용할 수 있습니다.

이 함수는 otSrpClientAddService()에 대한 후속 호출 (동일한 서비스 및 인스턴스 이름으로 동일한 aService 항목을 재사용 가능)과 함께 사용하여 기존 서비스의 일부 매개변수를 업데이트할 수 있습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aService
삭제할 otSrpClientService 인스턴스에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
aService가 삭제되었습니다. 회수한 후 바로 다시 사용할 수 있습니다.
OT_ERROR_NOT_FOUND
목록에서 서비스를 찾을 수 없습니다.

otSrpClientDisableAutoStartMode

void otSrpClientDisableAutoStartMode(
  otInstance *aInstance
)

이 함수는 자동 시작 모드를 사용 중지합니다.

자동 시작 기능 OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE가 사용 설정된 경우에만 사용할 수 있습니다.

자동 시작 모드를 사용 중지해도 클라이언트는 이미 실행 중인 경우 중지하지 않지만 클라이언트는 스레드 네트워크 데이터 모니터링을 중지하여 선택된 SRP 서버가 아직 존재하는지 확인합니다.

otSrpClientStop()를 호출하면 자동 시작 모드가 사용 중지됩니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.

otSrpClientEnableAutoStartMode

void otSrpClientEnableAutoStartMode(
  otInstance *aInstance,
  otSrpClientAutoStartCallback aCallback,
  void *aContext
)

이 함수는 자동 시작 모드를 사용 설정합니다.

자동 시작 기능 OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE가 사용 설정된 경우에만 사용할 수 있습니다.

OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE 구성 옵션은 기본 자동 시작 모드 (OT 스택 시작 시 사용 설정 또는 사용 중지)를 지정합니다.

자동 시작을 사용 설정하면 SRP 클라이언트는 SRP 서버 서비스 항목의 스레드 네트워크 데이터를 모니터링하고 SRP 서버가 감지되면 자동으로 클라이언트를 시작하고 중지합니다.

여러 SRP 서버가 발견되면 임의의 SRP 서버가 선택됩니다. 선택한 SRP 서버가 더 이상 감지되지 않으면 (더 이상 스레드 네트워크 데이터에 표시되지 않음) SRP 클라이언트가 중지되며 다른 SRP 서버로 전환할 수 있습니다 (사용 가능한 경우).

otSrpClientStart()에 대한 성공적인 호출을 통해 SRP 클라이언트가 명시적으로 시작되면 자동 시작 모드 상태 및 동일한 SRP 서버 주소가 발견되는지 여부와 관계없이 otSrpClientStart()에 지정된 SRP 서버 주소가 계속 사용됩니다. 스레드 네트워크 데이터에 포함되지 않을 수도 있습니다. 이 경우 명시적인 otSrpClientStop() 호출만 클라이언트를 중지합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aCallback
클라이언트가 자동 시작되거나 중지될 때 알림을 받는 콜백입니다. 필요하지 않은 경우 NULL일 수 있습니다.
[in] aContext
aCallback를 호출할 때 전달되는 컨텍스트입니다.

otSrpClientGetNGINX

const char * otSrpClientGetDomainName(
  otInstance *aInstance
)

이 함수는 SRP 클라이언트에서 사용 중인 도메인 이름을 가져옵니다.

이 기능을 사용하려면 OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE가 사용 설정되어 있어야 합니다.

도메인 이름을 설정하지 않으면 'default.service.arpa'가 사용됩니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
도메인 이름 문자열입니다.

otSrpClientGetHostInfo

const otSrpClientHostInfo * otSrpClientGetHostInfo(
  otInstance *aInstance
)

이 함수는 호스트 정보를 가져옵니다.

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

otSrpClientGetKeyLeaseInterval

uint32_t otSrpClientGetKeyLeaseInterval(
  otInstance *aInstance
)

이 함수는 SRP 업데이트 요청에 사용되는 키 임대 간격을 가져옵니다.

SRP 클라이언트에서 요청한 임대 기간입니다. 서버가 다른 임대 간격을 수락하도록 선택할 수 있습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
키 임대 간격 (초)입니다.

otSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

이 함수는 SRP 업데이트 요청에 사용되는 임대 간격을 가져옵니다.

SRP 클라이언트에서 요청한 임대 기간입니다. 서버가 다른 임대 간격을 수락하도록 선택할 수 있습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
임대 간격 (초)

otSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

이 함수는 SRP 클라이언트에서 사용 중인 SRP 서버의 소켓 주소 (IPv6 주소 및 포트 번호)를 가져옵니다.

클라이언트가 실행 중이 아닌 경우, 포트 번호가 0인 모든 주소가 지정되지 않습니다 (모두 0).

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
SRP 서버의 소켓 주소 포인터입니다 (항상 NULL이 아님).

otSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

이 함수는 클라이언트에서 관리하는 서비스 목록을 가져옵니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
모든 서비스의 연결된 목록 헤드를 가리키는 포인터이거나 목록이 비어 있는 경우 NULL

otSrpClientIsAutoStartModeEnabled

bool otSrpClientIsAutoStartModeEnabled(
  otInstance *aInstance
)

이 함수는 자동 시작 모드의 현재 상태 (사용 설정 또는 사용 중지)를 나타냅니다.

자동 시작 기능 OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE가 사용 설정된 경우에만 사용할 수 있습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
자동 시작 모드가 사용 설정되어 있으면 TRUE, 그렇지 않으면 FALSE입니다.

otSrpClientIsRunning

bool otSrpClientIsRunning(
  otInstance *aInstance
)

이 함수는 SRP 클라이언트의 실행 여부를 나타냅니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
SRP 클라이언트가 실행 중이면 TRUE, 그렇지 않으면 FALSE입니다.

otSrpClientIsServiceKeyRecordEnabled

bool otSrpClientIsServiceKeyRecordEnabled(
  otInstance *aInstance
)

이 메서드는 '서비스 키 레코드 포함' 모드가 사용 설정 상태인지 사용 중지되었는지를 나타냅니다.

이 함수는 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 구성이 사용 설정된 경우 사용할 수 있습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
'서비스 키 레코드 포함' 모드가 사용 설정되어 있으면 TRUE, 그렇지 않으면 FALSE입니다.

otSrpClientItemStateToString

const char * otSrpClientItemStateToString(
  otSrpClientItemState aItemState
)

이 함수는 otSrpClientItemState을 문자열로 변환합니다.

세부정보
매개변수
[in] aItemState
항목 상태입니다.
반환
aItemState의 문자열 표현.

otSrpClientRemoveHostAndServices

otError otSrpClientRemoveHostAndServices(
  otInstance *aInstance,
  bool aRemoveKeyLease,
  bool aSendUnregToServer
)

이 함수는 호스트 정보와 모든 서비스의 삭제 프로세스를 시작합니다.

이 함수에서 반환하면 SRP 서버에 삭제 요청의 상태를 보고하기 위해 otSrpClientCallback이 호출됩니다.

호스트 정보를 서버에서 영구적으로 삭제하려면 aRemoveKeyLeasetrue로 설정하여 서버의 호스트와 연결된 키 임대를 삭제해야 합니다. 그렇지 않으면 키 임대 레코드가 이전과 같이 유지되므로 클라이언트가 서비스를 다시 제공하고 등록할 수 있을 때를 위해 서버에서 예약된 호스트 이름을 보관합니다.

aSendUnregToServer는 호스트 정보가 아직 서버에 등록되지 않은 경우의 동작을 결정합니다. 조건aSendUnregToServerfalse 기본값/예상 값인 경우 SRP 클라이언트는 서버에 업데이트 메시지를 보내지 않고 즉시 호스트 정보 및 서비스를 삭제합니다(아직 등록된 서버가 없는 경우에는 서버를 업데이트할 필요가 없음). aSendUnregToServertrue로 설정되면 SRP 클라이언트가 서버에 업데이트 메시지를 전송합니다. 호스트 정보가 등록된 경우 aSendUnregToServer 값은 중요하지 않으며 SRP 클라이언트는 항상 모든 정보를 삭제하도록 서버에 업데이트 메시지를 보냅니다.

aSendUnregToServer는 기기 재설정/재부팅에 유용할 수 있으며, 호출자가 이전에 서버에 등록한 서비스를 삭제하는 것이 좋습니다. 이 경우 호출자는 otSrpClientSetHostName()를 실행한 후 aSendUnregToServertrue으로 사용하여 otSrpClientRemoveHostAndServices()를 요청할 수 있습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aRemoveKeyLease
호스트 키 임대도 삭제해야 하는지 여부를 나타내는 부울입니다.
[in] aSendUnregToServer
호스트 정보가 등록되지 않은 경우 서버에 업데이트를 전송할지를 나타내는 부울입니다.
반환 값
OT_ERROR_NONE
호스트 정보 및 서비스 삭제가 시작되었습니다. otSrpClientCallback가 호출되어 상태를 보고합니다.
OT_ERROR_ALREADY
호스트 정보가 이미 삭제되었습니다.

otSrpClientRemoveService

otError otSrpClientRemoveService(
  otInstance *aInstance,
  otSrpClientService *aService
)

이 함수는 서버에 등록 취소를 요청합니다.

이 함수가 성공적으로 호출되면 otSrpClientCallback이 호출되어 SRP 서버의 삭제 요청 상태를 보고합니다.

aService에서 가리키는 otSrpClientService 인스턴스는 OT_ERROR_NONE를 사용하여 이 함수에서 반환된 후에도 지속되고 변경되지 않아야 합니다 (MUST). OpenThread는 삭제 프로세스 중에 서비스 인스턴스를 유지합니다. otSrpClientCallback이 호출된 후에만 서비스 인스턴스가 SRP 클라이언트 서비스 목록에서 삭제되고 해제되거나 재사용할 수 있음을 나타냅니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aService
삭제할 otSrpClientService 인스턴스에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
서비스 삭제가 시작되었습니다. otSrpClientCallback가 호출되어 상태를 보고합니다.
OT_ERROR_NOT_FOUND
목록에서 서비스를 찾을 수 없습니다.

otSrpClientSetCallback

void otSrpClientSetCallback(
  otInstance *aInstance,
  otSrpClientCallback aCallback,
  void *aContext
)

이 함수는 SRP 클라이언트의 이벤트/변경사항을 호출자에게 알리는 콜백을 설정합니다.

SRP 클라이언트를 사용하면 단일 콜백을 등록할 수 있습니다. 따라서 이 함수를 연속적으로 호출하면 이전에 설정된 콜백 함수를 덮어씁니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aCallback
이벤트 및 변경사항을 알리는 콜백입니다. 필요하지 않은 경우 NULL일 수 있습니다.
[in] aContext
aCallback와 함께 사용되는 임의의 컨텍스트.

otSrpClientSetNGINX

otError otSrpClientSetDomainName(
  otInstance *aInstance,
  const char *aName
)

이 함수는 SRP 클라이언트에서 사용할 도메인 이름을 설정합니다.

이 기능을 사용하려면 OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE가 사용 설정되어 있어야 합니다.

설정하지 않으면 'default.service.arpa'가 사용됩니다.

aName에서 가리키는 이름 문자열 버퍼는 이 함수에서 반환된 후에도 지속되고 변경되지 않아야 합니다(MUST). OpenThread는 포인터를 포인터로 유지합니다.

도메인 이름은 클라이언트가 시작되기 전에 또는 시작 이후에 설정할 수 있지만 호스트 정보가 서버에 등록되기 전에 설정할 수 있습니다 (호스트 정보는 STATE_TO_ADD 또는 STATE_TO_REMOVE에 있어야 함).

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aName
도메인 이름 문자열 포인터. NULL이면 기본값이 'default.service.arpa'로 설정됩니다.
반환 값
OT_ERROR_NONE
도메인 이름 라벨이 설정되었습니다.
OT_ERROR_INVALID_STATE
호스트 정보가 이미 서버에 등록되어 있습니다.

otSrpClientSetHostAddresses

otError otSrpClientSetHostAddresses(
  otInstance *aInstance,
  const otIp6Address *aIp6Addresses,
  uint8_t aNumAddresses
)

이 함수는 호스트 IPv6 주소 목록을 설정/업데이트합니다.

호스트 IPv6 주소는 SRP 클라이언트의 시작 전 또는 작동 도중에 설정/변경될 수 있습니다 (예: 이전에 등록된 호스트 주소 추가/삭제 또는 변경). 단, 호스트 정보가 삭제되는 경우는 예외입니다 (클라이언트가 이전의 삭제 요청을 처리 중입니다). otSrpClientRemoveHostAndServices() 호출되고 아직 STATE_TO_REMOVE 또는 STATE_REMOVING 상태인 호스트 정보).

aIp6Addresses에서 가리키는 호스트 IPv6 주소 배열은 OT_ERROR_NONE에서 이 함수로 돌아온 후에도 변경되지 않고 유지되어야 합니다 (MUST). OpenThread는 포인터를 배열에 저장합니다.

이 함수가 성공적으로 호출되면 otSrpClientCallback가 호출되어 SRP 서버의 주소 등록 상태를 보고합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aIp6Addresses
호스트 IPv6 주소를 포함하는 배열의 포인터입니다.
[in] aNumAddresses
aIp6Addresses 배열의 주소 수입니다.
반환 값
OT_ERROR_NONE
호스트 IPv6 주소 목록 변경이 시작되었습니다. 서버에 주소 등록 상태를 보고하기 위해 otSrpClientCallback가 호출됩니다.
OT_ERROR_INVALID_ARGS
주소 목록이 잘못되었습니다 (예: 하나 이상의 주소를 포함해야 함).
OT_ERROR_INVALID_STATE
호스트를 삭제하는 중이므로 호스트 주소를 변경할 수 없습니다.

otSrpClientSetHostName

otError otSrpClientSetHostName(
  otInstance *aInstance,
  const char *aName
)

이 함수는 호스트 이름 라벨을 설정합니다.

이 함수가 성공적으로 호출되면 SRP 서버에 호스트 정보 등록 상태를 보고하기 위해 otSrpClientCallback이 호출됩니다.

aName에서 가리키는 이름 문자열 버퍼는 이 함수에서 반환된 후에도 지속되고 변경되지 않아야 합니다(MUST). OpenThread는 포인터를 포인터로 유지합니다.

클라이언트가 시작되기 전이나 시작 후, 호스트 정보가 서버에 등록되기 전에 호스트 이름을 설정할 수 있습니다 (호스트 정보는 STATE_TO_ADD 또는 STATE_REMOVED에 있어야 함).

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aName
호스트 이름 라벨 문자열 포인터입니다 (NULL이 아니어야 함). 문자열 버퍼를 가리키는 포인터는 이 함수에서 돌아온 후에도 유효하고 일정하게 유지되어야 합니다(MUST).
반환 값
OT_ERROR_NONE
호스트 이름 라벨이 설정되었습니다.
OT_ERROR_INVALID_ARGS
aName은 NULL입니다.
OT_ERROR_INVALID_STATE
호스트 이름이 이미 설정되어 서버에 등록되었습니다.

otSrpClientSetKeyLeaseInterval

void otSrpClientSetKeyLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

이 함수는 SRP 업데이트 요청에 사용되는 키 임대 간격을 설정합니다.

임대 간격 변경은 이미 등록된 서비스/host-info의 수락된 임대 간격에 영향을 주지 않습니다. 향후 모든 SRP 업데이트 메시지에만 영향을 미칩니다 (예: 새 서비스 추가 또는 기존 서비스 새로고침).

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aInterval
키 임대 간격 (초)입니다. 0이면 OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_KEY_LEASE에서 지정된 기본값이 사용됩니다.

otSrpClientSetLeaseInterval

void otSrpClientSetLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

이 함수는 SRP 업데이트 요청에 사용되는 임대 간격을 설정합니다.

임대 간격 변경은 이미 등록된 서비스/host-info의 수락된 임대 간격에 영향을 주지 않습니다. 향후 SRP 업데이트 메시지에만 영향을 미칩니다 (예: 새 서비스 추가 또는 기존 서비스 새로고침).

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aInterval
임대 간격 (초) 0이면 OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_LEASE에서 지정된 기본값이 사용됩니다.

otSrpClientSetServiceKeyRecordEnabled

void otSrpClientSetServiceKeyRecordEnabled(
  otInstance *aInstance,
  bool aEnabled
)

이 함수는 '서비스 키 레코드 포함' 모드를 사용 설정/사용 중지합니다.

사용 설정하면 SRP 클라이언트가 보내는 SRP 업데이트 메시지의 서비스 설명 안내에 KEY 레코드를 포함합니다.

이 함수는 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 구성이 사용 설정된 경우 사용할 수 있습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aEnabled
사용 설정하면 TRUE, '서비스 키 레코드 포함' 모드를 사용 중지하려면 FALSE입니다.

otSrpClientStart

otError otSrpClientStart(
  otInstance *aInstance,
  const otSockAddr *aServerSockAddr
)

이 함수는 SRP 클라이언트 작업을 시작합니다.

다음 조건이 모두 충족되면 SRP 클라이언트가 'SRP 업데이트' 메시지를 준비하고 SRP 서버로 전송합니다.

이러한 함수가 호출되는 순서는 중요하지 않습니다. 모든 조건이 충족되면 SRP 클라이언트는 'SRP 업데이트' 메시지를 준비하고 서버로 보내기 전에 잠시 지연됩니다. 이러한 지연으로 인해 첫 번째 SRP 업데이트 메시지가 전송되기 전에 사용자가 여러 서비스 또는 IPv6 주소를 추가할 수 있습니다 (모든 정보가 포함된 단일 SRP 업데이트가 전송되도록 함). OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY 구성은 지연 간격을 지정합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aServerSockAddr
SRP 서버의 소켓 주소 (IPv6 주소 및 포트 번호)입니다.
반환 값
OT_ERROR_NONE
SRP 클라이언트 작업이 성공적으로 시작되었거나 이미 동일한 서버 소켓 주소와 콜백으로 실행 중입니다.
OT_ERROR_BUSY
SRP 클라이언트가 다른 소켓 주소로 실행 중입니다.
OT_ERROR_FAILED
클라이언트의 UDP 소켓을 열거나 연결할 수 없습니다.

otSrpClientStop

void otSrpClientStop(
  otInstance *aInstance
)

이 함수는 SRP 클라이언트 작업을 중지합니다.

이 함수는 SRP 서버와의 추가 상호작용을 중지합니다. 호스트 정보 및/또는 서비스 목록은 삭제되거나 지워지지 않습니다. 클라이언트가 (다시) 시작되면 추가/삭제될 모든 서비스를 표시합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.

otSrpServerGetAddressMode

otSrpServerAddressMode otSrpServerGetAddressMode(
  otInstance *aInstance
)

이 함수는 SRP 서버에서 사용 중인 주소 모드를 반환합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
SRP 서버의 주소 모드입니다.

otSrpServerGetAnycastModeSequenceNumber

uint8_t otSrpServerGetAnycastModeSequenceNumber(
  otInstance *aInstance
)

이 함수는 Anycast 주소 모드에서 사용되는 시퀀스 번호를 반환합니다.

시퀀스 번호는 네트워크 데이터에 게시된 'DNS/SRP 서비스 Anycast 주소' 항목에 포함됩니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
Anycast 시퀀스 번호

otSrpServerGetDomain(otSrpServerGetDomain)

const char * otSrpServerGetDomain(
  otInstance *aInstance
)

이 함수는 SRP 서버에 승인된 도메인을 반환합니다.

SetDomain으로 설정되지 않은 도메인인 경우 'default.service.arpa.' 가 반환됩니다. 도메인이 없는 경우 뒤에 마침표가 항상 추가됩니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
점 조인된 도메인 문자열 포인터.

otSrpServerGetLeasConfig

void otSrpServerGetLeaseConfig(
  otInstance *aInstance,
  otSrpServerLeaseConfig *aLeaseConfig
)

이 함수는 SRP 서버 LEASE 및 KEY-LEASE 구성을 반환합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[out] aLeaseConfig
otSrpServerLeaseConfig 인스턴스 포인터.

otSrpServerGetNextHost

const otSrpServerHost * otSrpServerGetNextHost(
  otInstance *aInstance,
  const otSrpServerHost *aHost
)

이 함수는 SRP 서버에 다음에 등록된 호스트를 반환합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aHost
현재 호스트에 대한 포인터입니다. NULL을 사용하여 첫 번째 호스트를 가져옵니다.
반환
등록된 호스트에 대한 포인터입니다. NULL: 호스트를 더 이상 찾을 수 없는 경우

otSrpServerGetState(영어)

otSrpServerState otSrpServerGetState(
  otInstance *aInstance
)

이 함수는 SRP 서버의 상태를 반환합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
SRP 서버의 현재 상태입니다.

otSrpServerHandleServiceUpdateResult

void otSrpServerHandleServiceUpdateResult(
  otInstance *aInstance,
  otSrpServerServiceUpdateId aId,
  otError aError
)

이 함수는 SRP 업데이트를 처리한 결과를 SRP 서버에 보고합니다.

서비스 업데이트 핸들러는 이 함수를 호출하여 SRP 업데이트 처리 결과를 반환해야 합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aId
서비스 업데이트 트랜잭션 ID입니다. otSrpServerServiceUpdateHandler를 통해 제공되는 ID와 동일해야 합니다.
[in] aError
SRP 서버로 반환되는 오류입니다. OT_ERROR_DUPLICATED를 사용하여 DNS 이름 충돌을 나타냅니다.

otSrpServerHostFindNextService

const otSrpServerService * otSrpServerHostFindNextService(
  const otSrpServerHost *aHost,
  const otSrpServerService *aPrevService,
  otSrpServerServiceFlags aFlags,
  const char *aServiceName,
  const char *aInstanceName
)

이 함수는 호스트에서 일치하는 다음 서비스를 찾습니다.

플래그와 서비스 및 인스턴스 이름의 조합을 통해 서비스 및/또는 특정 조건과 일치하는 일부 서비스의 전체 목록을 반복하거나 특정 서비스를 찾을 수 있습니다.

호스트의 모든 서비스에 대해 반복: service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_ANY_SERVICE, NULL, NULL);

기본 서비스만 반복 (하위 유형 제외): service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, NULL);

특정 인스턴스 이름 instanceName의 하위 유형을 반복하려면: service = otSrpServerHostFindNextService(host, service, OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY, NULL, instanceName);

서비스 이름이 serviceName이고 서비스 인스턴스 이름이 instanceName인 특정 서비스를 찾으려면 service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_ANY_SERVICE, serviceName, instanceName);

특정 서비스 인스턴스 이름이 instanceName인 기본 유형 서비스를 찾으려면 service = otSrpServerHostFindNextService(host, NULL, OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY, NULL, instanceName);

세부정보
매개변수
[in] aHost
SRP 서비스 호스트에 대한 포인터입니다 (NULL이 아니어야 함).
[in] aPrevService
목록의 시작 부분부터 시작되는 이전 서비스 또는 NULL을 가리키는 포인터입니다.
[in] aFlags
포함할 서비스 (기본/하위 유형, 활성/삭제됨)를 나타내는 플래그입니다.
[in] aServiceName
일치시킬 서비스 이름입니다. 어떤 이름이든 수락하려면 NULL로 설정합니다.
[in] aInstanceName
일치시킬 서비스 인스턴스 이름입니다. 어떤 이름이든 수락하려면 NULL로 설정합니다.
반환
일치하는 다음 서비스를 찾지 못한 경우 그 다음 일치하는 서비스에 대한 포인터입니다.

otSrpServerHostGetAddresses

const otIp6Address * otSrpServerHostGetAddresses(
  const otSrpServerHost *aHost,
  uint8_t *aAddressesNum
)

이 함수는 지정된 호스트의 주소를 반환합니다.

세부정보
매개변수
[in] aHost
SRP 서비스 호스트에 대한 포인터입니다.
[out] aAddressesNum
주소 수를 출력할 위치에 대한 포인터입니다.
반환
IPv6 주소 배열에 대한 포인터입니다.

otSrpServerHostGetFullName

const char * otSrpServerHostGetFullName(
  const otSrpServerHost *aHost
)

이 함수는 호스트의 전체 이름을 반환합니다.

세부정보
매개변수
[in] aHost
SRP 서비스 호스트에 대한 포인터입니다.
반환
null로 끝나는 호스트 이름 문자열 포인터.

otSrpServerHostGetNextService

const otSrpServerService * otSrpServerHostGetNextService(
  const otSrpServerHost *aHost,
  const otSrpServerService *aService
)

이 함수는 지정된 호스트의 다음 서비스 (하위 유형 서비스 제외)를 반환합니다.

세부정보
매개변수
[in] aHost
SRP 서비스 호스트에 대한 포인터입니다.
[in] aService
현재 SRP 서비스 인스턴스를 가리키는 포인터 NULL을 사용하여 첫 번째 서비스를 가져옵니다.
반환
다음 서비스 포인터 또는 더 이상 서비스가 없는 경우 NULL.

otSrpServerHostIsDeleted

bool otSrpServerHostIsDeleted(
  const otSrpServerHost *aHost
)

이 함수는 SRP 서비스 호스트가 삭제되었는지 여부를 나타냅니다.

SRP 서비스 호스트는 삭제할 수 있지만 향후 사용을 위해 이름을 유지합니다. 이 경우 호스트 인스턴스는 SRP 서버/레지스트리에서 삭제되지 않습니다.

세부정보
매개변수
[in] aHost
SRP 서비스 호스트에 대한 포인터입니다.
반환
호스트가 삭제되었으면 TRUE, 삭제하지 않으면 FALSE를 반환합니다.

otSrpServerServiceGetFullName

const char * otSrpServerServiceGetFullName(
  const otSrpServerService *aService
)

이 함수는 서비스의 전체 서비스 인스턴스 이름을 반환합니다.

세부정보
매개변수
[in] aService
SRP 서비스에 대한 포인터입니다.
반환
null로 종료되는 서비스 인스턴스 이름 문자열 포인터.

otSrpServerServiceGetHost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

이 함수는 서비스 인스턴스가 상주하는 호스트를 반환합니다.

세부정보
매개변수
[in] aService
SRP 서비스에 대한 포인터입니다.
반환
호스트 인스턴스에 대한 포인터입니다.

otSrpServerServiceGetInstanceName

const char * otSrpServerServiceGetInstanceName(
  const otSrpServerService *aService
)

이 함수는 서비스의 전체 서비스 인스턴스 이름을 반환합니다.

세부정보
매개변수
[in] aService
SRP 서비스에 대한 포인터입니다.
반환
null로 종료되는 서비스 인스턴스 이름 문자열 포인터.

otSrpServerServiceGetPort

uint16_t otSrpServerServiceGetPort(
  const otSrpServerService *aService
)

이 함수는 서비스 인스턴스의 포트를 반환합니다.

세부정보
매개변수
[in] aService
SRP 서비스에 대한 포인터입니다.
반환
서비스의 포트입니다.

otSrpServerServiceGetPriority

uint16_t otSrpServerServiceGetPriority(
  const otSrpServerService *aService
)

이 함수는 서비스 인스턴스의 우선순위를 반환합니다.

세부정보
매개변수
[in] aService
SRP 서비스에 대한 포인터입니다.
반환
서비스의 우선순위입니다.

otSrpServerServiceGetServiceName

const char * otSrpServerServiceGetServiceName(
  const otSrpServerService *aService
)

이 함수는 서비스의 전체 서비스 이름을 반환합니다.

세부정보
매개변수
[in] aService
SRP 서비스에 대한 포인터입니다.
반환
null로 끝나는 서비스 이름 문자열 포인터.

otSrpServerServiceGetServiceSubTypeLabel

otError otSrpServerServiceGetServiceSubTypeLabel(
  const otSrpServerService *aService,
  char *aLabel,
  uint8_t aMaxSize
)

이 함수는 서비스 이름에서 하위 유형 라벨을 가져옵니다.

이 함수는 aService이 하위 유형(예: 서비스의 otSrpServerServiceIsSubType()은 TRUE를 반환합니다. 하위 유형이 아닌 경우, 이 함수는 OT_ERROR_INVALID_ARGS을 반환합니다.

하위 유형 서비스의 전체 서비스 이름은 '._sub...' 뒤에 나옵니다. 이 함수는 aLabel 버퍼에 복사합니다.

aLabel는 실패해도 항상 null로 종료됩니다.

세부정보
매개변수
[in] aService
SRP 서비스에 대한 포인터입니다.
[out] aLabel
하위 유형 라벨 이름을 복사할 버퍼의 포인터입니다.
[in] aMaxSize
aLabel 버퍼의 최대 크기
반환 값
OT_ERROR_NONE
aLabel이(가) 업데이트되었습니다.
OT_ERROR_NO_BUFS
하위 유형 라벨이 aLabel 버퍼에 맞지 않습니다 (라벨이 null로 끝나도록 aLabel에 복사될 수 있는 라벨의 문자 수).
OT_ERROR_INVALID_ARGS
SRP 서비스는 하위 유형이 아닙니다.

otSrpServerServiceGetTxtData

const uint8_t * otSrpServerServiceGetTxtData(
  const otSrpServerService *aService,
  uint16_t *aDataLength
)

이 함수는 서비스 인스턴스의 TXT 레코드 데이터를 반환합니다.

세부정보
매개변수
[in] aService
SRP 서비스에 대한 포인터입니다.
[out] aDataLength
TXT 레코드 데이터 길이를 반환하는 포인터입니다. NULL이 아니어야 합니다.
반환
TXT 레코드 데이터를 포함하는 버퍼를 가리키는 포인터입니다 (TXT 데이터 길이는 aDataLength에서 반환됨).

otSrpServerServiceGetWeight

uint16_t otSrpServerServiceGetWeight(
  const otSrpServerService *aService
)

이 함수는 서비스 인스턴스의 가중치를 반환합니다.

세부정보
매개변수
[in] aService
SRP 서비스에 대한 포인터입니다.
반환
서비스의 가중치입니다.

otSrpServerServiceIsDeleted

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

이 함수는 SRP 서비스가 삭제되었는지 여부를 나타냅니다.

SRP 서비스는 삭제할 수 있지만 나중에 사용할 수 있도록 이름을 유지합니다. 이 경우 서비스 인스턴스는 SRP 서버/레지스트리에서 삭제되지 않습니다. 호스트가 삭제되면 모든 서비스가 삭제됩니다.

세부정보
매개변수
[in] aService
SRP 서비스에 대한 포인터입니다.
반환
서비스가 삭제되었으면 TRUE, 삭제하지 않으면 FALSE를 반환합니다.

otSrpServerServiceIsSubType

bool otSrpServerServiceIsSubType(
  const otSrpServerService *aService
)

이 함수는 SRP 서비스가 하위 유형인지 여부를 나타냅니다.

세부정보
매개변수
[in] aService
SRP 서비스에 대한 포인터입니다.
반환
서비스가 하위 유형이면 TRUE, 그렇지 않은 경우 FALSE입니다.

otSrpServerSetAddressMode:

otError otSrpServerSetAddressMode(
  otInstance *aInstance,
  otSrpServerAddressMode aMode
)

이 함수는 SRP 서버에서 사용할 주소 모드를 설정합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aMode
사용할 주소 모드입니다.
반환 값
OT_ERROR_NONE
주소 모드를 설정했습니다.
OT_ERROR_INVALID_STATE
SRP 서버가 사용 설정되었으므로 주소 모드를 변경할 수 없습니다.

otSrpServerSetAnycastModeSequenceNumber

otError otSrpServerSetAnycastModeSequenceNumber(
  otInstance *aInstance,
  uint8_t aSequenceNumber
)

이 함수는 Anycast 주소 모드로 사용되는 시퀀스 번호를 설정합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aSequenceNumber
사용할 시퀀스 번호입니다.
반환 값
OT_ERROR_NONE
주소 모드를 설정했습니다.
OT_ERROR_INVALID_STATE
SRP 서버가 사용 설정되었으며 시퀀스 번호를 변경할 수 없습니다.

otSrpServerSetDomain(otSrpServerSetDomain)

otError otSrpServerSetDomain(
  otInstance *aInstance,
  const char *aDomain
)

이 함수는 SRP 서버에 도메인을 설정합니다.

aDomain에 후행 점이 추가됩니다(아직 없는 경우). 이 함수는 SRP 서버가 사용 설정되기 전에만 호출되어야 합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aDomain
설정할 도메인입니다. NULL이 아니어야 합니다.
반환 값
OT_ERROR_NONE
도메인이 aDomain(으)로 설정되었습니다.
OT_ERROR_INVALID_STATE
SRP 서버가 이미 사용 설정되어 있으며 도메인을 변경할 수 없습니다.
OT_ERROR_INVALID_ARGS
aDomain 인수는 올바른 DNS 도메인 이름이 아닙니다.
OT_ERROR_NO_BUFS
aDomain의 콘텐츠를 저장할 메모리가 없습니다.

otSrpServerSetEnabled

void otSrpServerSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

이 함수는 SRP 서버를 사용 설정/사용 중지합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aEnabled
SRP 서버를 사용 설정/사용 중지하는 부울입니다.

otSrpServerSetLeaseConfig

otError otSrpServerSetLeaseConfig(
  otInstance *aInstance,
  const otSrpServerLeaseConfig *aLeaseConfig
)

이 함수는 SRP 서버 LEASE 및 KEY-LEASE 구성을 설정합니다.

클라이언트에서 0이 아닌 LEASE 시간을 요청하면 부여된 값이 [aMinLease, aMaxLease] 범위로 제한됩니다. [aMinKeyLease, aMaxKeyLease] 범위에서 0이 아닌 KEY-LEASE가 부여됩니다. 0 LEASE 또는 KEY-LEASE 시간의 경우 0이 부여됩니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aLeaseConfig
otSrpServerLeaseConfig 인스턴스 포인터.
반환 값
OT_ERROR_NONE
LEASE 및 KEY-LEASE 범위를 설정했습니다.
OT_ERROR_INVALID_ARGS
LEASE 또는 KEY-LEASE 범위가 올바르지 않습니다.

otSrpServerSetServiceUpdateHandler

void otSrpServerSetServiceUpdateHandler(
  otInstance *aInstance,
  otSrpServerServiceUpdateHandler aServiceHandler,
  void *aContext
)

이 함수는 SRP 서버에 SRP 서비스 업데이트 핸들러를 설정합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aServiceHandler
서비스 핸들러 포인터. NULL을 사용하여 핸들러를 삭제합니다.
[in] aContext
임의의 컨텍스트 정보를 가리키는 포인터입니다. 사용하지 않을 경우 NULL일 수 있습니다.

리소스

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