IPv6

Bu modülde IPv6 iletişimini kontrol eden işlevler yer almaktadır.

Özet

Sıralamalar

anonymous enum{
  OT_ADDRESS_ORIGIN_THREAD = 0,
  OT_ADDRESS_ORIGIN_SLAAC = 1,
  OT_ADDRESS_ORIGIN_DHCPV6 = 2,
  OT_ADDRESS_ORIGIN_MANUAL = 3
}
enum
IPv6 Adres kaynakları.
anonymous enum{
  OT_ECN_NOT_CAPABLE = 0x0,
  OT_ECN_CAPABLE_0 = 0x2,
  OT_ECN_CAPABLE_1 = 0x1,
  OT_ECN_MARKED = 0x3
}
enum
IP üstbilgisinde gösterilen ECN durumları.
anonymous enum{
  OT_IP6_PROTO_HOP_OPTS = 0,
  OT_IP6_PROTO_TCP = 6,
  OT_IP6_PROTO_UDP = 17,
  OT_IP6_PROTO_IP6 = 41,
  OT_IP6_PROTO_ROUTING = 43,
  OT_IP6_PROTO_FRAGMENT = 44,
  OT_IP6_PROTO_ICMP6 = 58,
  OT_IP6_PROTO_NONE = 59,
  OT_IP6_PROTO_DST_OPTS = 60
}
enum
İnternet Protokolü Numaraları.

Türler

