61 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.TH HTON 3
 | 
						|
.SH NAME
 | 
						|
hton, htons, htonl, ntohs, ntohl \- host to network byte order conversion
 | 
						|
.SH SYNOPSIS
 | 
						|
.ft B
 | 
						|
.nf
 | 
						|
#define _MINIX_SOURCE 1
 | 
						|
#include <stddef.h>
 | 
						|
#include <sys/types.h>
 | 
						|
 | 
						|
#include <net/hton.h>
 | 
						|
 | 
						|
u16_t htons(u16_t \fIhost_word\fP)
 | 
						|
u32_t htonl(u32_t \fIhost_dword\fP)
 | 
						|
u16_t ntohs(u16_t \fInetwork_word\fP)
 | 
						|
u32_t ntohl(u32_t \fInetwork_dword\fP)
 | 
						|
u16_t HTONS(u16_t \fIhost_word\fP)
 | 
						|
u32_t HTONL(u32_t \fIhost_dword\fP)
 | 
						|
u16_t NTOHS(u16_t \fInetwork_word\fP)
 | 
						|
u32_t NTOHL(u32_t \fInetwork_dword\fP)
 | 
						|
.fi
 | 
						|
.ft R
 | 
						|
.SH DESCRIPTION
 | 
						|
These macros convert 16-bit and 32-bit quantities to and from the network
 | 
						|
byte order used by the TCP/IP protocols.
 | 
						|
The function of the macros is encoded in their name.
 | 
						|
.B H
 | 
						|
means host byte order,
 | 
						|
.B n
 | 
						|
means network byte order,
 | 
						|
.B s
 | 
						|
means a 16-bit quantity and
 | 
						|
.B l
 | 
						|
means a 32-bit quantity.
 | 
						|
Thus
 | 
						|
.B htons
 | 
						|
converts a 16-bit quantity from host byte order to network byte order.
 | 
						|
The difference between the lower case and upper case variants is that
 | 
						|
the lower case variants evaluate the argument at most once and the
 | 
						|
upper case variants can be used for constant folding.
 | 
						|
That is,
 | 
						|
.PP
 | 
						|
.RS
 | 
						|
htonl(f(x))
 | 
						|
.RE
 | 
						|
.PP
 | 
						|
will call f(x) at most once and
 | 
						|
.PP
 | 
						|
.RS
 | 
						|
HTONS(0x10)
 | 
						|
.RE
 | 
						|
.PP
 | 
						|
will be equivalent to 0x10 on a big-endian machine and 0x1000 on a
 | 
						|
little-endian machine.
 | 
						|
.SH "SEE ALSO"
 | 
						|
.BR ip (4).
 | 
						|
.SH AUTHOR
 | 
						|
Philip Homburg (philip@cs.vu.nl)
 | 
						|
.\"
 | 
						|
.\" $PchId: hton.3,v 1.3 1996/02/22 21:10:01 philip Exp $
 |