Htons (): differenze tra le versioni

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 3: Riga 3:
converte il numero intero corto senza segno a 16-bit (''unsigned short int'' ) del parametro "__hostlong" dall'ordine dei byte dell'host all'ordine dei byte della rete.
converte il numero intero corto senza segno a 16-bit (''unsigned short int'' ) del parametro "__hostlong" dall'ordine dei byte dell'host all'ordine dei byte della rete.
<BR>In sostanza questa funzione inverte l'ordine dei byte su una macchina ''little-endian''.
<BR>In sostanza questa funzione inverte l'ordine dei byte su una macchina ''little-endian''.


Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché bisognerà dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:
Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché bisognerà dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:
  Private <FONT color=#B22222>Extern '''htonl'''</font>(__hostlong As Integer) As Integer In "libc:6"
  Private <FONT color=#B22222>Extern '''htons'''</font>(__hostlong As Short) As Short In "libc:6"
Semplice esempio uso in Gambas:
Semplice esempio uso in Gambas:
  Library "libc:6"
  Library "libc:6"
Riga 16: Riga 17:
  Public Sub Main()
  Public Sub Main()
   
   
   Print Hex(htonl(&1234), 4)
   Print Hex(<FONT color=#B22222><B>htons</b></font>(&1234), 4)
   
   
  End
  End

Versione attuale delle 15:20, 13 giu 2024

La funzione htons(), dichiarata nel file header /usr/include/netinet/in.h:

uint16_t htons (uint16_t __hostshort)

converte il numero intero corto senza segno a 16-bit (unsigned short int ) del parametro "__hostlong" dall'ordine dei byte dell'host all'ordine dei byte della rete.
In sostanza questa funzione inverte l'ordine dei byte su una macchina little-endian.


Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché bisognerà dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:

Private Extern htons(__hostlong As Short) As Short In "libc:6"

Semplice esempio uso in Gambas:

Library "libc:6"

' uint16_t htons (uint16_t __hostshort)
' Function to convert between host and network byte order.
Private Extern htons(__hostlong As Short) As Short


Public Sub Main()

 Print Hex(htons(&1234), 4)

End


Riferimenti

https://linux.die.net/man/3/ntohs