Skip to content

Latest commit

 

History

History
56 lines (45 loc) · 1.72 KB

sample_221.md

File metadata and controls

56 lines (45 loc) · 1.72 KB

Home

Winsock: changing the byte ordering

Code:

* you do not need to call the WSAStartup function
* before using these functions

DECLARE INTEGER ntohs IN ws2_32 INTEGER netshort
DECLARE INTEGER ntohl IN ws2_32 INTEGER netlong
DECLARE INTEGER htonl IN ws2_32 INTEGER hostlong
DECLARE INTEGER htons IN ws2_32 INTEGER hostshort
	
* HOST to NET  u_short -- htons
* NET  to HOST u_short -- ntohs
* HOST to NET  u_long  -- htonl
* NET  to HOST u_long  -- ntohl
	
? "*** Working with U_SHORT values"
lnFtpPort = htons(21)
? "Converted to the network byte order:",lnFtpPort
? "Host byte order again:", ntohs(lnFtpPort)
?
	
? "*** Working with U_LONG values"
lnTelnetPort = htonl(23)
? "Converted to the network byte order:", lnTelnetPort
? "Host byte order again:", ntohl(lnTelnetPort)
?	

DECLARE INTEGER inet_addr IN ws2_32 STRING cp
DECLARE STRING inet_ntoa IN ws2_32 INTEGER in_addr

* The inet_addr function converts a string containing an (Ipv4)
* Internet Protocol dotted address into a proper address
* for the IN_ADDR structure
? "*** Converting IP addresses"
lnIP = inet_addr("127.0.0.1")
? "String value converted into a proper address:", lnIP
	
* The inet_ntoa function converts an (Ipv4) Internet network address
* into a string in Internet standard dotted format
? "Converted back to a string value:", inet_ntoa (lnIP)  

Listed functions:

WSAStartup
htonl
htons
inet_addr
inet_ntoa
ntohl
ntohs