2011 04 08 驅動的寫法

2021-05-25 00:15:01 字數 1061 閱讀 2619

先規定驅動介面檔案的特定格式:

drv_***.c

dev_***.c

drv_***_i.h

1.drv_***_i.h是對外介面.

2 drv_***.c裡面都是以下面的函式介面:

(開放在magic.c裡面)

&drv_dtos_minit,

&drv_dtos_mexit,

&drv_dtos_mopen,

&drv_dtos_mclose,

&drv_dtos_mread,

&drv_dtos_mwrite,

&drv_dtos_mioctrl

drv_dtos_minit是最先會被執行的函式(在結構體中的解釋: //在install/reset模組時使用,若模組需要後台任務,可以在此啟動)

drv_dtos_mioctrl函式應該是在 esdev_plugin("//drv", 0, 0, 1);時呼叫,並有乙個drv_cmd_plugin命令進來(細節不管).

而通常在對drv_cmd_plugin命令進行處理時要用esdev_devreg("userdtos", "dtos", &dtos_dev_ops, 0);將驅動註冊,以便在程式中使用.

dev_***.c

中也是下面的函式介面:

__dev_devop_t dtos_dev_ops =

;供上面esdev_devreg作引數用.

這樣,在程式中,用下面方法:

elibs_fioctrl(p_tpfile, drv_dtos_cmd_init, 0, null);

elibs_fclose(p_tpfile);

}就可操作dev_dtos_ioctrl函式了(上面的elibs_fioctrl(p_tpfile, drv_dtos_cmd_init, 0, null),肯定呼叫dev_dtos_ioctrl來對drv_dtos_cmd_init命令進行處理).

真正驅動的初始化就是在dev_dtos_ioctrl對drv_dtos_cmd_init命令進行處理時實現.

上面的結構就是為了封裝,但個人認為過於繁瑣,可能為了與系統其它方面相容有關.

的寫法 寫法 通告的寫法及範例

基本釋義 通告是在一定範圍內公布應當遵守或周知的事項時使用的公文。通告不同公告,它主要用於有關單位開展業務工作需要。它的使用者可以是各級各類機關,它的內容又往往涉及到社會的方方面面,因此,無論其使用主體還是其內容都具有相當的廣泛性。基本特點 1.規範性 通告所告知的事項常作為各有關方面行為的準則或對...

遞迴的寫法

foreach datarow dr0 in dt.rows tn1 new treenode tn1.nodes.add tn0 tn1 tn0 tn3 tn1 method tn1 treeview1.nodes.add tn1 private void method treenode tn1 ...

表單的寫法

問合 日 初期 問合 番號 対応狀況 対応狀況 有無 問合 分類 問合 方法 問合 內容 問合 商品1 問合 商品2 問合 商品3 受注番號 受付番號 出荷番號 請求番號 for int i 0 i hashmap item hashmap list.get i stringutil.nvl ite...