otIp6Address Tür
struct otIp6Address
Bu yapı bir IPv6 adresini temsil eder.
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) Tür
void(*
Bu işlev işaretçisi, dahili bir IPv6 adresi eklendiğinde veya kaldırıldığında çağrılır.
otIp6AddressComponents Tür
Bu yapı, bir IPv6 adresinin bileşenlerini temsil eder.
otIp6AddressInfo Tür
otIp6InterfaceIdentifier Tür
Bu yapı, bir IPv6 adresinin Arayüz Tanımlayıcısını temsil eder.
otIp6NetworkPrefix Tür
Bu yapı, bir IPv6 adresinin Ağ Ön Eki'ni (adresin en önemli 64 biti) temsil eder.
otIp6Prefix Tür
struct otIp6Prefix
Bu yapı bir IPv6 önekini temsil eder.
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext) Tür
void(*
Bu işlev işaretçisi, bir IPv6 Datagram alındığında çağrılır.
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) Tür
void(*
Bu işlev işaretçisi, otIp6RegisterMulticastListeners sonuçlarıyla çağrılır.
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix) Tür
bool(*
Bu işlev işaretçisi, kullanıcının ön ekleri filtrelemesine olanak tanır ve bir ön eke dayalı SLAAC adresinin eklenmesine izin vermez.
otMessageInfo Tür
struct otMessageInfo
Bu yapı, yerel ve eşler IPv6 yuva adreslerini temsil eder.
otNetifAddress Tür
Bu yapı bir IPv6 ağ arayüzü unicast adresini temsil eder.
otNetifMulticastAddress Tür
Bu yapı IPv6 ağ arayüzü çoklu yayın adresini temsil eder.
otSockAddr Tür
struct otSockAddr
Bu yapı IPv6 yuva adresini temsil eder.

Değişkenler

OT_TOOL_PACKED_END

İşlevler

otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
Mesaj Dizisi arayüzüne Ağ Arayüzü Adresi ekleyin.
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
Bu işlev, izin verilen güvenli olmayan bağlantı noktası listesine bir bağlantı noktası ekler.
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
Bu işlev, kullanıcıların okuyabileceği bir IPv6 adres dizesini ikili gösterime dönüştürür.
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
void
Bu işlev, belirli bir IPv6 adresini kullanıcılar tarafından okunabilir bir dizeye dönüştürür.
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
bool
İki IPv6 önekinin aynı olup olmadığını test edin.
otIp6GetMulticastAddresses(otInstance *aInstance)
Thread arayüzüne abone olan IPv6 çoklu yayın adreslerinin listesini alın.
otIp6GetUnicastAddresses(otInstance *aInstance)
const otNetifAddress *
Mesaj Dizisi arayüzüne atanan IPv6 adreslerinin listesini alın.
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
Bu işlev, güvenli olmayan bağlantı noktası listesine bir işaretçi döndürür.
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
bool
İki IPv6 adresinin aynı olup olmadığını test edin.
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
bool
Bu işlev, belirli bir IPv6 adresinin Belirtilmemiş Adres olup olmadığını gösterir.
otIp6IsEnabled(otInstance *aInstance)
bool
Bu işlev, IPv6 arayüzünün açık olup olmadığını belirtir.
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
bool
Mesaj Dizisi arayüzünde çoklu yayın provizyon modunun etkin olup olmadığını kontrol edin.
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
bool
Bu işlev, otIp6SetReceiveCallback()'te belirtilen geri çağırma aracılığıyla IPv6 veri şemalarını iletirken İleti dizisi kontrol trafiğinin filtrelenip filtrelenmediğini gösterir.
otIp6IsSlaacEnabled(otInstance *aInstance)
bool
Bu işlev, SLAAC modülünün etkin olup olmadığını gösterir.
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
IPv6 mesajı göndermek için yeni bir mesaj arabelleği ayırın.
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
Yeni bir mesaj arabelleği ayırın ve IPv6 mesajı göndermek için IPv6 veri şemasını mesaj arabelleğine yazın.
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
uint8_t
Bu işlev, iki IPv6 adresi için ön ek eşleşme uzunluğunu (bit) döndürür.
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
void
Bu işlev, belirli bir IPv6 önekini, okunabilir bir dizeye dönüştürür.
otIp6ProtoToString(uint8_t aIpProto)
const char *
Bu işlev, belirli bir IP protokolü numarasını kullanıcıların okuyabileceği bir dizeye dönüştürür.
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
Bu işlev, Çoklu Yayın İşleyicileri Birincil Omurga Yönlendiricisine kaydeder.
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
void
Bu işlev, izin verilen güvenli olmayan bağlantı noktası listesinden tüm bağlantı noktalarını kaldırır.
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Mesaj Dizisi arayüzünden bir Ağ Arayüzü Adresini kaldırın.
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
Bu işlev, izin verilen güvenli olmayan bağlantı noktası listesinden bir bağlantı noktasını kaldırır.
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
Bu işlev, OpenThread kaynak adresi seçimini gerçekleştirir.
otIp6Send(otInstance *aInstance, otMessage *aMessage)
Bu işlev, Mesaj Dizisi arayüzü üzerinden bir IPv6 veri şeması gönderir.
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
Bu işlev, dahili IPv6 adres değişikliklerini bildirmek için bir geri çağırma kaydeder.
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
Bu işlev, IPv6 arayüzünü açar/aşağı indirir.
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
Bu işlev, Örgü Yerel IID'yi ayarlar (test için).
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
void
Mesaj Dizisi arayüzünde çoklu yayın özel modunu etkinleştirin.
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
Bu işlev, alınan IPv6 Datagram'larını sağlamak için bir geri çağırma kaydeder.
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
void
Bu işlev, otIp6SetReceiveCallback()'te belirtilen geri çağırma aracılığıyla IPv6 veri gramlarını iletirken İleti dizisi kontrol trafiğinin filtrelenip filtrelenmediğini belirler.
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
void
Bu işlev, SLAAC modülünü etkinleştirir/devre dışı bırakır.
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
Bu işlev, SLAAC modül filtre işleyicisini ayarlar.
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
void
Bu işlev, belirli bir IPv6 yuva adresini insanların okuyabileceği bir dizeye dönüştürür.
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Mesaj Dizisi Arayüzünü Bir Ağ Arayüzü Çoklu Yayın Adresine Abone Olun.
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
İş Parçacığı arayüzünün Ağ Arayüzü Çoklu Yayın Adresi aboneliğinden çık.

Struct

otIp6Adresi

Bu yapı bir IPv6 adresini temsil eder.

otIp6AddressComponents

Bu yapı, bir IPv6 adresinin bileşenlerini temsil eder.

otIp6AdresBilgileri

Bu yapı IPv6 adres bilgilerini temsil eder.

otIp6InterfaceIdentifier

Bu yapı, bir IPv6 adresinin Arayüz Tanımlayıcısını temsil eder.

otIp6NetworkÖn Eki

Bu yapı, bir IPv6 adresinin Ağ Ön Eki'ni (adresin en önemli 64 biti) temsil eder.

otIp6Ön ek

Bu yapı bir IPv6 önekini temsil eder.

otMessageBilgileri

Bu yapı, yerel ve eşler IPv6 yuva adreslerini temsil eder.

otNetifAddress

Bu yapı bir IPv6 ağ arayüzü unicast adresini temsil eder.

otNetifMulticastAddress

Bu yapı IPv6 ağ arayüzü çoklu yayın adresini temsil eder.

otSockAddr

Bu yapı IPv6 yuva adresini temsil eder.

Birlikler

otIp6InterfaceIdentifier::OT_TOOL_PACKED_FIELD

Sıralamalar

anonim enum

 anonymous enum

IPv6 Adres kaynakları.

Özellikler
OT_ADDRESS_ORIGIN_DHCPV6

DHCPv6 tarafından atanan adres.

OT_ADDRESS_ORIGIN_MANUAL

Manuel olarak atanan adres.

OT_ADDRESS_ORIGIN_SLAAC

SLAAC tarafından atanan adres.

OT_ADDRESS_ORIGIN_THREAD

İleti dizisi atanan adresi (ALOC, RLOC, MLEID vb.)

anonim enum

 anonymous enum

IP üstbilgisinde gösterilen ECN durumları.

Özellikler
OT_ECN_CAPABLE_0

ECT(0)

OT_ECN_CAPABLE_1

ECT(1)

OT_ECN_MARKED

Karşılaşılan tıkanıklık (CE)

OT_ECN_NOT_CAPABLE

ECT olmayan.

anonim enum

 anonymous enum

İnternet Protokolü Numaraları.

Özellikler
OT_IP6_PROTO_DST_OPTS

IPv6 için Hedef Seçenekleri.

OT_IP6_PROTO_FRAGMENT

IPv6 için Parça Başlığı.

OT_IP6_PROTO_HOP_OPTS

IPv6 Hop-by Hop Seçeneği.

OT_IP6_PROTO_ICMP6

IPv6 için ICMP.

OT_IP6_PROTO_IP6

IPv6 kapsülleme.

OT_IP6_PROTO_NONE

IPv6 için Sonraki Başlık Yok.

OT_IP6_PROTO_ROUTING

IPv6 için Yönlendirme Başlığı.

OT_IP6_PROTO_TCP

İletim Denetimi Protokolü.

OT_IP6_PROTO_UDP

Kullanıcı Datagram'ı.

Türler

otIp6Adresi

struct otIp6Address otIp6Address

Bu yapı bir IPv6 adresini temsil eder.

otIp6AddressBackback

void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)

