Kapitel 4: Azure RTOS NetX-Duo DHCPv6 Clientdienste (2023)

Table of Contents
In diesem Artikel nx_dhcpv6_client_create Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_client_delete Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_client_set_interface Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_client_set_destination_address Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_create_client_duid Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_create_client_ia Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_create_client_iana Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_add_client_ia Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_get_client_duid_time_id Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_get_IP_address Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_get_lease_time_data Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_get_iana lease_time Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_get_valid_ip_address_count Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel nx_dhcpv6_get_valid_ip_address_lease_time Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_get_DNS_server_address Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_get_other_option_data Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_get_time_accrued Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_get_time_server_address Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_reinitialize Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_request_confirm Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_request_inform_request Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_request_option_DNS_server Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_request_option_FQDN Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_request_option_domain_name Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_request_option_time_server Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_request_option_timezone Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_request_release Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_request_solicit Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel nx_dhcpv6_request_solicit_rapid Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_resume Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_set_ time_accrued Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_start Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_stop Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen nx_dhcpv6_suspend Prototyp Beschreibung Eingabeparameter Rückgabewerte Zulässig von Beispiel Weitere Informationen
  • Artikel
  • 22Minuten Lesedauer

Dieses Kapitel enthält eine Beschreibung aller AzureRTOS NetXDuo DHCPv6-Clientdienste (unten aufgeführt) in alphabetischer Reihenfolge.

Im Abschnitt „Rückgabewerte“ in den folgenden API-Beschreibungen sind FETT formatierte Werte nicht von der zum Deaktivieren der API-Fehlerprüfung verwendeten Option NX_DISABLE_ERROR_CHECKING betroffen. Nicht fett formatierte Werte sind vollständig deaktiviert.

nx_dhcpv6_client_create

Eine DHCPv6-Client-Instanz erstellen

Prototyp

UINT nx_dhcpv6_client_create( NX_DHCPV6 *dhcpv6_ptr, NX_IP *ip_ptr, CHAR *name_ptr, NX_PACKET_POOL *packet_pool_ptr, VOID *stack_ptr, ULONG stack_size, VOID (*dhcpv6_state_change_notify)( struct NX_DHCPV6_STRUCT *dhcpv6_ptr, UINT old_state, UINT new_state), VOID (*dhcpv6_server_error_handler)( struct NX_DHCPV6_STRUCT *dhcpv6_ptr, UINT op_code, UINT status_code, UINT message_type));

Beschreibung

Dieser Dienst erstellt eine DHCPv6-Client-Instanz einschließlich Rückruffunktionen.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf DHCPv6-Steuerungsblock

  • ip_ptr: Zeiger auf Client-IP-Instanz

  • name_ptr: Zeiger auf den Namen für DHCPv6-Instanz

  • packet_pool_ptr Zeiger auf den Client-Paket Pool

  • stack_ptr: Zeiger auf den Clientstapelspeicher

  • stack_size: Größe des Clientstapelspeichers

  • dhcpv6_state_change_notify: Zeiger auf Rückruffunktion aufgerufen, wenn der Client eine neue DHCPv6-Anforderung an den Server initiiert

  • dhcpv6_server_error_handler: Zeiger auf Rückruffunktion aufgerufen, wenn der Client einen Fehlerstatus vom Server empfängt

Rückgabewerte

  • NX_SUCCESS (0x00) Client erfolgreich erstellt

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_DHCPV6_PARAM_ERROR (0xe93) Eingabe (nicht Zeiger) ist ungültig

Zulässig von

Threads

Beispiel

/* Create a DHCPv6 client instance without specifying link local or preferred global IP address. */status = nx_dhcpv6_client_create(&dhcp_0, &ip_0, "DHCPv6 Client", &pool_0, NULL, NULL, pointer, 2048, dhcpv6_state_change_notify, dhcpv6_server_error_handler);/* If status is NX_SUCCESS a DHCPv6 client instance was successfully created. */

Weitere Informationen

  • nx_dhcpv6_client_delete

nx_dhcpv6_client_delete

Eine DHCPv6-Client-Instanz löschen

Prototyp

UINT nx_dhcpv6_client_delete(NX_DHCPV6 *dhcpv6_ptr);

Beschreibung

Dieser Dienst löscht eine zuvor erstellte DHCPv6-Client-Instanz.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

Rückgabewerte

  • NX_SUCCESS (0x00) DHCPv6 erfolgreich gelöscht

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_DHCPV6_PARAM_ERROR (0xe93) Eingabe (nicht Zeiger) ist ungültig

Zulässig von

Threads

Beispiel

/* Delete a DHCPv6 client instance. */status = nx_dhcpv6_client_delete(&my_dhcp);/* If status is NX_SUCCESS the DHCPv6 client instance was successfully deleted. */

Weitere Informationen

  • nx_dhcpv6_client_create

nx_dhcpv6_client_set_interface

Legt die Client-Netzwerkschnittstelle für DHCPv6 fest

Prototyp

UINT nx_dhcpv6_client_set_interface( NX_DHCPV6 *dhcpv6_ptr, UINT *interface_index);

Beschreibung

Dieser Dienst legt die Client-Netzwerkschnittstelle für die Kommunikation mit dem/den DHCPv6-Server(n) mit dem angegebenen Eingabeschnittstellenindex fest.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • interface_index: Index, der die Netzwerkschnittstelle angibt

Rückgabewerte

  • NX_SUCCESS Schnittstelle (0x00) wurde erfolgreich festgelegt

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_INVALID_INTERFACE (0x4C) Schnittstellenindex-Eingabe ist ungültig

Zulässig von

Threads

Beispiel

/* Set the client interface for DHCPv6 communication with the Server to the secondary interface (1). */UINT index = 1;status = nx_dhcpv6_client_set_interface(&dhcp_0, index);/* If status is NX_SUCCESS, the Client successfully set the DHCPv6 network interface. */

Weitere Informationen

  • nx_dhcpv6_client _create
  • nx_dhcpv6_start

nx_dhcpv6_client_set_destination_address

Legt die Zieladresse fest, an die die DHCPv6-Nachricht gesendet werden soll

Prototyp

UINT nx_dhcpv6_client_set_destination_address( NX_DHCPV6 *dhcpv6_ptr, NXD_ADDRESS *destination_address);

Beschreibung

Dieser Dienst legt die Zieladresse fest, an die die DHCPv6-Nachricht gesendet werden soll. Standardmäßig ist dies ALL_DHCP_Relay_Agents_and_Servers (FF02::1:2).

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • destination_address: Zieladresse

