字節序函數
內存中儲存16位整數(兩個字節)有兩種方法,一種是將底序字節存儲在起始地址,這稱爲小端字節序,另一種是將高序字節存儲在起始地址,這稱爲大端字節序。如下圖:
網際協議在處理這些多字節整數時,使用大端字節序。主機字節序和網際字節序間的相互轉換函數如下:
其中h代表host,n代表network,s代表short(16位整數),l代表long(32位整數)
字節操縱函數
這裏的字節操縱函數主要有兩組,b打頭的bzero和bcopy等函數和mem打頭的memset等函數,這些函數平時使用較多,這裏不做過多的說明,函數原型如下:
地址轉換函數
人們習慣使用點分十進制數的格式表示IP地址,但有好多時候需要網絡字節序二進制值(此值存於套接口地址結構中),這時就需要用到相應的轉化函數,如下:
上面3個函數只能對Ipv4地址進行轉換,下面兩個較新的函數對IPv4和IPv6的地址都能處理,切通常都會使用這兩個函數,如下: