SRP : 검색결과 페이지
이 모듈에는 SRP 클라이언트 동작을 제어하는 함수가 포함되어 있습니다.
요약
이 모듈에는 서비스 등록 프로토콜의 기능이 포함되어 있습니다.
이 모듈에는 SRP 클라이언트 버퍼 및 서비스 풀에 대한 함수가 포함되어 있습니다.
이 모듈의 함수는 OPENSpanner_CONFIG_SRP_CLIENT_BUFFERS_ENABLE 기능이 사용 설정된 경우에만 사용할 수 있습니다.
열거형 |
|
---|---|
anonymous enum{
|
enum |
anonymous enum{
|
enum |
otSrpClientItemState{
|
enum 이 열거는 SRP 클라이언트 항목 (서비스 또는 호스트 정보) 상태를 지정합니다. |
otSrpServerAddressMode{
|
enum 이 열거형은 SRP 서버에서 사용되는 주소 모드를 나타냅니다. |
otSrpServerState{
|
enum 이 열거형은 SRP 서버의 상태를 나타냅니다. |
Typedef |
|
---|---|
otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)
|
typedefvoid(*
이 함수 포인터 유형은 SRP 클라이언트가 자동 시작 또는 중지 시 사용자에게 알리기 위해 사용하는 콜백을 정의합니다. |
otSrpClientBuffersServiceEntry
|
typedef 이 구조체는 SRP 클라이언트 서비스 풀 항목을 나타냅니다. |
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)
|
typedefvoid(*
이 함수 포인터 유형은 SRP 클라이언트에서 사용자에게 변경사항/이벤트/오류를 알리기 위해 사용하는 콜백을 정의합니다. |
otSrpClientHostInfo
|
typedefstruct otSrpClientHostInfo
이 구조는 SRP 클라이언트 호스트 정보를 나타냅니다. |
otSrpClientService
|
typedefstruct otSrpClientService
이 구조는 SRP 클라이언트 서비스를 나타냅니다. |
otSrpServerAddressMode
|
typedef 이 열거형은 SRP 서버에서 사용되는 주소 모드를 나타냅니다. |
otSrpServerHost
|
typedefstruct otSrpServerHost
이 불투명 유형은 SRP 서비스 호스트를 나타냅니다. |
otSrpServerLeaseConfig
|
typedefstruct otSrpServerLeaseConfig
이 구조에는 SRP 서버 LEASE 및 KEY-LEASE 구성이 포함됩니다. |
otSrpServerLeaseInfo
|
typedefstruct otSrpServerLeaseInfo
이 구조에는 호스트/서비스의 SRP 서버 임대 정보가 포함됩니다. |
otSrpServerResponseCounters
|
typedefstruct otSrpServerResponseCounters
이 구조에는 SRP 서버 응답의 통계가 포함됩니다. |
otSrpServerService
|
typedefstruct otSrpServerService
이 불투명 유형은 SRP 서비스를 나타냅니다. |
otSrpServerServiceFlags
|
typedefuint8_t
SRP 서비스 목록을 검색하거나 반복할 때 포함하거나 제외할 서비스를 나타내는 서비스 플래그 유형입니다. |
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)
|
typedefvoid(*
이 함수는 SRP 서비스 업데이트를 처리합니다. |
otSrpServerServiceUpdateId
|
typedefuint32_t
SRP 서버의 SRP 서비스 업데이트 트랜잭션 ID입니다. |
otSrpServerTtlConfig
|
typedefstruct otSrpServerTtlConfig
이 구조에는 SRP 서버 TTL 구성이 포함됩니다. |
함수 |
|
---|---|
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
이 함수는 자동 시작 모드를 사용 중지합니다.
|
otSrpClientEnableAutoHostAddress(otInstance *aInstance)
|
이 함수는 자동 호스트 주소 모드를 사용 설정합니다.
|
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
|
void
이 함수는 자동 시작 모드를 사용 설정합니다.
|
otSrpClientGetDomainName(otInstance *aInstance)
|
const char *
이 함수는 SRP 클라이언트에서 사용 중인 도메인 이름을 가져옵니다.
|
otSrpClientGetHostInfo(otInstance *aInstance)
|
const otSrpClientHostInfo *
이 함수는 호스트 정보를 가져옵니다.
|
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
|
uint32_t
이 함수는 SRP 업데이트 요청에 사용되는 기본 키 임대 간격을 가져옵니다.
|
otSrpClientGetLeaseInterval(otInstance *aInstance)
|
uint32_t
이 함수는 SRP 업데이트 요청에 사용된 기본 임대 간격을 가져옵니다.
|
otSrpClientGetServerAddress(otInstance *aInstance)
|
const otSockAddr *
이 함수는 SRP 클라이언트에서 사용 중인 SRP 서버의 소켓 주소 (IPv6 주소 및 포트 번호)를 가져옵니다.
|
otSrpClientGetServices(otInstance *aInstance)
|
const otSrpClientService *
이 함수는 클라이언트에서 관리하는 서비스 목록을 가져옵니다.
|
otSrpClientGetTtl(otInstance *aInstance)
|
uint32_t
이 함수는 SRP 업데이트 요청에 포함된 모든 레코드의 TTL 값을 가져옵니다.
|
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
이 함수는 '서비스 키 레코드 포함' 모드를 사용 설정/사용 중지합니다.
|
otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl)
|
void
이 함수는 SRP 업데이트 요청에 포함된 모든 레코드에 TTL 값을 설정합니다.
|
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 서버에 등록된 다음 호스트를 반환합니다.
|
otSrpServerGetPort(otInstance *aInstance)
|
uint16_t
이 함수는 SRP 서버가 수신 대기하는 포트를 반환합니다.
|
otSrpServerGetResponseCounters(otInstance *aInstance)
|
const otSrpServerResponseCounters *
이 함수는 SRP 서버의 응답 카운터를 반환합니다.
|
otSrpServerGetState(otInstance *aInstance)
|
이 함수는 SRP 서버의 상태를 반환합니다.
|
otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
|
void
이 함수는 SRP 서버 TTL 구성을 반환합니다.
|
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)
|
const otSrpServerService *
이 함수는 호스트에서 다음 일치 서비스를 찾습니다.
|
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
|
const otIp6Address *
이 함수는 지정된 호스트의 주소를 반환합니다.
|
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
|
const char *
이 함수는 호스트의 전체 이름을 반환합니다.
|
otSrpServerHostGetLeaseInfo(const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo)
|
void
이 함수는 지정된 호스트의 LEASE 및 KEY-LEASE 정보를 반환합니다.
|
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
|
const otSrpServerService *
이 함수는 지정된 호스트의 다음 서비스 (하위 유형 서비스 제외)를 반환합니다.
|
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
|
bool
이 함수는 SRP 서비스 호스트가 삭제되었는지 알려줍니다.
|
otSrpServerIsAutoEnableMode(otInstance *aInstance)
|
bool
이 함수는 자동 사용 모드의 사용 설정 여부를 나타냅니다.
|
otSrpServerServiceGetFullName(const otSrpServerService *aService)
|
const char *
이 함수는 서비스의 전체 서비스 인스턴스 이름을 반환합니다.
|
otSrpServerServiceGetHost(const otSrpServerService *aService)
|
const otSrpServerHost *
이 함수는 서비스 인스턴스가 있는 호스트를 반환합니다.
|
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
|
const char *
이 함수는 서비스의 전체 서비스 인스턴스 이름을 반환합니다.
|
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
|
void
이 함수는 지정된 서비스의 LEASE 및 KEY-LEASE 정보를 반환합니다.
|
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)
|
이 함수는 서비스 이름에서 하위 유형 라벨을 가져옵니다.
|
otSrpServerServiceGetTtl(const otSrpServerService *aService)
|
uint32_t
이 함수는 서비스 인스턴스의 TTL을 반환합니다.
|
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 주소 모드에 사용되는 순서 번호를 설정합니다.
|
otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled)
|
void
이 함수는 SRP 서버에서 자동 사용 모드를 사용 설정/사용 중지합니다.
|
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 서비스 업데이트 핸들러를 설정합니다.
|
otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
|
이 함수는 SRP 서버 TTL 구성을 설정합니다.
|
구조체 |
|
---|---|
otSrpClientBuffersServiceEntry |
이 구조체는 SRP 클라이언트 서비스 풀 항목을 나타냅니다. |
otSrpClientHostInfo로 지정할 수 있습니다. |
이 구조는 SRP 클라이언트 호스트 정보를 나타냅니다. |
otSrpClientService |
이 구조는 SRP 클라이언트 서비스를 나타냅니다. |
otSrpServerLeaseConfig |
이 구조에는 SRP 서버 LEASE 및 KEY-LEASE 구성이 포함됩니다. |
otSrpServerLeaseInfo를 참조하세요. |
이 구조에는 호스트/서비스의 SRP 서버 임대 정보가 포함됩니다. |
otSrpServerResponseCounters에 대한 응답 |
이 구조에는 SRP 서버 응답의 통계가 포함됩니다. |
otSrpServerTtlConfig는 |
이 구조에는 SRP 서버 TTL 구성이 포함됩니다. |
열거형
익명 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
|
이 상수는 모든 서비스 (기본/하위 유형, 활성/삭제)를 허용하는 |
OT_SRP_SERVER_FLAGS_ANY_TYPE_ACTIVE_SERVICE
|
이 상수는 삭제되지 않은 모든 활성 서비스를 허용하는 |
OT_SRP_SERVER_FLAGS_ANY_TYPE_DELETED_SERVICE
|
이 상수는 삭제된 서비스를 허용하는 |
OT_SRP_SERVER_FLAGS_BASE_TYPE_SERVICE_ONLY
|
이 상수는 기본 서비스만 허용하는 |
OT_SRP_SERVER_FLAGS_SUB_TYPE_SERVICE_ONLY
|
이 상수는 하위 유형 서비스만 허용하는 |
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 클라이언트가 자동으로 시작 또는 중지될 때 호출됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
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
으로 콜백에 전달됩니다. 콜백이 호출되면 SRP 클라이언트 (OpenThread 구현)가 aRemovedServices
에 나열된 삭제된 서비스 인스턴스로 실행되며 더 이상 이를 추적/저장하지 않습니다 (즉, 콜백에서 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 서버가 쿼리 유형 (OpCode)을 지원하지 않음 -> OT_ERROR_NOT_IMPLEMENTED
- (5) 서버가 정책/보안상의 이유로 거부됨 -> 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
및 관련 매개변수 참조).
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
otSrpClientService 클래스의 정적 변수
struct otSrpClientService otSrpClientService
이 구조는 SRP 클라이언트 서비스를 나타냅니다.
이름 및 TXT 레코드 항목의 문자열 버퍼를 비롯하여 이 구조의 값은 이 구조의 인스턴스가 otSrpClientAddService()
또는 otSrpClientRemoveService()
에서 OpenThread에 전달된 후 유지되고 일정하게 유지되어야 합니다(MUST).
mState
, mData
, mNext
필드는 OT 코어에서만 사용/관리됩니다. otSrpClientService
인스턴스가 otSrpClientAddService()
또는 otSrpClientRemoveService()
또는 다른 함수에서 전달되면 이 값은 무시됩니다. 호출자는 이러한 필드를 설정할 필요가 없습니다.
mLease
및 mKeyLease
필드는 이 서비스에 대해 원하는 임대 및 키 임대 간격을 지정합니다. 0 값은 간격이 지정되지 않음을 나타내며 이 서비스에 otSrpClientGetLeaseInterval()
및 otSrpClientGetKeyLeaseInterval()
의 기본 임대 또는 키 임대 간격이 사용됩니다. 키 임대 간격 (명시적으로 또는 기본값에서 결정됨)이 서비스의 임대 간격보다 짧은 경우 SRP 클라이언트는 키 임대 간격에도 임대 간격 값을 다시 사용합니다. 예를 들어 mLease
서비스에서 명시적으로 2일로 설정되고 mKeyLease
이 0으로 설정되고 기본 키 임대가 1일로 설정된 경우, 이 서비스를 등록할 때 이 서비스에 대해 요청된 키 임대도 2일로 설정됩니다.
otSrpServerAddressMode
enum otSrpServerAddressMode otSrpServerAddressMode
이 열거형은 SRP 서버에서 사용되는 주소 모드를 나타냅니다.
주소 모드는 SRP 서버에서 주소와 포트 번호를 결정하는 방법과 이 정보가 스레드 네트워크 데이터에 게시되는 방식을 지정합니다.
otSrpServerLeaseConfig 클래스의 생성자
struct otSrpServerLeaseConfig otSrpServerLeaseConfig
이 구조에는 SRP 서버 LEASE 및 KEY-LEASE 구성이 포함됩니다.
otSrpServerLeaseInfo
struct otSrpServerLeaseInfo otSrpServerLeaseInfo
이 구조에는 호스트/서비스의 SRP 서버 임대 정보가 포함됩니다.
otSrpServerResponseCounters
struct otSrpServerResponseCounters otSrpServerResponseCounters
이 구조에는 SRP 서버 응답의 통계가 포함됩니다.
otSrpServerService 인터페이스의 메소드
struct otSrpServerService otSrpServerService
이 불투명 유형은 SRP 서비스를 나타냅니다.
otSrpServerServiceFlags
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 서비스 관찰자는 업데이트 이벤트를 받은 직후에 항상 OT_ERROR_NONE 오류 코드로 otSrpServerHandleServiceUpdateResult를 호출해야 합니다.
보다 일반적인 핸들러는 SRP 호스트/서비스에서 검증을 수행할 수 있으며 검증이 실패하면 SRP 업데이트를 거부할 수 있습니다. 예를 들어 광고 프록시는 멀티캐스트 가능한 링크에 호스트와 서비스를 광고 (또는 삭제)하고 오류가 발생하면 특정 오류 코드를 반환해야 합니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult
otSrpServerServiceUpdateId 클래스의 생성자
uint32_t otSrpServerServiceUpdateId
SRP 서버의 SRP 서비스 업데이트 트랜잭션 ID입니다.
otSrpServerTtlConfig 클래스의 생성자
struct otSrpServerTtlConfig otSrpServerTtlConfig
이 구조에는 SRP 서버 TTL 구성이 포함됩니다.
함수
otSrpClientAddService
otError otSrpClientAddService( otInstance *aInstance, otSrpClientService *aService )
이 함수는 서버에 등록할 서비스를 추가합니다.
이 함수가 성공적으로 호출되면 SRP 서버를 통한 서비스 추가/등록 상태를 보고하기 위해 otSrpClientCallback
가 호출됩니다.
aService
에서 가리키는 otSrpClientService
인스턴스는 이 함수(OT_ERROR_NONE
사용)에서 돌아온 후에도 유지되며 변경되지 않아야 합니다(MUST). OpenThread는 포인터를 서비스 인스턴스에 저장합니다.
otSrpClientService
인스턴스는 더 이상 OpenThread에서 추적되지 않으며 다음과 같은 경우에만 회수될 수 있습니다.
otSrpClientRemoveService()
호출로 명시적으로 삭제되거나otSrpClientRemoveHostAndServices() and only after the
otSrpClientCallback` 호출로 인해 다른 서비스와 함께 삭제되어 서비스가 삭제되었음을 나타냅니다. 또는,- 호스트 및 모든 관련 서비스를 즉시 삭제하는
otSrpClientClearHostAndServices()
호출
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
otSrpClientBuffersAllocateService 클래스의 생성자
otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService( otInstance *aInstance )
이 함수는 풀에서 새 서비스 항목을 할당합니다.
반환된 서비스 항목 인스턴스는 다음과 같이 초기화됩니다.
mService.mName
는otSrpClientBuffersGetServiceEntryServiceNameString()
함수를 사용하여 검색할 수 있는 할당된 문자열 버퍼를 가리킵니다.mService.mInstanceName
는otSrpClientBuffersGetServiceEntryInstanceNameString()
함수를 사용하여 검색할 수 있는 할당된 문자열 버퍼를 가리킵니다.mService.mSubTypeLabels
는otSrpClientBuffersGetSubTypeLabelsArray()
에서 반환된 배열을 가리킵니다.mService.mTxtEntries
는mTxtEntry
를 가리킵니다.mService.mNumTxtEntries
가 1로 설정됩니다.- 다른
mService
필드 (포트, 우선순위, 가중치)는 0으로 설정됩니다. mTxtEntry.mKey
는 NULL로 설정됩니다 (값은 이미 인코딩된 것으로 처리됩니다.).mTxtEntry.mValue
는otSrpClientBuffersGetServiceEntryTxtBuffer()
함수를 사용하여 가져올 수 있는 할당된 버퍼를 가리킵니다.mTxtEntry.mValueLength
는 0으로 설정됩니다.- 모든 관련 데이터/문자열 버퍼 및 배열이 모두 0으로 지워집니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
새로 할당된 서비스 항목에 대한 포인터이거나 풀에 더 이상 항목이 없으면 NULL입니다.
|
otSrpClientBuffersFreeAllServices
void otSrpClientBuffersFreeAllServices( otInstance *aInstance )
이 함수는 이전에 할당된 모든 서비스 항목을 해제합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
otSrpClientBuffersFreeService 열거형
void otSrpClientBuffersFreeService( otInstance *aInstance, otSrpClientBuffersServiceEntry *aService )
이 함수는 이전에 할당된 서비스 항목을 해제합니다.
aService
는 이전에 otSrpClientBuffersAllocateService()
를 사용하여 할당되어야 하며 아직 해제되지 않아야 합니다. 그렇지 않으면 이 함수의 동작이 정의되지 않습니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otSrpClientBuffersGetHostAddressArray
otIp6Address * otSrpClientBuffersGetHostAddressesArray( otInstance *aInstance, uint8_t *aArrayLength )
이 함수는 SRP 클라이언트 호스트 주소 목록으로 사용할 IPv6 주소 항목의 배열을 가져옵니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
otIp6Address 항목 배열에 대한 포인터입니다 (항목 수가 aArrayLength 에 반환됩니다). |
otSrpClientBuffersGetHostNameString 클래스의 생성자
char * otSrpClientBuffersGetHostNameString( otInstance *aInstance, uint16_t *aSize )
이 함수는 SRP 클라이언트 호스트 이름에 사용할 문자열 버퍼를 가져옵니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
SRP 클라이언트 호스트 이름에 사용할 문자 버퍼에 대한 포인터입니다.
|
otSrpClientBuffersGetServiceEntryInstanceNameString 클래스의 생성자
char * otSrpClientBuffersGetServiceEntryInstanceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
이 함수는 서비스 항목에서 서비스 인스턴스 이름의 문자열 버퍼를 가져옵니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
문자열 버퍼를 가리키는 포인터입니다.
|
otSrpClientBuffersGetServiceEntryServiceNameString 클래스의 생성자
char * otSrpClientBuffersGetServiceEntryServiceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
이 함수는 서비스 항목에서 서비스 이름의 문자열 버퍼를 가져옵니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
문자열 버퍼를 가리키는 포인터입니다.
|
otSrpClientBuffersGetServiceEntryTxtBuffer
uint8_t * otSrpClientBuffersGetServiceEntryTxtBuffer( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
이 함수는 서비스 항목에서 TXT 레코드의 버퍼를 가져옵니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
버퍼에 대한 포인터입니다.
|
otSrpClientBuffersGetSubTypeLabelsArray
const char ** otSrpClientBuffersGetSubTypeLabelsArray( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength )
이 함수는 서비스 항목에서 서비스 하위유형 라벨의 배열을 가져옵니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
배열에 대한 포인터입니다.
|
otSrpClientClearHostAndServices
void otSrpClientClearHostAndServices( otInstance *aInstance )
이 함수는 모든 호스트 정보와 모든 서비스를 삭제합니다.
모든 정보를 삭제하기 위해 서버에 업데이트 메시지를 전송하는 otSrpClientRemoveHostAndServices()
와 달리 이 함수는 서버와의 상호작용 없이 모든 정보를 즉시 지웁니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
otSrpClientClearService
otError otSrpClientClearService( otInstance *aInstance, otSrpClientService *aService )
이 함수는 서비스를 지우고 클라이언트 서비스 목록에서 즉시 삭제합니다.
서비스를 삭제하기 위해 서버에 업데이트 메시지를 보내는 otSrpClientRemoveService()
와 달리 이 함수는 서버와의 상호작용 없이 클라이언트의 서비스 목록에서 서비스를 지웁니다. 이 함수가 성공적으로 호출되면 otSrpClientCallback
가 호출되지 않으며 호출자가 aService
항목을 즉시 회수하여 재사용할 수 있습니다.
이 함수는 후속 otSrpClientAddService()
호출 (같은 서비스와 인스턴스 이름으로 동일한 aService
항목을 재사용할 수 있음)과 함께 사용하여 기존 서비스의 일부 매개변수를 업데이트할 수 있습니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
otSrpClientDisableAutoStartMode
void otSrpClientDisableAutoStartMode( otInstance *aInstance )
이 함수는 자동 시작 모드를 사용 중지합니다.
OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
자동 시작 기능이 사용 설정된 경우에만 사용할 수 있습니다.
자동 시작 모드를 사용 중지해도 클라이언트가 이미 실행 중인 경우에는 중지되지 않지만 클라이언트가 스레드 네트워크 데이터 모니터링을 중지하여 선택한 SRP 서버가 여전히 존재하는지 확인합니다.
otSrpClientStop()
를 호출하면 자동 시작 모드도 사용 중지됩니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
otSrpClientEnableAutoHostAddress )
otError otSrpClientEnableAutoHostAddress( otInstance *aInstance )
이 함수는 자동 호스트 주소 모드를 사용 설정합니다.
사용 설정된 경우 호스트 IPv6 주소가 SRP 클라이언트에 의해 자동으로 설정되며 모든 링크-로컬 및 메시-로컬 주소를 제외한 스레드 netif의 모든 유니캐스트 주소를 사용합니다. 유효한 주소가 없으면 메시 로컬 EID 주소가 추가됩니다. SRP 클라이언트는 대화목록 Netif의 주소가 업데이트되면 자동으로 재등록됩니다 (새 주소가 추가되거나 기존 주소가 삭제됨).
자동 호스트 주소 모드는 호스트 정보가 삭제되는 경우를 제외하고 SRP 클라이언트의 시작 전이나 작동 중에 사용 설정할 수 있습니다 (클라이언트가 otSrpClientRemoveHostAndServices()
호출에서 삭제 요청을 처리 중이고 호스트 정보가 여전히 STATE_TO_REMOVE
또는 STATE_REMOVING
상태인 경우).
자동 호스트 주소 모드가 사용 설정되면 otSrpClientSetHostAddresses()
를 호출하여 사용 중지할 수 있으며, 이 경우 호스트 주소를 명시적으로 설정합니다.
세부정보 | |||||
---|---|---|---|---|---|
반환 값 |
|
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 서버의 존재를 나타내는 세 가지 카테고리가 있습니다. 권장 순서는 다음과 같습니다.
1) 서버 주소가 서비스 데이터에 포함된 경우 선호하는 유니캐스트 항목 옵션이 여러 개 있는 경우 IPv6 주소가 가장 낮은 옵션이 우선적으로 사용됩니다.
2) 각각 seq 번호가 있는 Anycast 항목. RFC-1982의 일련번호 연산 로직에 지정된 의미에서 더 큰 시퀀스 번호는 더 최신인 것으로 간주되므로 선호됩니다. 일련번호 연산을 사용하는 가장 큰 순차 번호가 잘 정의된 경우 (즉, 순차 번호가 다른 모든 순차 번호보다 큰 경우) 선호됩니다. 잘 정의되지 않은 경우 숫자로 된 가장 큰 시퀀스 번호가 선호됩니다.
3) 서버 주소 정보가 서버 데이터에 포함된 Unicast 항목입니다. 옵션이 여러 개 있는 경우 IPv6 주소가 가장 낮은 옵션이 우선적으로 사용됩니다.
네트워크 데이터 항목이 변경되면 클라이언트는 현재 선택한 서버가 여전히 네트워크 데이터에 있으며 여전히 선호하는 서버인지 확인합니다. 그렇지 않으면 클라이언트가 새 기본 서버로 전환되거나, 새로운 서버가 없으면 중지됩니다.
SRP 클라이언트가 성공적인 otSrpClientStart()
호출을 통해 시작되면 otSrpClientStart()
의 지정된 SRP 서버 주소는 자동 시작 모드 상태와 동일한 SRP 서버 주소가 스레드 네트워크 데이터에서 검색되는지 여부와 관계없이 계속 사용됩니다. 이 경우 명시적인 otSrpClientStop()
호출만 클라이언트를 중지합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
otSrpClientGetDomainName
const char * otSrpClientGetDomainName( otInstance *aInstance )
이 함수는 SRP 클라이언트에서 사용 중인 도메인 이름을 가져옵니다.
이 함수를 사용하려면 OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE
를 사용 설정해야 합니다.
도메인 이름이 설정되지 않은 경우 'default.service.arpa'가 사용됩니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
도메인 이름 문자열입니다.
|
otSrpClientGetHostInfo
const otSrpClientHostInfo * otSrpClientGetHostInfo( otInstance *aInstance )
이 함수는 호스트 정보를 가져옵니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
호스트 정보 구조를 가리키는 포인터입니다.
|
otSrpClientGetKeyLeaseInterval
uint32_t otSrpClientGetKeyLeaseInterval( otInstance *aInstance )
이 함수는 SRP 업데이트 요청에 사용되는 기본 키 임대 간격을 가져옵니다.
기본 간격은 mKeyLease
이 0으로 설정된 otSrpClientService
인스턴스에만 사용됩니다.
이는 SRP 클라이언트에서 요청한 임대 기간입니다. 서버는 다른 임대 간격을 수락할 수 있습니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
키 임대 간격 (초)입니다.
|
otSrpClientGetLeaseInterval
uint32_t otSrpClientGetLeaseInterval( otInstance *aInstance )
이 함수는 SRP 업데이트 요청에 사용된 기본 임대 간격을 가져옵니다.
기본 간격은 mLease
이 0으로 설정된 otSrpClientService
인스턴스에만 사용됩니다.
이는 SRP 클라이언트에서 요청한 임대 기간입니다. 서버는 다른 임대 간격을 수락할 수 있습니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
임대 간격 (초)입니다.
|
otSrpClientGetServerAddress 클래스의 생성자
const otSockAddr * otSrpClientGetServerAddress( otInstance *aInstance )
이 함수는 SRP 클라이언트에서 사용 중인 SRP 서버의 소켓 주소 (IPv6 주소 및 포트 번호)를 가져옵니다.
클라이언트가 실행되고 있지 않으면 주소가 지정되지 않으며 (모두 0), 포트 번호가 0이 됩니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
SRP 서버의 소켓 주소에 대한 포인터입니다 (항상 NULL이 아님).
|
otSrpClientGetServices
const otSrpClientService * otSrpClientGetServices( otInstance *aInstance )
이 함수는 클라이언트에서 관리하는 서비스 목록을 가져옵니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
모든 서비스의 연결된 목록 헤드에 대한 포인터 또는 목록이 비어 있는 경우 NULL
|
otSrpClientGetTtl
uint32_t otSrpClientGetTtl( otInstance *aInstance )
이 함수는 SRP 업데이트 요청에 포함된 모든 레코드의 TTL 값을 가져옵니다.
이는 SRP 클라이언트에서 요청한 TTL입니다. 서버가 다른 TTL을 허용하도록 선택할 수 있습니다.
기본적으로 TTL은 임대 간격과 같습니다. otSrpClientSetTtl()
를 통해 0 또는 임대 간격보다 큰 값을 전달하면 TTL도 임대 간격과 같습니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
TTL (초)입니다.
|
otSrpClientIsAutoStartModeEnabled
bool otSrpClientIsAutoStartModeEnabled( otInstance *aInstance )
이 함수는 자동 시작 모드의 현재 상태 (사용 또는 사용 중지)를 나타냅니다.
OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
자동 시작 기능이 사용 설정된 경우에만 사용할 수 있습니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
자동 시작 모드가 사용 설정되어 있으면 TRUE, 그렇지 않으면 FALSE입니다.
|
otSrpClientIsRunning
bool otSrpClientIsRunning( otInstance *aInstance )
이 함수는 SRP 클라이언트가 실행 중인지 여부를 나타냅니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
SRP 클라이언트가 실행 중이면 TRUE, 그렇지 않으면 FALSE입니다.
|
otSrpClientIsServiceKeyRecordEnabled
bool otSrpClientIsServiceKeyRecordEnabled( otInstance *aInstance )
이 메서드는 '서비스 키 레코드 포함' 모드의 사용 설정 여부를 나타냅니다.
이 기능은 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
구성이 사용 설정된 경우에 사용할 수 있습니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
'서비스 키 레코드 포함' 모드가 사용 설정된 경우 TRUE, 사용 설정되지 않은 경우 FALSE입니다.
|
otSrpClientItemStateToString 클래스의 생성자
const char * otSrpClientItemStateToString( otSrpClientItemState aItemState )
이 함수는 otSrpClientItemState
를 문자열로 변환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
aItemState 의 문자열 표현입니다. |
otSrpClientRemoveHostAndServices
otError otSrpClientRemoveHostAndServices( otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer )
이 함수는 호스트 정보 및 모든 서비스의 삭제 프로세스를 시작합니다.
이 함수에서 반환된 후에는 SRP 서버를 사용하여 삭제 요청의 상태를 보고하기 위해 otSrpClientCallback
가 호출됩니다.
호스트 정보를 서버에서 영구 삭제하려면 aRemoveKeyLease
를 true
로 설정해야 합니다. 그러면 서버의 호스트와 연결된 키 임대가 삭제됩니다. 그러지 않으면 키 임대 레코드가 전과 같이 유지되므로 클라이언트가 다시 서비스를 제공하고 등록할 수 있을 때를 위해 서버에서 호스트 이름을 예약합니다.
aSendUnregToServer
는 호스트 정보가 아직 서버에 등록되지 않은 경우의 동작을 결정합니다. aSendUnregToServer
가 false
(기본값/예상 값)로 설정되면 SRP 클라이언트는 서버에 업데이트 메시지를 보내지 않고 즉시 호스트 정보 및 서비스를 삭제합니다 (아직 등록된 것이 없는 경우에는 서버를 업데이트할 필요가 없음). aSendUnregToServer
가 true
로 설정되면 SRP 클라이언트가 업데이트 메시지를 서버로 전송합니다. 호스트 정보가 등록되면 aSendUnregToServer
의 값은 중요하지 않으며 SRP 클라이언트는 항상 모든 정보를 삭제하도록 서버에 업데이트 메시지를 전송합니다.
aSendUnregToServer
가 유용할 수 있는 상황으로는 기기 재설정/재부팅이 있으며 호출자는 서버에 등록된 모든 서비스를 삭제하는 것이 좋습니다. 이 경우 호출자는 otSrpClientSetHostName()
한 다음 aSendUnregToServer
를 true
로 하여 otSrpClientRemoveHostAndServices()
을 요청할 수 있습니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
otSrpClientRemoveService
otError otSrpClientRemoveService( otInstance *aInstance, otSrpClientService *aService )
이 함수는 서버 등록을 취소하도록 서비스를 요청합니다.
이 함수가 성공적으로 호출되면 SRP 서버를 통해 삭제 요청의 상태를 보고하기 위해 otSrpClientCallback
가 호출됩니다.
aService
에서 가리키는 otSrpClientService
인스턴스는 이 함수에서 반환된 후에도 OT_ERROR_NONE
로 유지되고 변경되지 않아야 합니다 (MUST). OpenThread는 삭제 프로세스 중에 서비스 인스턴스를 유지합니다. otSrpClientCallback
가 호출된 후에만 서비스 인스턴스가 SRP 클라이언트 서비스 목록에서 삭제되고 해제 및 재사용할 수 있음을 나타냅니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
otSrpClientSetCallback
void otSrpClientSetCallback( otInstance *aInstance, otSrpClientCallback aCallback, void *aContext )
이 함수는 콜백을 설정하여 SRP 클라이언트의 이벤트/변경사항을 발신자에게 알립니다.
SRP 클라이언트를 사용하면 콜백 1개를 등록할 수 있습니다. 따라서 이 함수를 연속해서 호출하면 이전에 설정된 콜백 함수를 덮어씁니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
otSrpClientSetDomainName 클래스의 생성자
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
여야 함).
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
otSrpClientSetHostAddress
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는 포인터를 배열에 저장합니다.
이 함수가 성공적으로 호출되면 SRP 서버를 통한 주소 등록 상태를 보고하기 위해 otSrpClientCallback
가 호출됩니다.
이 함수를 호출하면 이전에 otSrpClientEnableAutoHostAddress()
호출을 통해 사용 설정된 자동 호스트 주소 모드가 사용 중지됩니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
otSrpClientSet호스트 이름
otError otSrpClientSetHostName( otInstance *aInstance, const char *aName )
이 함수는 호스트 이름 라벨을 설정합니다.
이 함수가 성공적으로 호출되면 SRP 서버를 통한 호스트 정보 등록 상태를 보고하기 위해 otSrpClientCallback
가 호출됩니다.
aName
에서 가리키는 이름 문자열 버퍼는 이 함수에서 반환된 후에도 변경되지 않고 변경되지 않아야 합니다(MUST). OpenThread는 문자열에 대한 포인터를 유지합니다.
호스트 이름은 클라이언트가 시작되기 전 또는 시작 후에 설정할 수 있지만 호스트 정보는 서버에 등록되기 전에 설정할 수 있습니다 (호스트 정보는 STATE_TO_ADD
또는 STATE_REMOVED
에 있어야 함).
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
otSrpClientSetKeyLeaseInterval
void otSrpClientSetKeyLeaseInterval( otInstance *aInstance, uint32_t aInterval )
이 함수는 SRP 업데이트 요청에 사용되는 기본 키 임대 간격을 설정합니다.
기본 간격은 mKeyLease
이 0으로 설정된 otSrpClientService
인스턴스에만 사용됩니다.
임대 간격을 변경해도 이미 등록된 서비스/호스트 정보에서 허용된 임대 간격에는 영향을 미치지 않습니다. 향후 SRP 업데이트 메시지 (즉, 새 서비스 추가 또는 기존 서비스 새로고침)에만 영향을 줍니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otSrpClientSetLeaseInterval
void otSrpClientSetLeaseInterval( otInstance *aInstance, uint32_t aInterval )
이 함수는 SRP 업데이트 요청에 사용되는 기본 임대 간격을 설정합니다.
기본 간격은 mLease
이 0으로 설정된 otSrpClientService
인스턴스에만 사용됩니다.
임대 간격을 변경해도 이미 등록된 서비스/호스트 정보에서 허용된 임대 간격에는 영향을 미치지 않습니다. 향후 SRP 업데이트 메시지 (즉, 새 서비스 추가 또는 기존 서비스 새로고침)에만 영향을 줍니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otSrpClientSetServiceKeyRecordEnabled
void otSrpClientSetServiceKeyRecordEnabled( otInstance *aInstance, bool aEnabled )
이 함수는 '서비스 키 레코드 포함' 모드를 사용 설정/사용 중지합니다.
사용 설정하면 SRP 클라이언트는 전송하는 SRP 업데이트 메시지의 서비스 설명 안내에 KEY 레코드를 포함합니다.
이 기능은 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
구성이 사용 설정된 경우에 사용할 수 있습니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otSrpClientSetTtl
void otSrpClientSetTtl( otInstance *aInstance, uint32_t aTtl )
이 함수는 SRP 업데이트 요청에 포함된 모든 레코드에 TTL 값을 설정합니다.
TTL을 변경해도 이미 등록된 서비스/host-info의 TTL에는 영향을 미치지 않으며 향후 SRP 업데이트 메시지 (즉, 새 서비스 추가 또는 기존 서비스의 새로고침)에만 영향을 미칩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otSrpClientStart
otError otSrpClientStart( otInstance *aInstance, const otSockAddr *aServerSockAddr )
이 함수는 SRP 클라이언트 작업을 시작합니다.
SRP 클라이언트는 다음 조건이 모두 충족되면 'SRP 업데이트' 메시지를 준비하여 SRP 서버로 전송합니다.
- SRP 클라이언트가 시작되었습니다.
otSrpClientStart()
가 호출됩니다. - 호스트 이름이 설정되었습니다.
otSrpClientSetHostName()
가 호출됩니다. - 하나 이상의 호스트 IPv6 주소가 설정되었습니다.
otSrpClientSetHostName()
가 호출됩니다. - 서비스가 하나 이상 추가되었습니다.
otSrpClientAddService()
가 호출됩니다.
이러한 함수가 호출되는 순서는 중요하지 않습니다. 모든 조건이 충족되면 SRP 클라이언트는 'SRP 업데이트' 메시지를 준비하고 서버로 전송하기 전에 잠시 기다립니다. 이러한 지연을 통해 사용자는 첫 번째 SRP 업데이트 메시지가 전송되기 전에 여러 서비스 또는 IPv6 주소를 추가할 수 있습니다 (모든 정보가 포함된 단일 SRP 업데이트가 전송되도록 함). OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY
구성은 지연 간격을 지정합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
otSrpClientStop
void otSrpClientStop( otInstance *aInstance )
이 함수는 SRP 클라이언트 작업을 중지합니다.
이 함수는 SRP 서버와의 추가 상호작용을 중지합니다. 호스트 정보 또는 서비스 목록은 삭제되거나 삭제되지 않습니다. 클라이언트가 다시 시작 (다시)되면 모든 서비스가 다시 추가/제거되도록 표시합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
otSrpServerGetAddressMode
otSrpServerAddressMode otSrpServerGetAddressMode( otInstance *aInstance )
이 함수는 SRP 서버에서 사용 중인 주소 모드를 반환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
SRP 서버의 주소 모드입니다.
|
otSrpServerGetAnycastModeSequenceNumber
uint8_t otSrpServerGetAnycastModeSequenceNumber( otInstance *aInstance )
이 함수는 Anycast 주소 모드에 사용되는 순서 번호를 반환합니다.
시퀀스 번호는 네트워크 데이터에 게시된 'DNS/SRP 서비스 Anycast 주소' 항목에 포함되어 있습니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
Anycast 시퀀스 번호입니다.
|
otSrpServerGetDomain 클래스의 생성자
const char * otSrpServerGetDomain( otInstance *aInstance )
이 함수는 SRP 서버에 승인된 도메인을 반환합니다.
SetDomain에서 설정하지 않은 도메인인 경우 'default.service.arpa.'가 반환됩니다. 도메인이 끝에 설정되지 않아도 항상 끝에 마침표가 추가됩니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
점 조인된 도메인 문자열에 대한 포인터입니다.
|
otSrpServerGetLeaseConfig 클래스의 생성자
void otSrpServerGetLeaseConfig( otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig )
이 함수는 SRP 서버 LEASE 및 KEY-LEASE 구성을 반환합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otSrpServerGetNextHost 클래스의 생성자
const otSrpServerHost * otSrpServerGetNextHost( otInstance *aInstance, const otSrpServerHost *aHost )
이 함수는 SRP 서버에 등록된 다음 호스트를 반환합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
등록된 호스트에 대한 포인터입니다. NULL(더 이상 호스트를 찾을 수 없는 경우)
|
otSrpServerGetPort 클래스의 생성자
uint16_t otSrpServerGetPort( otInstance *aInstance )
이 함수는 SRP 서버가 수신 대기하는 포트를 반환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
SRP 서버의 포트입니다. 서버가 실행 중이 아니면 0을 반환합니다.
|
otSrpServerGetResponseCounters
const otSrpServerResponseCounters * otSrpServerGetResponseCounters( otInstance *aInstance )
이 함수는 SRP 서버의 응답 카운터를 반환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
SRP 서버의 응답 카운터를 가리키는 포인터입니다.
|
otSrpServerGetState 클래스의 생성자
otSrpServerState otSrpServerGetState( otInstance *aInstance )
이 함수는 SRP 서버의 상태를 반환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
SRP 서버의 현재 상태입니다.
|
otSrpServerGetTtlConfig 클래스의 생성자
void otSrpServerGetTtlConfig( otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig )
이 함수는 SRP 서버 TTL 구성을 반환합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otSrpServerHandleServiceUpdateResult 클래스의 생성자
void otSrpServerHandleServiceUpdateResult( otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError )
이 함수는 SRP 업데이트를 SRP 서버로 처리한 결과를 보고합니다.
서비스 업데이트 핸들러는 이 함수를 호출하여 SRP 업데이트 처리 결과를 반환해야 합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
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);
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||
반환 |
일치하는 다음 서비스를 가리키는 포인터 또는 일치하는 서비스를 찾을 수 없는 경우 NULL
|
otSrpServerHostGetAddress
const otIp6Address * otSrpServerHostGetAddresses( const otSrpServerHost *aHost, uint8_t *aAddressesNum )
이 함수는 지정된 호스트의 주소를 반환합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
IPv6 주소 배열에 대한 포인터입니다.
|
otSrpServerHostGetFullName 클래스의 생성자
const char * otSrpServerHostGetFullName( const otSrpServerHost *aHost )
이 함수는 호스트의 전체 이름을 반환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
null로 끝나는 호스트 이름 문자열을 가리키는 포인터입니다.
|
otSrpServerHostGetLeaseInfo 클래스의 생성자
void otSrpServerHostGetLeaseInfo( const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo )
이 함수는 지정된 호스트의 LEASE 및 KEY-LEASE 정보를 반환합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otSrpServerHostGetNextService 클래스의 생성자
const otSrpServerService * otSrpServerHostGetNextService( const otSrpServerHost *aHost, const otSrpServerService *aService )
이 함수는 지정된 호스트의 다음 서비스 (하위 유형 서비스 제외)를 반환합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
다음 서비스를 가리키는 포인터 또는 더 이상 서비스가 없으면 NULL
|
otSrpServerHostIsDeleted
bool otSrpServerHostIsDeleted( const otSrpServerHost *aHost )
이 함수는 SRP 서비스 호스트가 삭제되었는지 알려줍니다.
SRP 서비스 호스트는 삭제할 수 있지만 향후 사용을 위해 이름을 유지합니다. 이 경우 호스트 인스턴스가 SRP 서버/레지스트리에서 삭제되지 않습니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
호스트가 삭제된 경우 TRUE, 삭제되지 않은 경우 FALSE입니다.
|
otSrpServerIsAutoEnableMode
bool otSrpServerIsAutoEnableMode( otInstance *aInstance )
이 함수는 자동 사용 모드의 사용 설정 여부를 나타냅니다.
이 함수에는 OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE
기능이 필요합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
otSrpServerServiceGetFullName 클래스의 생성자
const char * otSrpServerServiceGetFullName( const otSrpServerService *aService )
이 함수는 서비스의 전체 서비스 인스턴스 이름을 반환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
null로 끝나는 서비스 인스턴스 이름 문자열에 대한 포인터입니다.
|
otSrpServerServiceGetHost 클래스의 생성자
const otSrpServerHost * otSrpServerServiceGetHost( const otSrpServerService *aService )
이 함수는 서비스 인스턴스가 있는 호스트를 반환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
호스트 인스턴스에 대한 포인터입니다.
|
otSrpServerServiceGetInstanceName 클래스의 생성자
const char * otSrpServerServiceGetInstanceName( const otSrpServerService *aService )
이 함수는 서비스의 전체 서비스 인스턴스 이름을 반환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
null로 끝나는 서비스 인스턴스 이름 문자열에 대한 포인터입니다.
|
otSrpServerServiceGetLeaseInfo
void otSrpServerServiceGetLeaseInfo( const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo )
이 함수는 지정된 서비스의 LEASE 및 KEY-LEASE 정보를 반환합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otSrpServerServiceGetPort 클래스의 생성자
uint16_t otSrpServerServiceGetPort( const otSrpServerService *aService )
이 함수는 서비스 인스턴스의 포트를 반환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
서비스의 포트입니다.
|
otSrpServerServiceGetPriority
uint16_t otSrpServerServiceGetPriority( const otSrpServerService *aService )
이 함수는 서비스 인스턴스의 우선순위를 반환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
서비스의 우선순위입니다.
|
otSrpServerServiceGetServiceName 클래스의 생성자
const char * otSrpServerServiceGetServiceName( const otSrpServerService *aService )
이 함수는 서비스의 전체 서비스 이름을 반환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
null로 끝나는 서비스 이름 문자열에 대한 포인터입니다.
|
otSrpServerServiceGetServiceSubTypeLabel
otError otSrpServerServiceGetServiceSubTypeLabel( const otSrpServerService *aService, char *aLabel, uint8_t aMaxSize )
이 함수는 서비스 이름에서 하위 유형 라벨을 가져옵니다.
이 함수는 aService
가 하위 유형일 때 사용하기 위한 것입니다. 서비스의 otSrpServerServiceIsSubType()
은 TRUE를 반환합니다. 하위 유형이 아닌 경우 이 함수는 OT_ERROR_INVALID_ARGS
를 반환합니다.
하위 유형 서비스의 전체 서비스 이름은 '
를 aLabel
버퍼에 복사합니다.
aLabel
는 실패하더라도 반환 후 항상 null로 종료되도록 합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
otSrpServerServiceGetTtl )
uint32_t otSrpServerServiceGetTtl( const otSrpServerService *aService )
이 함수는 서비스 인스턴스의 TTL을 반환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
서비스 인스턴스의 TTL입니다.
|
otSrpServerServiceGetTxtData
const uint8_t * otSrpServerServiceGetTxtData( const otSrpServerService *aService, uint16_t *aDataLength )
이 함수는 서비스 인스턴스의 TXT 레코드 데이터를 반환합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
TXT 레코드 데이터가 포함된 버퍼에 대한 포인터입니다 (TXT 데이터 길이는
aDataLength 에 반환됨). |
otSrpServerServiceGetWeight
uint16_t otSrpServerServiceGetWeight( const otSrpServerService *aService )
이 함수는 서비스 인스턴스의 가중치를 반환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
서비스의 가중치입니다.
|
otSrpServerServiceIsDeleted
bool otSrpServerServiceIsDeleted( const otSrpServerService *aService )
이 함수는 SRP 서비스가 삭제되었는지 여부를 나타냅니다.
SRP 서비스는 삭제할 수 있지만 향후 사용을 위해 이름을 유지합니다. 이 경우 서비스 인스턴스는 SRP 서버/레지스트리에서 삭제되지 않습니다. 호스트가 삭제되면 모든 서비스가 삭제됩니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
서비스가 삭제된 경우 TRUE, 삭제되지 않은 경우 FALSE입니다.
|
otSrpServerServiceIsSubType 클래스의 생성자
bool otSrpServerServiceIsSubType( const otSrpServerService *aService )
이 함수는 SRP 서비스가 하위 유형인지 여부를 나타냅니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
서비스가 하위 유형이면 TRUE, 그렇지 않으면 FALSE입니다.
|
otSrpServerSetAddressMode
otError otSrpServerSetAddressMode( otInstance *aInstance, otSrpServerAddressMode aMode )
이 함수는 SRP 서버에서 사용할 주소 모드를 설정합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
otSrpServerSetAnycastModeSequenceNumber
otError otSrpServerSetAnycastModeSequenceNumber( otInstance *aInstance, uint8_t aSequenceNumber )
이 함수는 Anycast 주소 모드에 사용되는 순서 번호를 설정합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
otSrpServerSetAutoEnableMode
void otSrpServerSetAutoEnableMode( otInstance *aInstance, bool aEnabled )
이 함수는 SRP 서버에서 자동 사용 모드를 사용 설정/사용 중지합니다.
이 함수에는 OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE
기능이 필요합니다.
이 모드를 사용하면 경계 라우팅 관리자가 SRP 서버를 사용 또는 사용 중지할지 여부를 결정합니다. SRP 서버는 경계 라우팅이 시작되어 초기 프리픽스 및 경로 구성 (OMR 및 on-link 프리픽스가 결정되고 인프라 측의 내보낸 라우터 공지 메시지에 공지되고 스레드 네트워크 데이터에 게시될 때)으로 완료되는 경우 자동으로 사용 설정됩니다. BR이 중지된 경우 (예: 인프라 네트워크 인터페이스가 다운되거나 BR이 분리되는 경우) SRP 서버가 자동으로 사용 중지됩니다.
이 모드는 aEnabled
가 false
로 설정된 otSrpServerSetAutoEnableMode()
호출에서 사용 중지되거나 SRP 서버가 otSrpServerSetEnabled()
함수 호출에 의해 명시적으로 사용 설정 또는 사용 중지된 경우에 사용 중지할 수 있습니다. otSrpServerSetAutoEnableMode(false)
를 사용하여 자동 사용 모드를 사용 중지해도 SRP 서버의 현재 상태는 변경되지 않습니다 (예: 사용 설정된 경우 사용 설정된 상태로 유지됨).
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otSrpServerSet도메인
otError otSrpServerSetDomain( otInstance *aInstance, const char *aDomain )
이 함수는 SRP 서버에 도메인을 설정합니다.
aDomain
에 후행 점이 추가되지 않은 경우 추가됩니다. 이 함수는 SRP 서버가 사용 설정되기 전에만 호출되어야 합니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
otSrpServerSetEnabled
void otSrpServerSetEnabled( otInstance *aInstance, bool aEnabled )
이 함수는 SRP 서버를 사용 설정/사용 중지합니다.
보더 라우터에서는 대신 otSrpServerSetAutoEnableMode()
를 사용하는 것이 좋습니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otSrpServerSetLeaseConfig 클래스의 생성자
otError otSrpServerSetLeaseConfig( otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig )
이 함수는 SRP 서버 LEASE 및 KEY-LEASE 구성을 설정합니다.
클라이언트에서 LEASE가 0이 아닌 시간이 요청되면 부여된 값은 [aMinLease, aMaxLease] 범위에서 제한되고 0이 아닌 KEY-LEASE는 [aMinKeyLease, aMaxKeyLease] 범위에서 부여됩니다. LEASE 0 또는 KEY-LEASE 시간에는 0이 부여됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
otSrpServerSetServiceUpdateHandler )
void otSrpServerSetServiceUpdateHandler( otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext )
이 함수는 SRP 서버에서 SRP 서비스 업데이트 핸들러를 설정합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
otSrpServerSetTtlConfig 클래스의 생성자
otError otSrpServerSetTtlConfig( otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig )
이 함수는 SRP 서버 TTL 구성을 설정합니다.
부여된 TTL은 최소 및 최대 TTL 구성과 관계없이 항상 otSrpServerSetLeaseConfig()
를 통해 구성된 최대 임대 간격보다 크지 않습니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
자료
OpenThread API 참조 주제는 GitHub에서 제공되는 소스 코드에서 비롯됩니다. 자세한 내용을 보거나 문서에 참여하려면 리소스를 참고하세요.