Rückgabewerte

  • NX_SUCCESS Schnittstelle (0x00) wurde erfolgreich festgelegt

  • NX_PTR_ERROR (0x07): Zeigereingabe ist ungültig

  • NX_DHCPV6_PARAM_ERROR (0xE93) Parameterfehler

Zulässig von

Threads

Beispiel

/* Set the destination address where DHCPv6 message should be sent to. */NXD_ADDRESS dest_address; /* Set the destination address. */status = nx_dhcpv6_client_set_destination_address(&dhcp_0, &dest_address);/* If status is NX_SUCCESS, the Client successfully set the destination address. */

Weitere Informationen

  • nx_dhcpv6_client _create
  • nx_dhcpv6_start

nx_dhcpv6_create_client_duid

Client-DUID-Objekt erstellen

Prototyp

UINT nx_dhcpv6_create_client_duid( NX_DHCPV6 *dhcpv6_ptr, UINT duid_type, UINT hardware_type, ULONG time);

Beschreibung

Dieser Dienst erstellt die Client-DUID mit den Eingabeparametern. Wenn die Zeiteingabe nicht bereitgestellt wird und der DUID-Typ eine Netzzugangsschicht mit Zeit angibt, wird von dieser Funktion eine Zeit bereitgestellt, die einen Zufallsfaktor für Eindeutigkeit enthält. Vom Anbieter zugewiesene (Enterprise) DUID-Typen werden nicht unterstützt.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • duid_type: Typ der DUID (Hardware, Unternehmen usw.)

  • hardware_type: Netzwerkhardware, z. B. IEEE 802

  • time: Beim Erstellen eines eindeutigen Bezeichners verwendeter Wert

Rückgabewerte

  • NX_SUCCESS (0x00) Client-DUID wurde erfolgreich erstellt

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_DHCPV6_PARAM_ERROR (0xe93) Eingabe (nicht Zeiger) ist ungültig

  • NX_DHCPV6_UNSUPPORTED_DUID_TYPE (0xe98) DUID-Typ ist unbekannt oder wird nicht unterstützt

  • NX_DHCPV6_UNSUPPORTED_DUID_HW_TYPE (0xE99) DUID-Hardwaretyp ist unbekannt oder wird nicht unterstützt

Zulässig von

Threads

Beispiel

/* Create the Client DUID from the supplied input. The time field is left NULL so the DHCPv6 client will provide one. */status = nx_dhcpv6_create_client_duid(&dhcp_0, NX_DHCPV6_DUID_TYPE_LINK_TIME, NX_DHCPV6_HW_TYPE_IEEE_802, 0)/* If status is NX_SUCCESS the client DUID was successfully created. */

Weitere Informationen

  • nx_dhcpv6_create_client_ia
  • nx_dhcpv6_create_client_iana
  • nx_dhcpv6_create_server_duid

nx_dhcpv6_create_client_ia

Dem Client eine Identitätszuordnung hinzufügen

Prototyp

UINT nx_dhcpv6_create_client_ia( NX_DHCPV6 *dhcpv6_ptr, NXD_ADDRESS *ipv6_address, ULONG preferred_lifetime, ULONG valid_lifetime);

Beschreibung

Dieser Dienst ist mit dem nx_dhcpv6_add_client_ia-Dienst identisch. Es wird eine Client-Identitätszuordnung hinzugefügt, indem der Client-Datensatz mit den angegebenen Parametern ausgefüllt wird. Diese Parameter sollten auf Unendlich eingestellt werden, um die maximalen bevorzugten und gültigen Lebensdauern anzufordern. Wenn Sie einem DHCPv6-Client mehr als eine IA hinzufügen möchten, stellen Sie den NX_DHCPV6_MAX_IA_ADDRESS auf einen höheren Wert als den Standardwert 1 ein.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • ipv6_address: Zeiger auf den NetX Duo-IP-Adressblock

  • preferred_lifetime: Zeitraum bis zur Deaktivierung der IP-Adresse

  • valid_lifetime: Zeitraum bis zum Ablauf der IP-Adresse

Rückgabewerte

  • NX_SUCCESS (0x00) Client-IA erfolgreich hinzugefügt

  • NX_DHCPV6_IA_ADDRESS_ALREADY_EXIST (0xeaf) IA-Adresse duplizieren

  • NX_DHCPV6_REACHED_MAX_IA_ADDRESS (0xeae) IA überschreitet den maximalen IA-Client Speicher

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_DHCPV6_INVALID_IA_ADDRESS (0xea4) Ungültige IA-Adresse (z. B. null) in der IA

  • NX_DHCPV6_PARAM_ERROR (0xe93) Eingabe (nicht Zeiger) ist ungültig

Zulässig von

Threads

Beispiel

/* Add an Client IA using the supplied input. */status = nx_dhcpv6_create_client_ia(&dhcp_0, &ipv6_address, NX_DHCPV6_PREFERRED_LIFETIME, NX_DHCPV6_VALID_LIFETIME);/* If status is NX_SUCCESS the client IA was successfully added. */

Weitere Informationen

  • nx_dhcpv6_add_client_duid
  • nx_dhcpv6_create_server_duid
  • nx_dhcpv6_create_client_iana

nx_dhcpv6_create_client_iana

Eine (nicht temporäre) Identitätszuordnung für den Client erstellen

Prototyp

UINT nx_dhcpv6_create_client_iana( NX_DHCPV6 *dhcpv6_ptr, UINT IA_ident, ULONG T1, ULONG T2);

Beschreibung

Dieser Dienst erstellt eine Client-IANA (Non Temporary Identity Association) aus den angegebenen Parametern. Legen Sie diese Parameter auf NX_DHCPV6_INFINITE_LEASE fest, um T1 und T2 in den DHCPv6-Client Anforderungen auf Maximum (Infinity) einzustellen.

Hinweis

Ein Client verfügt nur über eine IANA.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • IA_ident: Eindeutiger Identitätszuordnungsbezeichner

  • T1: Wenn der Client die Erneuerung der IPv6-Adresse starten muss

  • T2: Wenn der Client die erneute Bindung der IPv6-Adresse starten muss

Rückgabewerte

Zulässig von

Threads

Beispiel

/* Create the Client IANA from the supplied input. */status = nx_dhcpv6_create_client_iana(&dhcp_0, DHCPV6_IA_ID, DHCPV6_T1, DHCPV6_T2);/* If status is NX_SUCCESS the client IANA was successfully created. */