Bu işlev işaretçisi, dahili bir IPv6 adresi eklendiğinde veya kaldırıldığında çağrılır.

Ayrıntılar
Parametreler
[in] aAddressInfo
IPv6 adres bilgilerini gösteren bir işaretçi.
[in] aIsAdded
aAddress eklendiyse TRUE, aAddress kaldırıldıysa FALSE.
[in] aContext
Uygulamaya özel bağlama işaretçi.

otIp6AddressComponentComponent

struct otIp6AddressComponents otIp6AddressComponents

Bu yapı, bir IPv6 adresinin bileşenlerini temsil eder.

otIp6Adres Bilgisi

struct otIp6AddressInfo otIp6AddressInfo

otIp6InterfaceIdentifier

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

Bu yapı, bir IPv6 adresinin Arayüz Tanımlayıcısını temsil eder.

otIp6NetworkÖn Eki

struct otIp6NetworkPrefix otIp6NetworkPrefix

Bu yapı, bir IPv6 adresinin Ağ Ön Eki'ni (adresin en önemli 64 biti) temsil eder.

otIp6Ön Eki

struct otIp6Prefix otIp6Prefix

Bu yapı bir IPv6 önekini temsil eder.

otIp6Receive geri çağırma

void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)

Bu işlev işaretçisi, bir IPv6 Datagram alındığında çağrılır.

Ayrıntılar
Parametreler
[in] aMessage
Alınan IPv6 veri şemasını içeren mesaj arabelleğinde bir işaretçi. Bu işlev, aMessage sahipliğini geri çağırmanın alıcısına aktarır. Mesaj, işlendikten sonra geri çağırma alıcısı tarafından serbest bırakılmalıdır (bkz. otMessageFree()).
[in] aContext
Uygulamaya özel bağlama işaretçi.

otIp6EnrollmentMulticastListenersCallback

void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)

Bu işlev işaretçisi, otIp6RegisterMulticastListeners sonuçlarıyla çağrılır.

Ayrıntılar
Parametreler
[in] aContext
Kullanıcı bağlamına işaret eden öğeler.
[in] aError
MLR.req başarıyla gönderildiğinde ve MLR.rsp alındığında OT_ERROR_NONE, MLR.rsp alınamadığında OT_ERROR_RESPONSE_TIMEOUT, MLR.rsp ayrıştırılamadıken OT_ERROR_PARSE.
[in] aMlrStatus
aError OT_ERROR_NONE olduğunda Çoklu Yayın İşleyici Kayıt durumu.
[in] aFailedAddresses
aError OT_ERROR_NONE olduğunda, başarısız olan IPv6 adresleri için işaretçi
[in] aFailedAddressNum
aError OT_ERROR_NONE olduğunda başarısız olan IPv6 adreslerinin sayısı.
Şu ürünleri de inceleyebilirsiniz:
otIp6EnrollmentMulticastListeners

otIp6SlaacPrefixFiltresi

bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)

Bu işlev işaretçisi, kullanıcının ön ekleri filtrelemesine olanak tanır ve bir ön eke dayalı SLAAC adresinin eklenmesine izin vermez.

Filtre işleyiciyi ayarlamak için otIp6SetSlaacPrefixFilter() kullanılabilir. Filtre işleyici, bir ön eke dayalı bir SLAAC adresi eklemek üzereyken SLAAC modülü tarafından çağrılır. Boole dönüş değeri, adresin filtrelenip filtrelenmediğini (eklenmez) belirler.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aPrefix
SLAAC adresinin eklenmek üzere olduğu öneki belirtir.
Döndürülen Değerler
TRUE
Ön eke dayalı SLAAC adresinin filtrelenmesi ve eklenmemesi gerektiğini belirtir.
FALSE
Ön eke dayalı SLAAC adresinin eklenmesi gerektiğini belirtir.

OotMessageInfo

struct otMessageInfo otMessageInfo

Bu yapı, yerel ve eşler IPv6 yuva adreslerini temsil eder.

otNetifAdresi

struct otNetifAddress otNetifAddress

Bu yapı bir IPv6 ağ arayüzü unicast adresini temsil eder.

otNetifMulticastAddress

struct otNetifMulticastAddress otNetifMulticastAddress

Bu yapı IPv6 ağ arayüzü çoklu yayın adresini temsil eder.

