udhcp
原始碼詳解(一)
之檔案組織結構
(dhcp server)
author : hui
from :
created : 2010-10-2
udhcp
目錄下有十幾個原始檔,乙個原始檔相對應乙個模組,完成一系列相關的功能,例如在
static_leases.c
主要針對
static_lease
鍊錶增刪查詢等操作。
dhcpd.c
——整個
dhcp server
執行的主線,
server
開始執行是從udhcpd_main
函式開
|始,相當於我們程式的
main
入口。在
dhcpd_main
將各個功能模組組合起
|來實現我們的
dhcp server。|
arpping.c
——這個檔案裡只有乙個函式
arpping
,server
在給客戶機分配
ip位址|從
ip位址池裡找到
a free ip
後,會呼叫
arpping
函式看網路上是否
|主機使用該位址。|
common.c
—引用檔案的注釋:
functions for debugging and logging as well as some
|other ****** helperfunctions.
|file.c
——檔名可以看出她是跟檔案打交道的。
file.c
裡有個很重要的函式
|read_config
,讀取預設配置資訊和從配置檔案
udhcpd.conf
檔案裡讀
|取配置資訊,從網上
down
個udhcpd.conf,
她和linux
下其他配置文
|件格式一樣,以後寫這類函式時候可以模仿著寫。
|leases.c
——針對在
dhcpd.h
檔案裡宣告的
struct dhcpofferedaddr
結構的操作函|數。
|option.c——在
dhcp
互動的資料報文中有個選項字段
options,
該檔案裡的函式操作
|物件也就是選項資訊。
|serverpacket.c
資料報文傳送之前,根據不同情況對各個欄位的填充相應的資訊。
||||
|packet.c
——dhcp
報文的傳送資訊封裝與向網路傳送。|
pidfile.c
——functions to assist in the writing and removing of pidfiles. |
主要針對
/var/run/udhcpd.pid |
signalpipe.c
—server
會監聽兩個檔案描述符,其中乙個是」管道
」描述符,該描述符
|的相應操作就在
signalpipe.c
檔案裡,另外還有對
signal
的設定……
|socket.c
——socket
套接字建立,
inte***ce
資訊讀取。|
static_leases.c
對在dhcpd.h
裡定義的
struct static_lease
結構體的相應操作函式。
相對應得標頭檔案是對函式宣告,以及結構體的定義和巨集的定義。
udhcp詳解原始碼(序)
udhcp原始碼詳解 序 author hui 632254504 qq.com from created 2010 10 1 這篇udhcp詳解是基於busybox 1.02裡的 busybox 1.02 networking udhcp 目錄下的原始碼進行講解與分析,主要是對udhcp serv...
udhcp原始碼詳解(四)
udhcp原始碼詳解 四 之租賃ip的管理 author hui 632254504 qq.com from created 2010 10 4 server端對於租賃出去的ip的管理是基於結構體dhcpofferedaddr的,該結構體的定義是在leases.c檔案裡 結構體的成員介紹說明見詳解之...
udhcp原始碼詳解(三) 下
udhcp原始碼詳解 三 下 之配置資訊的讀取 author hui 632254504 qq.com from created 2010 10 3 上節講解了read config函式,讀取配置資訊到server config的相應成員變數裡,但read config函式只負責把配置資訊重檔案裡讀...