Weitere Informationen

  • nx_dhcpv6_create_client_duid
  • nx_dhcpv6_create_server_duid
  • nx_dhcpv6_add_client_ia

nx_dhcpv6_add_client_ia

Dem Client eine Identitätszuordnung hinzufügen

Prototyp

UINT nx_dhcpv6_add_client_ia( NX_DHCPV6 *dhcpv6_ptr, NXD_ADDRESS *ipv6_address, ULONG preferred_lifetime, ULONG valid_lifetime);

Beschreibung

Dieser Dienst fügt eine Client-Identitätszuordnung hinzu, indem der Client-Datensatz mit den angegebenen Parametern ausgefüllt wird. Diese Parameter sollten auf Unendlich eingestellt werden, um die maximalen bevorzugten und gültigen Lebensdauern anzufordern. Wenn Sie einem DHCPv6-Client mehr als eine IA hinzufügen möchten, stellen Sie den NX_DHCPV6_MAX_IA_ADDRESS auf einen höheren Wert als den Standardwert 1 ein.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • ipv6_address: Zeiger auf den NetX Duo-IP-Adressblock

  • preferred_lifetime: Zeitraum bis zur Deaktivierung der IP-Adresse

  • valid_lifetime: Zeitraum bis zum Ablauf der IP-Adresse

Rückgabewerte

  • NX_SUCCESS (0x00) Client-IA erfolgreich hinzugefügt

  • NX_DHCPV6_IA_ADDRESS_ALREADY_EXIST (0xeaf) IA-Adresse duplizieren

  • NX_DHCPV6_REACHED_MAX_IA_ADDRESS (0xeae) IA überschreitet den maximalen IA-Client Speicher

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_DHCPV6_INVALID_IA_ADDRESS (0xea4) Ungültige IA-Adresse (z. B. null) in der IA

  • NX_DHCPV6_PARAM_ERROR (0xe93) Eingabe (nicht Zeiger) ist ungültig

Zulässig von

Threads

Beispiel

/* Add an Client IA using the supplied input. */status = nx_dhcpv6_add_client_ia(&dhcp_0, &ipv6_address, NX_DHCPV6_PREFERRED_LIFETIME, NX_DHCPV6_VALID_LIFETIME);/* If status is NX_SUCCESS the client IA was successfully added. */

Weitere Informationen

  • nx_dhcpv6_create_client_duid
  • nx_dhcpv6_create_server_duid
  • nx_dhcpv6_create_client_iana

nx_dhcpv6_get_client_duid_time_id

Ruft die Zeit-ID aus der Client-DUID ab

Prototyp

UINT nx_dhcpv6_get_client_duid_time_id( NX_DHCPV6 *dhcpv6_ptr, ULONG *time_id);

Beschreibung

Dieser Dienst ruft das Zeit-ID-Feld aus der Client-DUID ab. Die Anwendung muss zuerst nx_dhcpv6_create_client_duid aufrufen, um die Client-DUID in der DHCPv6-Client-Instanz auszufüllen, andernfalls weist dieses Feld einen Nullwert auf. Damit soll bewirkt werden, dass die Anwendung diese Daten speichert und die gleiche Client-DUID auf dem Server auch bei Neustarts wieder angibt (einschließlich des Zeitfelds).

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • time_id: Zeiger auf das Client-DUID-Zeitfeld

Rückgabewerte

  • NX_SUCCESS (0x00) IP-Leasedaten erfolgreich abgerufen

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Retrieve the time ID from the Client DUID. */status = nx_dhcpv6_get_client_duid_time_id(&dhcp_0, &time_ID);/* If status is NX_SUCCESS the time ID was retrieved. */

Weitere Informationen

  • nx_dhcpv6_get_IP_address
  • nx_dhcpv6_get_time_lease_data
  • nx_dhcpv6_get_other_option_data
  • nx_dhcpv6_get_time_accrued

nx_dhcpv6_get_IP_address

Ruft die globale Client-IPv6-Adresse ab

Prototyp

UINT nx_dhcpv6_get_IP_address( NX_DHCPV6 *dhcpv6_ptr, NXD_ADDRESS *ip_address);

Beschreibung

Dieser Dienst ruft die globale IPv6-Adresse des Client ab. Wenn der Client keine gültige Adresse hat, wird ein Fehlerstatus angezeigt. Wenn ein Client mehr als eine globale IPv6-Adresse hat, wird die primäre IPv6-Adresse angezeigt.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • ip_address: Zeiger auf IPv6-Adresse

Rückgabewerte

  • NX_SUCCESS (0x00) IPv6-Adresse wurde erfolgreich zugewiesen

  • NX_DHCPV6_IA_ADDRESS_NOT_VALID (0xEAD) IPv6-Adresse ist ungültig

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

UINT address_status;UINT address_index;/* Retrieve the client’s assigned IP address. */status = nx_dhcpv6_get_IP_address(&dhcp_0, &ipv6_address);/* If status is NX_SUCCESS the client IP address was assigned. Now register it with NetX Duo on the primary interface (index zero). The address index is returned in the address_index field*/status = nxd_ipv6_address_set(&ip_0, 0, &ipv6_address, 64, &address_index);

Weitere Informationen

  • nx_dhcpv6_get_lease_time_data
  • nx_dhcpv6_get_client_duid_time_id
  • nx_dhcpv6_get_other_option_data
  • nx_dhcpv6_get_time_accrued

nx_dhcpv6_get_lease_time_data

Ruft die Lease-Zeitdaten der IA-Adresse des Client ab

Prototyp

UINT nx_dhcpv6_get_lease_time_data( NX_DHCPV6 *dhcpv6_ptr, ULONG *T1, ULONG *T2, ULONG *preferred_lifetime, ULONG *valid_lifetime);

Beschreibung

Dieser Dienst ruft die globalen IA-Adresszeitdaten des Client ab. Wenn der Status der Client-IA-Adresse ungültig ist, werden die Zeitdaten auf Null eingestellt und es wird ein erfolgreicher Abschlussstatus zurückgegeben. Wenn ein Client mehr als eine globale IPv6-Adresse hat, werden die Adressdaten der primären IA angezeigt.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • T1: Zeiger auf IA-Adresserneuerungszeit

  • T2: Zeiger auf die IA-Adressbindungszeit

  • preferred_lifetime: Zeiger auf die Uhrzeit, zu der die IA-Adresse veraltet ist

  • valid_lifetime: Zeiger auf die Uhrzeit, zu der die IA-Adresse abgelaufen ist