otSockAddr

struct otSockAddr otSockAddr

Bu yapı IPv6 yuva adresini temsil eder.

Değişkenler

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

İşlevler

otIp6AddUnicastAddress

otError otIp6AddUnicastAddress(
  otInstance *aInstance,
  const otNetifAddress *aAddress
)

Mesaj Dizisi arayüzüne Ağ Arayüzü Adresi ekleyin.

İletilen aAddress örneği, Mesaj Dizisi arayüzü tarafından kopyalanır. Mesaj Dizisi arayüzü, yalnızca harici olarak eklenen uncast adreslerini sabit sayıda destekler. Bkz. OPENthread_CONFIG_IP6_MAX_EXT_UCAST_ADDRS.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aAddress
Ağ Arayüzü Adresi'ne işaret eden öğeler.
Döndürülen Değerler
OT_ERROR_NONE
Ağ Arabirim Adresi başarıyla eklendi (veya güncellendi).
OT_ERROR_INVALID_ARGS
aAddress ile belirtilen IP Adresi, dahili bir adrestir.
OT_ERROR_NO_BUFS
Ağ Arayüzü zaten izin verilen maksimum harici adresi depoluyor.

otIp6AddGüvenli Olmayan Bağlantı Noktası

otError otIp6AddUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Bu işlev, izin verilen güvenli olmayan bağlantı noktası listesine bir bağlantı noktası ekler.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aPort
Bağlantı noktası değeri.
Döndürülen Değerler
OT_ERROR_NONE
Bağlantı noktası, izin verilen güvenli olmayan bağlantı noktası listesine başarıyla eklendi.
OT_ERROR_INVALID_ARGS
Bağlantı noktası geçersiz (0 değeri, dahili kullanım için ayrılmıştır).
OT_ERROR_NO_BUFS
Güvenli olmayan bağlantı noktası listesi dolu.

otIp6AddressFromString

otError otIp6AddressFromString(
  const char *aString,
  otIp6Address *aAddress
)

Bu işlev, kullanıcıların okuyabileceği bir IPv6 adres dizesini ikili gösterime dönüştürür.

Ayrıntılar
Parametreler
[in] aString
NULL ile sona eren bir dizenin işaretçisi.
[out] aAddress
Bir IPv6 adresine işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
Dize başarıyla ayrıştırıldı.
OT_ERROR_INVALID_ARGS
Dize ayrıştırılamadı.

otIp6AdresiToString

void otIp6AddressToString(
  const otIp6Address *aAddress,
  char *aBuffer,
  uint16_t aSize
)

Bu işlev, belirli bir IPv6 adresini kullanıcılar tarafından okunabilir bir dizeye dönüştürür.

IPv6 adres dizesi, ##39;:' ile ayrılmış 16 onaltılık değer olarak biçimlendirilir (ör. "%x:%x:%x:...:%x")

Oluşturulan dize aBuffer karakterine (aSize karakteri içinde) uymuyorsa dize kesilir, ancak ortaya çıkan dize her zaman null olarak sonlandırılır.

Ayrıntılar
Parametreler
[in] aAddress
Bir IPv6 adresine işaretçi (NULL OLMAMALIDIR).
[out] aBuffer
Dizeyi oluşturmak için bir karakter dizisine işaret eden (NULL OLMAMALIDIR).
[in] aSize
aBuffer boyutu (bayt cinsinden). OT_IP6_ADDRESS_STRING_SIZE kullanmanız önerilir.

otIp6ArePrefixesEqual

bool otIp6ArePrefixesEqual(
  const otIp6Prefix *aFirst,
  const otIp6Prefix *aSecond
)

İki IPv6 önekinin aynı olup olmadığını test edin.

Ayrıntılar
Parametreler
[in] aFirst
Karşılaştırılacak ilk IPv6 önekinin işaretçisi.
[in] aSecond
Karşılaştırmak için ikinci IPv6 önekinin işaretçisi.
Döndürülen Değerler
TRUE
İki IPv6 ön eki aynıdır.
FALSE
İki IPv6 öneki aynı değildir.

otIp6GetMulticastAddresses

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

Thread arayüzüne abone olan IPv6 çoklu yayın adreslerinin listesini alın.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
İadeler
İlk Ağ Arayüzü Çoklu Yayın Adresi'ne işaret eder.

otIp6GetUnicastAddresses

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

Mesaj Dizisi arayüzüne atanan IPv6 adreslerinin listesini alın.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
İadeler
İlk Ağ Arabirim Adresine işaretçi.

otIp6GetGüvenli Olmayan Bağlantı Noktaları

const uint16_t * otIp6GetUnsecurePorts(
  otInstance *aInstance,
  uint8_t *aNumEntries
)

Bu işlev, güvenli olmayan bağlantı noktası listesine bir işaretçi döndürür.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[out] aNumEntries
Listedeki girişlerin sayısı.
İadeler
Güvenli olmayan bağlantı noktası listesinin işaretçisi.

otIp6IsAddressEqual