Rückgabewerte

  • NX_SUCCESS (0x00) IA-Leasedaten erfolgreich abgerufen

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Retrieve the client’s assigned IA lease data. */status = nx_dhcpv6_get_lease_time_data(&dhcp_0, &T1, &T2, &preferred_lifetime, &valid_lifetime);/* If status is NX_SUCCESS the client IA address lease data was retrieved. */

Weitere Informationen

  • nx_dhcpv6_get_IP_address
  • nx_dhcpv6_get_client_duid_time_id
  • nx_dhcpv6_get_other_option_data
  • nx_dhcpv6_get_time_accrued
  • nx_dhcpv6_get_iana_lease_time

nx_dhcpv6_get_iana lease_time

IANA-Lease-Zeitdaten des Client abrufen

Prototyp

UINT nx_dhcpv6_get_iana_lease_time( NX_DHCPV6 *dhcpv6_ptr, ULONG *T1, ULONG *T2);

Beschreibung

Dieser Dienst ruft die globalen IA-NA-Lease-Zeitdaten (T1 und T2) des Client ab. Wenn keine der IA-NA-Clientadressen über einen gültigen Adressstatus verfügen, werden die Zeitdaten auf Null eingestellt und es wird ein erfolgreicher Abschlussstatus zurückgegeben. Wenn ein Client mehr als eine globale IPv6-Adresse hat, werden die Adressdaten der primären IA angezeigt.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • T1: Zeiger auf die Zeit zum Starten der Leaseverlängerung

  • T2: Zeiger auf die Zeit zum Starten der erneuten Leasebindung

Rückgabewerte

  • NX_SUCCESS (0x00) IANA-Leasedaten erfolgreich abgerufen

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Retrieve the client’s assigned IANA lease data. */status = nx_dhcpv6_get_iana_lease_time(&dhcp_0, &T1, &T2);/* If status is NX_SUCCESS the client IA address lease data was retrieved. */

Weitere Informationen

  • nx_dhcpv6_get_IP_address
  • nx_dhcpv6_get_client_duid_time_id
  • nx_dhcpv6_get_other_option_data
  • nx_dhcpv6_get_time_accrued
  • nx_dhcpv6_get_lease_time_data

nx_dhcpv6_get_valid_ip_address_count

Ruft die Anzahl der gültigen IA-Adressen des Client ab

Prototyp

UINT nx_dhcpv6_get_valid_ip_address_count( NX_DHCPV6 *dhcpv6_ptr, UINT *address_count);

Beschreibung

Dieser Dienst ruft die Anzahl der gültigen IPv6-Adressen des Client ab. Eine gültige IPv6-Adresse wird an den Client gebunden (zugewiesen) und bei der IP-Instanz registriert.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • address_count: Zeiger auf die zurückzugebende Adressanzahl

Rückgabewerte

  • NX_SUCCESS (0x00) IANA-Leasedaten erfolgreich abgerufen

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

UINT address_count; /* Retrieve the count of valid IA-NA addresses. */status = nx_dhcpv6_get_valid_ip_address_count(&dhcp_0, &address_count);/* If status is NX_SUCCESS the client IA address count was retrieved. */

nx_dhcpv6_get_valid_ip_address_lease_time

Client-IA-Daten mittels Adressindex abrufen

Prototyp

UINT nx_dhcpv6_get_valid_ip_address_lease_time( NX_DHCPV6 *dhcpv6_ptr, UINT address_index, NXD_ADDRESS *ip_address, ULONG *preferred_lifetime, ULONG *valid_lifetime);

Beschreibung

Dieser Dienst ruft die IA-Adresse des Client und die Leasedaten nach Adressindex ab. Wenn ein ungültiger Index angegeben wird oder die IPv6-Adresse an diesem Index nicht gültig ist, sendet der Dienst den Fehlerstatus NX_DHCPV6_IA_ADDRESS_NOT_VALID.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • address_index: Index in DHCPv6-IA-Tabelle

  • ip_address: Zeiger auf die abzurufende IPv6-Adresse

  • preferred_lifetime: Zeiger auf die Uhrzeit, zu der die IA-Adresse veraltet ist

  • valid_lifetime: Zeiger auf die Uhrzeit, zu der die IA-Adresse abgelaufen ist

Rückgabewerte

  • NX_SUCCESS (0x00) IANA-Daten erfolgreich abgerufen

  • NX_DHCPV6_IA_ADDRESS_NOT_VALID (0xead) Ein ungültiger Index oder keine gültige IPv6-Adresse am angegebenen Index

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

UINT address_index = 1; NXD_ADDRESS *ip_address;/* Retrieve the IPv6 address, and valid and preferred lifetime for the IA record Saved at index 1 in the DHCPv6 table. */status = nx_dhcpv6_get_valid_ip_address_lease_time(&dhcp_0, address_index, &ip_address, &preferred_lifetime, &valid_lifetime);/* If status is NX_SUCCESS the client IA address and lease data were retrieved. */

Weitere Informationen

  • nx_dhcpv6_get_IP_address
  • nx_dhcpv6_get_iana_lease_time
  • nx_dhcpv6_get_lease_time_data

nx_dhcpv6_get_DNS_server_address

Ruft die DNS-Serveradresse ab

Prototyp

UINT nx_dhcpv6_get_DNS_server_address( NX_DHCPV6 *dhcpv6_ptr, UINT index, NXD_ADDRESS *server_address);

Beschreibung

Dieser Dienst ruft die IPv6-Adressdaten des DNS-Servers am angegebenen Index in der Clientliste ab. Wenn die Liste keine Serveradresse am Index enthält, wird dies als Fehler gemeldet. Der Index darf nicht länger als die DNS-Serverliste sein, die von der vom benutzerkonfigurierbaren Option NX_DHCPV6_NUM_DNS_SERVERS angegeben wird.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • index: Indizierung in die DNS-Serverliste

  • server_address: Zeiger auf den Serveradresspuffer

Rückgabewerte

  • NX_SUCCESS (0x00) Adresse wurde erfolgreich abgerufen

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Retrieve the DNS server at the specified index in the list. */UINT index = 0;NXD_ADDRESS server_address; status = nx_dhcpv6_get_DNS_server_address(&dhcp_0, index, &server_address);/* If status == NX_SUCCESS, the DNS server IP address successfully retrieved. */

Weitere Informationen

  • nx_dhcpv6_get_IP_address
  • nx_dhcpv6_get_lease_time_data
  • nx_dhcpv6_get_time_accrued

nx_dhcpv6_get_other_option_data

Ruft DHCPv6-Optionsdaten ab

Prototyp

UINT nx_dhcpv6_get_other_option_data( NX_DHCPV6 *dhcpv6_ptr, UINT option_code, UCHAR *buffer);

Beschreibung

Dieser Dienst ruft DHCPv6-Optionsdaten aus einer DHCPv6-Nachricht für den angegebenen Optionscode ab.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • option: Code Optionscode, für den Daten abgerufen werden sollen

  • buffer: Zeiger auf den Puffer, in den Daten kopiert werden sollen

Rückgabewerte

  • NX_SUCCESS (0x00) Optionsdaten erfolgreich abgerufen

  • NX_DHCPV6_UNKNOWN_OPTION (0xeab) Unbekannter/nicht unterstützter Optionscode

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_DHCPV6_PARAM_ERROR (0xe93) Eingabe (nicht Zeiger) ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Retrieve the option data specified by the input option code. */status = nx_dhcpv6_get_other_option_data(&dhcp_0, option_code, buffer);/* If status is NX_SUCCESS the option data was retrieved. */

Weitere Informationen

  • nx_dhcpv6_get_IP_address
  • nx_dhcpv6_get_lease_time_data
  • nx_dhcpv6_get_time_accrued

nx_dhcpv6_get_time_accrued

Ruft die für den IP-Adress-Lease des Client aufgelaufende Zeit ab

Prototyp

UINT nx_dhcpv6_get_time_accrued( NX_DHCPV6 *dhcpv6_ptr, ULONG *time_accrued);

Beschreibung

Dieser Dienst ruft die aufgelaufene Zeit des IPv6-Adress-Lease des Client ab. Die Funktion überprüft alle IPv6-Adressen, die dem Client für die erste gültige Adresse zugewiesen sind. Wenn keine gültigen Adressen gefunden werden, wird für die aufgelaufene Zeit ein Wert von Null zurückgegeben.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • time_accrued: Zeiger auf die Zeit, die in der IP-Lease angefallen ist

Rückgabewerte

  • NX_SUCCESS (0x00) Aufgelaufene Zeit wurde erfolgreich abgerufen

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Retrieve time accrued time on the Client address lease. */status = nx_dhcpv6_get_time_accrued(&dhcp_0, &time_accrued);/* If status is NX_SUCCESS the time accrued on the client IP address lease was retrieved. */

Weitere Informationen

  • nx_dhcpv6_get_IP_address
  • nx_dhcpv6_get_other_option_data
  • nx_dhcpv6_get_lease_time_data
  • nx_dhcpv6_set_time_accrued

nx_dhcpv6_get_time_server_address

Ruft die Zeitserveradresse ab

Prototyp

UINT nx_dhcpv6_get_time_server_address( NX_DHCPV6 *dhcpv6_ptr, UINT index, NXD_ADDRESS *server_address);

Beschreibung

Dieser Dienst ruft die Zeitserver-IPv6-Adressdaten des DNS-Servers am angegebenen Index in der Clientliste ab. Wenn die Liste keine Serveradresse am Index enthält, wird dies als Fehler gemeldet. Der Index darf nicht länger als die Zeitserverliste sein, die in der benutzerkonfigurierbaren Option NX_DHCPV6_NUM_TIME_SERVERS festgelegt ist.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • index: Indizierung in die Zeitserverliste

  • server_address: Zeiger auf den Serveradresspuffer

Rückgabewerte

  • NX_SUCCESS (0x00) Adresse wurde erfolgreich abgerufen

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Retrieve the Time server at the specified index in the list. */UINT index = 0;NXD_ADDRESS server_address; status = nx_dhcpv6_get_time_server_address(&dhcp_0, index, &server_address);/* If status == NX_SUCCESS, the Time server IP address successfully retrieved. */

Weitere Informationen

  • nx_dhcpv6_get_IP_address
  • nx_dhcpv6_get_lease_time_data
  • nx_dhcpv6_get_time_accrued
  • nx_dhcpv6_get_DNS_server_address

nx_dhcpv6_reinitialize

Client-IP-Adresse aus der IP-Tabelle entfernen

Prototyp

UINT nx_dhcpv6_reinitialize(NX_DHCPV6 *dhcpv6_ptr);

Beschreibung

Dieser Dienst initialisiert den Client erneut, um den DHCPv6-Zustandsautomaten neu zu starten und das DHCPv6-Protokoll erneut durchzuführen. Dies ist nicht erforderlich, wenn der Client den DHPCv6-Zustandsautomaten zuvor noch nicht gestartet hat oder keine IPv6-Adressen zugewiesen wurden. Die Adressen, die auf dem DHCPv6-Client gespeichert sind und bei der IP-Instanz registriert sind, werden alle gelöscht.

Hinweis

Die Anwendung muss trotzdem den DHCPv6-Client mittels nx_dhcpv6_start-service starten und die Anforderung für die IPv6-Adresszuweisung einleiten, indem nx_dhcpv6_request_solicitaufgerufen wird.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

Rückgabewerte

  • NX_SUCCESS (0x00) Adresse wurde erfolgreich entfernt

  • NX_DHCPV6_ALREADY_STARTED (0xE91) DHCPv6-Client wird bereits ausgeführt

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Clear the assigned IP address(es) from the Client and the IP instance */status = nx_dhcpv6_reinitialize(&dhcp_0);/* If status is NX_SUCCESS the Client IP address was successfully removed. */

Weitere Informationen

  • nx_dhcpv6_stop
  • nx_dhcpv6_start

nx_dhcpv6_request_confirm

Den Bestätigungszustand (CONFIRM) des Client verarbeiten

Prototyp

UINT nx_dhcpv6_request_confirm(NX_DHCPV6 *dhcpv6_ptr);

Beschreibung

Dieser Dienst sendet eine Bestätigungsanforderung. Wenn eine Antwort vom Server empfangen wird, aktualisiert der DHCPv6-Client seine Lease-Parameter mit den empfangenen Daten.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

Rückgabewerte

  • NX_SUCCESS (0x00) Bestätigung (CONFIRM), dass die Nachricht erfolgreich gesendet und verarbeitet wurde

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Send a CONFIRM message to the Server. */status = nx_dhcpv6_request_confirm(&dhcp_0);/* If status is NX_SUCCESS the Client successfully sent the CONFIRM message. */

Weitere Informationen

  • nx_dhcpv6_request_inform_request
  • nx_dhcpv6_request_release
  • nx_dhcpv6_request_solicit