bool otIp6IsAddressEqual(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

İki IPv6 adresinin aynı olup olmadığını test edin.

Ayrıntılar
Parametreler
[in] aFirst
Karşılaştırılacak ilk IPv6 adresinin işaretçisi.
[in] aSecond
Karşılaştırılacak ikinci IPv6 adresinin işaretçisi.
Döndürülen Değerler
TRUE
İki IPv6 adresi aynıdır.
FALSE
İki IPv6 adresi aynı değildir.

otIp6IsAddressBelirtilmedi

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

Bu işlev, belirli bir IPv6 adresinin Belirtilmemiş Adres olup olmadığını gösterir.

Ayrıntılar
Parametreler
[in] aAddress
Bir IPv6 adresine işaretçi.
Döndürülen Değerler
TRUE
IPv6 adresi Belirtilmemiş Adresse.
FALSE
IPv6 adresi Belirtilmemiş Adres değilse.

otIp6IsEnabled

bool otIp6IsEnabled(
  otInstance *aInstance
)

Bu işlev, IPv6 arayüzünün açık olup olmadığını belirtir.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
Döndürülen Değerler
TRUE
IPv6 arayüzü etkinleştirildi.
FALSE
IPv6 arayüzü devre dışı.

otIp6IsMulticastPromiscuousEnabled

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

Mesaj Dizisi arayüzünde çoklu yayın provizyon modunun etkin olup olmadığını kontrol edin.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
Şunları da inceleyin:
otIp6SetMulticastPromiscuousEnabled

otIp6IsReceiveFilterEtkin

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

Bu işlev, otIp6SetReceiveCallback()'te belirtilen geri çağırma aracılığıyla IPv6 veri şemalarını iletirken İleti dizisi kontrol trafiğinin filtrelenip filtrelenmediğini gösterir.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
İadeler
Mesaj dizisi kontrol trafiği filtrelendiyse DOĞRU, aksi takdirde YANLIŞ değerini alır.
Şu makaleyi de inceleyebilirsiniz:
otIp6SetReceiveCallBack
otIp6SetReceiveFilterEnabled

otIp6IsSlaacEtkin

bool otIp6IsSlaacEnabled(
  otInstance *aInstance
)

Bu işlev, SLAAC modülünün etkin olup olmadığını gösterir.

Bu işlev için OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE derleme zamanı özelliğinin etkinleştirilmesi gerekir.

Ayrıntılar
Döndürülen Değerler
TRUE
SLAAC modülü etkinleştirildi.
FALSE
SLAAC modülü devre dışı bırakıldı.

otIp6YeniMesaj

otMessage * otIp6NewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

IPv6 mesajı göndermek için yeni bir mesaj arabelleği ayırın.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aSettings
Fare imlecini mesaj ayarlarının üzerine getirin veya varsayılan ayarları yapmak için BOŞ
İadeler
İleti arabelleği yoksa veya parametreler geçersizse BOŞ değerine işaret eden bir işaretçi.
Şu ürünleri de inceleyebilirsiniz:
otMessageFree

otIp6NewMessageFromBuffer

otMessage * otIp6NewMessageFromBuffer(
  otInstance *aInstance,
  const uint8_t *aData,
  uint16_t aDataLength,
  const otMessageSettings *aSettings
)

Yeni bir mesaj arabelleği ayırın ve IPv6 mesajı göndermek için IPv6 veri şemasını mesaj arabelleğine yazın.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aData
IPv6 datagram arabelleğine bir işaretçi.
[in] aDataLength
aData değerinin işaret ettiği IPv6 datagram arabelleğinin boyutu.
[in] aSettings
Fare imlecini mesaj ayarlarının üzerine getirin veya varsayılan ayarları yapmak için BOŞ
İadeler
Bozuk IPv6 başlığı veya yetersiz mesaj arabelleği varsa mesajın işaretçisi veya NULL simgesi.
Şu ürünleri de inceleyebilirsiniz:
otMessageFree

otIp6PrefixMatch

uint8_t otIp6PrefixMatch(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

Bu işlev, iki IPv6 adresi için ön ek eşleşme uzunluğunu (bit) döndürür.

Ayrıntılar
Parametreler
[in] aFirst
İlk IPv6 adresinin işaretçisi.
[in] aSecond
İkinci IPv6 adresinin işaretçisi.
İadeler
Ön ek eşleme uzunluğunu bit cinsinden belirtir.

otIp6PrefixToString

void otIp6PrefixToString(
  const otIp6Prefix *aPrefix,
  char *aBuffer,
  uint16_t aSize
)

Bu işlev, belirli bir IPv6 önekini, okunabilir bir dizeye dönüştürür.

IPv6 adres dizesi &&t;%x:%x:%x:...[::]/plen" şeklinde biçimlendirilir.

Oluşturulan dize aBuffer karakterine (aSize karakteri içinde) uymuyorsa dize kesilir, ancak ortaya çıkan dize her zaman null olarak sonlandırılır.

Ayrıntılar
Parametreler
[in] aPrefix
Bir IPv6 önekine dair işaretçi (NULL OLMAMALIDIR).
[out] aBuffer
Dizeyi oluşturmak için bir karakter dizisine işaret eden (NULL OLMAMALIDIR).
[in] aSize
aBuffer boyutu (bayt cinsinden). OT_IP6_PREFIX_STRING_SIZE kullanmanız önerilir.

otIp6ProtoToString

const char * otIp6ProtoToString(
  uint8_t aIpProto
)

Bu işlev, belirli bir IP protokolü numarasını kullanıcıların okuyabileceği bir dizeye dönüştürür.

Ayrıntılar
Parametreler
[in] aIpProto
IP IP numarası (OT_IP6_PROTO_* numaralandırması).
İadeler
aIpProto temsil eden bir dize.

otIp6RegisterMulticastListeners

otError otIp6RegisterMulticastListeners(
  otInstance *aInstance,
  const otIp6Address *aAddresses,
  uint8_t aAddressNum,
  const uint32_t *aTimeout,
  otIp6RegisterMulticastListenersCallback aCallback,
  void *aContext
)

Bu işlev, Çoklu Yayın İşleyicileri Birincil Omurga Yönlendiricisine kaydeder.

Not: Yalnızca OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE ve OPENTHREAD_CONFIG_COMMISSIONER_ENABLE etkinleştirildiğinde kullanılabilir)

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aAddresses
Kaydedilecek bir Çoklu Yayın Adres Dizisi.
[in] aAddressNum
Kaydedilecek Çoklu Yayın Adresi sayısı (aAddresses NULL ise 0).
[in] aTimeout
MLR.req'e dahil edilecek zaman aşımı değerinin (saniye cinsinden) işaretçisi. Zaman aşımı değeri 0, ilgili Çoklu Yayın İşleyici'yi kaldırır. NULL ise MLR.req varsayılan olarak Zaman Aşımı Tlv'si içermez.
[in] aCallback
Geri çağırma işlevinin işaretçisi.
[in] aContext
Kullanıcı bağlamına işaret eden öğeler.
Döndürülen Değerler
OT_ERROR_NONE
MLR.req başarıyla gönderildi. Bu yöntem OT_ERROR_NONE döndürürse aCallback çağrılır.
OT_ERROR_BUSY
Önceki kaydın devam etmesi.
OT_ERROR_INVALID_ARGS
Bir veya daha fazla bağımsız değişken geçersizse.
OT_ERROR_INVALID_STATE
Cihaz, MLR.req göndermek için geçerli bir durumda değilse (ör. komisyoncu başlatılmadı, Birincil Omurga Yönlendiricisi bulunamadı).
OT_ERROR_NO_BUFS
Yetersiz mesaj arabellekleri varsa.
Şu ürünleri de inceleyebilirsiniz:
otIp6EnrollmentMulticastListenersCallback

otIp6RemoveAllUnsecurePorts

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

Bu işlev, izin verilen güvenli olmayan bağlantı noktası listesinden tüm bağlantı noktalarını kaldırır.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.

otIp6RemoveUnicastAddress

otError otIp6RemoveUnicastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Mesaj Dizisi arayüzünden bir Ağ Arayüzü Adresini kaldırın.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aAddress
IP Adresine işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
Ağ Arabirim Adresi başarıyla kaldırıldı.
OT_ERROR_INVALID_ARGS
aAddress ile belirtilen IP Adresi, dahili bir adrestir.
OT_ERROR_NOT_FOUND
aAddress tarafından belirtilen IP Adresi bulunamadı.

otIp6RemoveUnsecurePort

otError otIp6RemoveUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Bu işlev, izin verilen güvenli olmayan bağlantı noktası listesinden bir bağlantı noktasını kaldırır.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aPort
Bağlantı noktası değeri.
Döndürülen Değerler
OT_ERROR_NONE
Bağlantı noktası, izin verilen güvenli olmayan bağlantı noktası listesinden başarıyla kaldırıldı.
OT_ERROR_INVALID_ARGS
Bağlantı noktası geçersiz (0 değeri, dahili kullanım için ayrılmıştır).
OT_ERROR_NOT_FOUND
Bağlantı noktası, güvenli olmayan bağlantı noktası listesinde bulunamadı.

otIp6SelectSourceAddress

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

Bu işlev, OpenThread kaynak adresi seçimini gerçekleştirir.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in,out] aMessageInfo
İleti bilgilerinin üzerine gelin.
Döndürülen Değerler
OT_ERROR_NONE
Bir kaynak adres bulundu ve aMessageInfo öğesinin mSockAddr alanına dolduruluyor.
OT_ERROR_NOT_FOUND
Kaynak adresi bulunamadı ve aMessageInfo değişmedi.