nx_dhcpv6_request_inform_request

INFORM-Anforderungsstatus des Client verarbeiten

Prototyp

UINT nx_dhcpv6_request_inform_request(NX_DHCPV6 *dhcpv6_ptr);

Beschreibung

Dieser Dienst sendet eine INFORM REQUEST-Nachricht. Wenn eine Antwort empfangen wird, wird sie verarbeitet, um zu bestimmen, ob sie gültig ist und der Server die Anforderung genehmigt hat. Die Client-Instanz wird dann nach Bedarf mit den Serverinformationen aktualisiert.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

Rückgabewerte

  • NX_SUCCESS (0x00) INFORM REQUEST-Nachricht wurde erfolgreich erstellt und verarbeitet

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Send an INFORM REQUEST message to the server. */status = nx_dhcpv6_request_inform_request(&dhcp_0);/* If status is NX_SUCCESS the Client successfully sent the INFORM REQUEST message and processed the reply. */

Weitere Informationen

  • nx_dhcpv6_request_confirm

nx_dhcpv6_request_option_DNS_server

DNS-Server zu DHCPv6-Optionsanforderung hinzufügen

Prototyp

UINT nx_dhcpv6_request_option_DNS_server(NX_DHCPV6 *dhcpv6_ptr);

Beschreibung

Mit diesem Dienst wird die Option zum Anfordern von DNS-Serverinformationen der DHCPv6-Optionsanforderung hinzugefügt. Wenn die Antwort des Servers DNS-Serverdaten enthält, speichert der Client den DNS-Server, sofern ausreichend Platz vorhanden ist. Die Anzahl der DNS-Server, die der Client speichern kann, wird durch die konfigurierbare Option NX_DHCPV6_NUM_DNS_SERVERS bestimmt, deren Standardwert 2 ist.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

Rückgabewerte

  • NX_SUCCESS (0x00) DNS-Serveroption wurde aufgenommen

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Set the DNS server option in Client requests. */nx_dhcpv6_request_option_DNS_server(&dhcp_0, NX_TRUE);

Weitere Informationen

  • nx_dhcpv6_request_option_domain_name
  • nx_dhcpv6_request_option_time_server
  • nx_dhcpv6_request_option_timezone

nx_dhcpv6_request_option_FQDN

Option für vollqualifizierten Domänennamen zur Optionsanforderungsliste hinzufügen

Prototyp

UINT nx_dhcpv6_request_option_FQDN( NX_DHCPV6 *dhcpv6_ptr, UCHAR *domain_name, UINT op);

Beschreibung

Mit diesem Dienst wird der DHCPv6-Optionsanforderung die Option zum Hinzufügen des vollqualifizierten Domänennamens des Client hinzugefügt. Für diese Option (FQDN) gibt es drei Optionen:

  • NX_DHCPV6_CLIENT_DESIRES_UPDATE_AAAA_RR 0 Das FQDN-zu-IPv6-Adress-Mapping für den FQDN und der/den vom Client verwendeten Adresse(n) aktualisieren.

  • NX_DHCPV6_CLIENT_DESIRES_SERVER_DO_DNS_UPDATE 1 Das FQDN-zu-IPv6-Adress-Mapping für den FQDN und der/den vom Client verwendeten Adresse(n) zum Server aktualisieren.

  • NX_DHCPV6_CLIENT_DESIRES_NO_SERVER_DNS_UPDATE 2 Anforderung an den Server, keine DNS-Updates für Client auszuführen.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • domain_name: Zeichenfolge mit dem Domänennamen

  • op: Typ der FQDN-Option, die angewendet werden soll (siehe Liste oben)

Rückgabewerte

  • NX_SUCCESS (0x00) FQDN-Option ist enthalten

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Set the FQDN option in Client DHCPv6 request. */nx_dhcpv6_request_option_FQDN(&dhcp_0, “DHCPv6_Client”, NX_DHCPV6_CLIENT_DESIRES_NO_SERVER_DNS_UPDATE);

Weitere Informationen

  • nx_dhcpv6_request_option_domain_name
  • nx_dhcpv6_request_option_time_server
  • nx_dhcpv6_request_option_timezone

nx_dhcpv6_request_option_domain_name

Domänenname-Option der DHCPv6-Optionsanforderung hinzufügen

Prototyp

UINT nx_dhcpv6_request_option_domain_name(NX_DHCPV6 *dhcpv6_ptr);

Beschreibung

Dieser Dienst fügt der Anforderungsoption in den Client-Anforderungsnachrichten die Domänenname-Option hinzu. Wenn die Antwort vom Server Domänennamensdaten enthält, speichert der Client die Informationen über den Domänennamen, solange die Domänennamensgröße innerhalb der Puffergröße für den Domänennamen liegt. Diese Puffergröße ist eine konfigurierbare Option (NX_DHCPV6_DOMAIN_NAME_BUFFER_SIZE) mit einem Standardwert von 30 Bytes.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

Rückgabewerte

  • NX_SUCCESS (0x00) Die Option Domänenname ist eingerichtet

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Set the domain name option in Client requests. */nx_dhcpv6_request_option_domain_name(&dhcp_0, NX_TRUE);

Weitere Informationen

  • nx_dhcpv6_request_option_DNS_server
  • nx_dhcpv6_request_option_time_server
  • nx_dhcpv6_request_option_timezone

nx_dhcpv6_request_option_time_server

Zeitserverdaten als optionale Anforderung festlegen

Prototyp

UINT nx_dhcpv6_request_option_time_server(NX_DHCPV6 *dhcpv6_ptr);

Beschreibung

Mit diesem Dienst wird der Anforderungsoption Client-Anforderungsnachrichten die Option für Zeitserverinformationen hinzugefügt. Wenn die Antwort des Servers Zeitserverdaten enthält, speichert der Client den Zeitserver, sofern ausreichend Platz vorhanden ist. Die Anzahl von Zeitservern, die der Client speichern kann, wird durch die konfigurierbare Option bestimmt

NX_DHCPV6_NUM_TIME _SERVERS, wobei der Standardwert 1 lautet.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

Rückgabewerte

  • NX_SUCCESS (0x00) Zeitserveroption wurde hinzugefügt

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Set the time server option in Client request messages. */nx_dhcpv6_request_option_time_server(&dhcp_0, NX_TRUE);

Weitere Informationen

  • nx_dhcpv6_request_option_DNS_server
  • nx_dhcpv6_request_option_domain_name
  • nx_dhcpv6_request_option_timezone