otIp6Gönder

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

Bu işlev, Mesaj Dizisi arayüzü üzerinden bir IPv6 veri şeması gönderir.

Arayan, bu aramayı yaparken aMessage alanının sahipliğini aktarır. OpenThread, işlem tamamlandığında OT_ERROR_NONE dışında bir değerin döndürülmesi de dahil olmak üzere aMessage yer açar.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aMessage
IPv6 veri şemasını içeren mesaj arabelleğine işaret eden öğe.
Döndürülen Değerler
OT_ERROR_NONE
İleti başarıyla işlendi.
OT_ERROR_DROP
İleti iyi biçimlendirildi ancak paket işleme kuralları nedeniyle tam olarak işlenmedi.
OT_ERROR_NO_BUFS
Datagram işlenirken gerekli mesaj arabelleği ayrılamadı.
OT_ERROR_NO_ROUTE
Ana makine için rota yok.
OT_ERROR_INVALID_SOURCE_ADDRESS
Kaynak adresi geçersiz (ör. Anycast adresi veya çoklu yayın adresi).
OT_ERROR_PARSE
İleti işlenirken bozuk bir üstbilgiyle karşılaşıldı.

otIp6SetAddressBack Çağrısı

void otIp6SetAddressCallback(
  otInstance *aInstance,
  otIp6AddressCallback aCallback,
  void *aCallbackContext
)