nx_dhcpv6_request_option_timezone

Zeitzonendaten als optionale Anforderung festlegen

Prototyp

UINT nx_dhcpv6_request_option_timezone(NX_DHCPV6 *dhcpv6_ptr);

Beschreibung

Mit diesem Dienst wird der Client-Anforderungsoption die Option zum Anfordern von Zeitzoneninformationen hinzugefügt. Wenn die Antwort des Servers Zeitzonendaten enthält, speichert der Client die Zeitzoneninformationen, solange die Zeitzonengröße innerhalb der Puffergröße für die Zeitzone liegt. Diese Puffergröße ist eine konfigurierbare Option (NX_DHCPV6_TIME_ZONE_BUFFER_SIZE) mit einem Standardwert von 10 Bytes.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

Rückgabewerte

  • NX_SUCCESS (0x00) Zeitzonenoption wurde hinzugefügt

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Set time zone option in Client request messages. */nx_dhcpv6_request_option_timezone(&dhcp_0, NX_TRUE);

Weitere Informationen

  • nx_dhcpv6_request_option_DNS_server
  • nx_dhcpv6_request_option_domain_name
  • nx_dhcpv6_request_option_time_server

nx_dhcpv6_request_release

Eine DHCPv6-RELEASE-Nachricht senden

Prototyp

UINT nx_dhcpv6_request_release(NX_DHCPV6 *dhcpv6_ptr);

Beschreibung

Dieser Dienst sendet eine RELEASE-Nachricht im Clientnetzwerk. Wenn die Nachricht erfolgreich gesendet wurde, wird der Status erfolgreich gemeldet. Eine erfolgreicher Ausführung bedeutet jedoch nicht, dass der Client eine Antwort empfangen hat oder dass ihm bereits eine IPv6-Adresse gewährt wurde. Der DHCPv6 Client-Thread-Vorgang wartet auf eine Antwort vom DHCPv6-Server. Wenn eine Antwort empfangen wird, wird überprüft, ob die Antwort gültig ist, und die Daten werden im Clientdatensatz gespeichert.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

Rückgabewerte

  • NX_SUCCESS (0x00) RELEASE-Nachricht wurde erfolgreich gesendet

  • NX_DHCPV6_NOT_STARTED (0xE92) DHCPv6-Client-Vorgang nicht gestartet

  • NX_DHCPV6_IA_ADDRESS_NOT_VALID (0xEAD) Adresse ist nicht an den Client gebunden

  • NX_INVALID_INTERFACE (0x4c) Wurde nicht in der IP-Adresstabelle gefunden

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Send an RELEASE message to the Server. */status = nx_dhcpv6_request_release(&dhcp_0);/* If status is NX_SUCCESS the Client successfully sent the RELEASE message. */

Weitere Informationen

  • nx_dhcpv6_request_confirm
  • nx_dhcpv6_request_inform_request
  • nx_dhcpv6_request_solicit

nx_dhcpv6_request_solicit

Eine SOLICIT-Nachricht senden

Prototyp

UINT nx_dhcpv6_request_solicit(NX_DHCPV6 *dhcpv6_ptr);

Beschreibung

Dieser Dienst sendet eine SOLICIT-Nachricht im Netzwerk hinaus. Wenn die Nachricht erfolgreich gesendet wurde, wird der Status erfolgreich gemeldet. Eine erfolgreicher Ausführung bedeutet jedoch nicht, dass der Client eine Antwort empfangen hat oder dass ihm bereits eine IPv6-Adresse gewährt wurde. Der DHCPv6-Client-Thread-Vorgang wartet auf eine Antwort (eine Ankündigungsnachricht (ADVERTISE)) von einem DHCPv6-Server. Wenn eine Antwort eintrifft, wird überprüft, ob die Antwort gültig ist. Dann werden die Daten im Clientdatensatz gespeichert und der Client wird in den Anforderungsstatus aufgestuft.

Hinweis

Wenn die Rapid-Commit-Option eingestellt ist, wechselt der DHCPv6-Client direkt in den gebundenen Zustand, wenn er eine gültige Server-Ankündigungsnachricht (ADVERTISE) empfängt. Weitere Informationen finden Sie in der Dienstbeschreibung für nx_dhcpv6_request_solicit_rapid.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

Rückgabewerte

  • NX_SUCCESS (0x00) SOLICIT-Nachricht wurde erfolgreich gesendet

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Send an SOLICIT message to the server. */status = nx_dhcpv6_request_solicit(&dhcp_0);/* If status is NX_SUCCESS the Client successfully sent the SOLICIT message. */

nx_dhcpv6_request_solicit_rapid

Eine SOLICIT-Nachricht mittels Rapid-Commit-Option senden

Prototyp

UINT nx_dhcpv6_request_solicit_rapid(NX_DHCPV6 *dhcpv6_ptr);

Beschreibung

Dieser Dienst sendet eine SOLICIT-Nachricht im Netzwerk hinaus, wobei die Rapid-Commit-Option aktiviert ist. Wenn die Nachricht erfolgreich gesendet wurde, wird der Status erfolgreich gemeldet. Eine erfolgreicher Ausführung bedeutet jedoch nicht, dass der Client eine Antwort empfangen hat oder dass ihm bereits eine IPv6-Adresse gewährt wurde. Der DHCPv6-Client-Thread-Vorgang wartet auf eine Antwort (eine Ankündigungsnachricht (ADVERTISE)) von einem DHCPv6-Server. Wenn eine Antwort eintrifft, wird überprüft, ob die Antwort gültig ist. Dann werden die Daten im Clientdatensatz gespeichert und der Client wird in den Gebunden-Status (BOUND) aufgestuft.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

Rückgabewerte

  • NX_SUCCESS (0x00) SOLICIT-Nachricht wurde erfolgreich gesendet

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Send an SOLICIT message to the server. */status = nx_dhcpv6_request_solicit_rapid(&dhcp_0);/* If status is NX_SUCCESS the Client successfully sent the SOLICIT message. */

Weitere Informationen

  • nx_dhcpv6_request_solicit
  • nx_dhcpv6_request_confirm
  • nx_dhcpv6_request_inform_request
  • nx_dhcpv6_request_release

nx_dhcpv6_resume

DHCPv6-Client-Vorgang fortsetzen

Prototyp

UINT nx_dhcpv6_resume(NX_DHCPV6 *dhcpv6_ptr);

Beschreibung

Dieser Dienst setzt den DHCPv6-Client-Thread-Vorgang fort. Der aktuelle DHCPv6-Clientzustand wird verarbeitet (z. B. gebunden, Anfrage)

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

Rückgabewerte

  • NX_SUCCESS (0x00): Client erfolgreich fortgesetzt

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Resume the DHCPv6 Client task. */status = nx_dhcpv6_resume(&dhcp_0);/* If status is NX_SUCCESS the Client thread task successfully resumed. */

Weitere Informationen

  • nx_dhcpv6_start
  • nx_dhcpv6_stop
  • nx_dhcpv6_suspend

nx_dhcpv6_set_ time_accrued

Legt die für den IP-Adress-Lease des Client aufgelaufende Zeit fest

Prototyp

UINT nx_dhcpv6_set_time_accrued( NX_DHCPV6 *dhcpv6_ptr, ULONG time_accrued);

Beschreibung

Dieser Dienst legt die Zeit fest, die für die globale IP-Adresse des Client aufgelaufen ist, seit sie vom Server zugewiesen wurde. Dies sollte nur verwendet werden, wenn ein Client zurzeit an eine zugewiesene IPv6-Adresse gebunden ist.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

  • time_accrued: Bei IP-Lease aufgelaufene Zeit

Rückgabewerte

  • NX_SUCCESS (0x00) Aufgelaufene Zeit wurde erfolgreich festgelegt

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

Zulässig von

Threads

Beispiel

/* Set time accrued since client’s assigned IP address was assigned. */status = nx_dhcpv6_set_time_accrued(&dhcp_0, time_accrued);/* If status is NX_SUCCESS the time accrued on the client IP address lease was successfully set. */

Weitere Informationen

  • nx_dhcpv6_get_IP_address
  • nx_dhcpv6_get_other_option_data
  • nx_dhcpv6_get_lease_time_data
  • nx_dhcpv6_get_time_accrued

nx_dhcpv6_start

DHCPv6-Client-Vorgang starten

Prototyp

UINT nx_dhcpv6_start(NX_DHCPV6 *dhcpv6_ptr);

Beschreibung

Dieser Dienst startet den DHCPv6-Client-Vorgang und bereitet den Client für die Ausführung des DHCPv6-Protokolls vor. Es wird überprüft, ob die Client-Instanz über ausreichende Informationen verfügt (z. B. eine Client-DUID). Dann wird der UDP-Socket zum Senden und Empfangen von DHCPv6-Nachrichten erstellt und gebunden und der Timer aktiviert, um die Sitzungszeit zu verfolgen sowie festzuhalten, wann der aktuelle IPv6-Lease abläuft.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

Rückgabewerte

  • NX_SUCCESS (0x00) Client erfolgreich gestartet

  • NX_DHCPV6_MISSING_REQUIRED_OPTIONS (0xEA9) Erforderliche Client-Optionen fehlen

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Start the DHCPv6 Client task. */status = nx_dhcpv6_start(&dhcp_0);/* If status is NX_SUCCESS the Client successfully started. */

Weitere Informationen

  • nx_dhcpv6_resume
  • nx_dhcpv6_suspend
  • nx_dhcpv6_stop
  • nx_dhcpv6_reinitialize

nx_dhcpv6_stop

DHCPv6-Client-Vorgang beenden

Prototyp

UINT nx_dhcpv6_stop(NX_DHCPV6 *dhcpv6_ptr);

Beschreibung

Dieser Dienst beendet den DHCPv6-Client-Vorgang und löscht die Anzahl der Neuübertragungen, maximale Neuübertragungsintervalle, deaktiviert die Sitzungs- und Leaseablauftimer und löst die Bindung des DHCPv6-Client-Socketports auf. Um den Client neu zu starten, muss der Client zuerst beendet und optional erneut initialisiert werden, bevor eine andere Sitzung mit einem beliebigen DHCPv6-Server gestartet werden kann. Weitere Informationen dazu finden Sie im Abschnitt Kurze Beispiele.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

Rückgabewerte

  • NX_SUCCESS (0x00) Client erfolgreich beendet

  • NX_DHCPV6_NOT_STARTED (0xE92) Client-Thread wurde nicht gestartet

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Stop the DHCPv6 Client task. */status = nx_dhcpv6_start(&dhcp_0);/* If status is NX_SUCCESS the Client successfully stopped. */

Weitere Informationen

  • nx_dhcpv6_resume
  • nx_dhcpv6_suspend
  • nx_dhcpv6_reinitialize
  • nx_dhcpv6_start

nx_dhcpv6_suspend

DHCPv6-Client-Vorgang anhalten

Prototyp

UINT nx_dhcpv6_suspend(NX_DHCPV6 *dhcpv6_ptr);

Beschreibung

Dieser Dienst sperrt den DHCPv6-Client-Vorgang und alle Anforderungen, die gerade verarbeitet werden. Timer werden deaktiviert und der Clientzustand wird auf Nicht Ausgeführt eingestellt.

Eingabeparameter

  • dhcpv6_ptr: Zeiger auf die DHCPv6-Clientinstanz

Rückgabewerte

  • NX_SUCCESS (0x00) Client erfolgreich gesperrt

  • NX_DHCPV6_NOT_STARTED (0xe92) Client wird nicht ausgeführt und kann daher nicht gesperrt werden

  • NX_PTR_ERROR: (0x16) Zeigereingabe ist ungültig

  • NX_CALLER_ERROR (0x11) Muss aus dem Thread aufgerufen werden

Zulässig von

Threads

Beispiel

/* Suspend the DHCPv6 Client task. */status = nx_dhcpv6_suspend(&dhcp_0);/* If status is NX_SUCCESS the Client successfully suspended. */

Weitere Informationen

  • nx_dhcpv6_resume
  • nx_dhcpv6_start
  • nx_dhcpv6_reinitialize
  • nx_dhcpv6_stop
Top Articles
Latest Posts
Article information

Author: Reed Wilderman

Last Updated: 12/10/2022

Views: 6140

Rating: 4.1 / 5 (52 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Reed Wilderman

Birthday: 1992-06-14

Address: 998 Estell Village, Lake Oscarberg, SD 48713-6877

Phone: +21813267449721

Job: Technology Engineer

Hobby: Swimming, Do it yourself, Beekeeping, Lapidary, Cosplaying, Hiking, Graffiti

Introduction: My name is Reed Wilderman, I am a faithful, bright, lucky, adventurous, lively, rich, vast person who loves writing and wants to share my knowledge and understanding with you.