Bu işlev, dahili IPv6 adres değişikliklerini bildirmek için bir geri çağırma kaydeder.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aCallback
Dahili bir IPv6 adresi eklendiğinde veya kaldırıldığında çağrılan bir işlevin işaretçisi. Geri çağırmayı devre dışı bırakmak için BOŞ
[in] aCallbackContext
Uygulamaya özel bağlama işaretçi.

otIp6SetEtkin

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Bu işlev, IPv6 arayüzünü açar/aşağı indirir.

IPv6 iletişimini etkinleştirmek/devre dışı bırakmak için bu işlevi çağırın.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aEnabled
IPv6'yı etkinleştirmek için TRUE, aksi takdirde FALSE.
Döndürülen Değerler
OT_ERROR_NONE
IPv6 arayüzü başarıyla yukarı/aşağı kaldırıldı.
OT_ERROR_INVALID_STATE
Cihaz ham bağlantı modunda çalıştığı için IPv6 arayüzü kullanılamıyor (yalnızca OPENTHREAD_CONFIG_LINK_RAW_ENABLE özelliği etkinleştirildiğinde geçerlidir).

otIp6SetMeshLocalIid

otError otIp6SetMeshLocalIid(
  otInstance *aInstance,
  const otIp6InterfaceIdentifier *aIid
)

Bu işlev, Örgü Yerel IID'yi ayarlar (test için).

Yalnızca OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE etkinleştirildiğinde kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aIid
Ayarlanacak Örgü Yerel IID'ye bir işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
Örgü Yerel Kimliği başarıyla ayarlandı.
OT_ERROR_INVALID_STATE
Mesaj dizisi protokolleri etkinleştirildi.

otIp6SetMulticastPromiscuousEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Mesaj Dizisi arayüzünde çoklu yayın özel modunu etkinleştirin.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aEnabled
Çoklu Yayın İzinli modunu etkinleştirmek için DOĞRU, aksi takdirde YANLIŞ.
Şunları da inceleyin:
otIp6IsMulticastPromiscuousEnabled

otIp6SetReceiveCallBack

void otIp6SetReceiveCallback(
  otInstance *aInstance,
  otIp6ReceiveCallback aCallback,
  void *aCallbackContext
)

Bu işlev, alınan IPv6 Datagram'larını sağlamak için bir geri çağırma kaydeder.

Varsayılan olarak bu geri çağırma, Mesaj Dizisi kontrol trafiğini iletmez. Mesaj dizisi kontrolü trafik filtresi ayarını değiştirmek için otIp6SetReceiveFilterEnabled() bölümüne bakın.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aCallback
Bir IPv6 veri şeması alındığında çağrılan ve geri çağırmayı devre dışı bırakmak için NULL olarak adlandırılan bir işlevin işaretçisi.
[in] aCallbackContext
Uygulamaya özel bağlama işaretçi.
Şunları da inceleyin:
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled

otIp6SetReceiveFilterEtkin

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Bu işlev, otIp6SetReceiveCallback()'te belirtilen geri çağırma aracılığıyla IPv6 veri gramlarını iletirken İleti dizisi kontrol trafiğinin filtrelenip filtrelenmediğini belirler.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aEnabled
Mesaj dizisi kontrol trafiği filtrelendiyse DOĞRU, aksi takdirde YANLIŞ değerini alır.
Şu makaleyi de inceleyebilirsiniz:
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled

otIp6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Bu işlev, SLAAC modülünü etkinleştirir/devre dışı bırakır.

Bu işlev için OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE derleme zamanı özelliğinin etkinleştirilmesi gerekir.

SLAAC modülü etkinleştirildiğinde, SLAAC adresleri (Ağ Verilerindeki örgü ön eklerine dayalı olarak) arayüze eklenir. SLAAC modülü devre dışı bırakıldığında daha önce eklenen SLAAC adresi kaldırılır.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aEnabled
Etkinleştirmek için TRUE, devre dışı bırakmak için YANLIŞ.

otIp6SetSlaacPrefixFilter

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

Bu işlev, SLAAC modül filtre işleyicisini ayarlar.

Bu işlev için OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE derleme zamanı özelliğinin etkinleştirilmesi gerekir.

Filtre işleyici, adresin eklenmesi gerekip gerekmediğine karar vermek için bir ön eke dayalı SLAAC adresi eklemek üzereyken SLAAC modülü tarafından çağrılır.

BOŞ filtre işleyici, filtrelemeyi devre dışı bırakır ve tüm SLAAC adreslerinin eklenmesine olanak tanır.

Bu işlev çağrılmazsa SLAAC modülü tarafından kullanılan varsayılan filtre NULL olacaktır (filtreleme devre dışıdır).

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aFilter
İşaretçiyi SLAAC ön ek filtresi işleyicisine veya filtrelemeyi devre dışı bırakmak için BOŞ değerine getirin.

otIp6SockAddrToDize

void otIp6SockAddrToString(
  const otSockAddr *aSockAddr,
  char *aBuffer,
  uint16_t aSize
)

Bu işlev, belirli bir IPv6 yuva adresini insanların okuyabileceği bir dizeye dönüştürür.

IPv6 yuva adresi dizesi &&;

]:&`; Burada `
':' ile ayrılmış 16 onaltılık değer olarak gösterilir. ise ondalık biçimdeki bağlantı noktası numarasıdır (yani, "[%x:%x:...:%x]:%u")

Oluşturulan dize aBuffer karakterine (aSize karakteri içinde) uymuyorsa dize kesilir, ancak ortaya çıkan dize her zaman null olarak sonlandırılır.

Ayrıntılar
Parametreler
[in] aSockAddr
Bir IPv6 yuva adresine işaretçi (NULL OLMAMALIDIR).
[out] aBuffer
Dizeyi oluşturmak için bir karakter dizisine işaret eden (NULL OLMAMALIDIR).
[in] aSize
aBuffer boyutu (bayt cinsinden). OT_IP6_SOCK_ADDR_STRING_SIZE kullanmanız önerilir.

otIp6SubscribeMulticastAddress

otError otIp6SubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Mesaj Dizisi Arayüzünü Bir Ağ Arayüzü Çoklu Yayın Adresine Abone Olun.

aAddress örneğinde iletilen ileti dizisi, Mesaj Dizisi arayüzü tarafından kopyalanır. Mesaj Dizisi arayüzü, yalnızca harici olarak eklenen çok sayıda çoklu yayın adresini destekler. bkz. OPENthread_CONFIG_IP6_MAX_EXT_MCAST_ADDRS.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aAddress
IP Adresine işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
Ağ Arayüzü Çoklu Yayın Adresine başarıyla abone olundu.
OT_ERROR_ALREADY
Çoklu yayın adresi zaten abone.
OT_ERROR_INVALID_ARGS
aAddress tarafından belirtilen IP Adresi, geçersiz bir çoklu yayın adresidir.
OT_ERROR_REJECTED
aAddress tarafından belirtilen IP Adresi, dahili bir çoklu yayın adresidir.
OT_ERROR_NO_BUFS
Ağ Arayüzü zaten izin verilen maksimum harici çoklu yayın adresini depoluyor.

otIp6UnsubscribeMulticastAddress

otError otIp6UnsubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

İş Parçacığı arayüzünün Ağ Arayüzü Çoklu Yayın Adresi aboneliğinden çık.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğine bir işaretçi.
[in] aAddress
IP Adresine işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
Ağ Arayüzü Çoklu Yayın Adresi aboneliğinden başarıyla çıkıldı.
OT_ERROR_REJECTED
aAddress ile belirtilen IP Adresi, dahili bir adrestir.
OT_ERROR_NOT_FOUND
aAddress tarafından belirtilen IP Adresi bulunamadı.

Makrolar

OT_IP6_ADDRESS_SIZE

 OT_IP6_ADDRESS_SIZE 16

IPv6 adresinin boyutu (bayt)

OT_IP6_ADDRESS_STRING_SIZE

 OT_IP6_ADDRESS_STRING_SIZE 40

Bir IPv6 adresinin dize gösterimi için önerilen boyut.

OT_IP6_IID_SIZE

 OT_IP6_IID_SIZE 8

IPv6 Arayüz Tanımlayıcısının boyutu (bayt)

OT_IP6_MAX_MLR_ADDRESSES

 OT_IP6_MAX_MLR_ADDRESSES 15

Çoklu Yayın İşleyici Kaydı tarafından desteklenen maksimum IPv6 adresi sayısı.

OT_IP6_PREFIX_BITSIZE

 OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)

IPv6 önekinin boyutu (bit)

OT_IP6_PREFIX_SIZE

 OT_IP6_PREFIX_SIZE 8

IPv6 önekinin boyutu (bayt)

OT_IP6_PREFIX_STRING_SIZE

 OT_IP6_PREFIX_STRING_SIZE 45

Bir IPv6 önekinin dize gösterimi için önerilen boyut.

OT_IP6_SOCK_ADDR_STRING_SIZE

 OT_IP6_SOCK_ADDR_STRING_SIZE 48

Bir IPv6 yuva adresinin dize gösterimi için önerilen boyut.

Kaynaklar

OpenThread API Referans konularının kaynağı, GitHub'daki kaynak kodudur. Daha fazla bilgi edinmek veya dokümanlarımıza katkıda bulunmak için Kaynaklar'a bakın.