日刊OpenLibSys
開発状況
- EXE 5%
- DLL 85%
- SYS 90%
- VXD 0%
とりあえず、エクスポートすべき OpenLibSys Core API を整理しました。
- ReadMSR
- WriteMSR
- ReadIoPortByte
- ReadIoPortWord
- ReadIoPortDword
- WriteIoPortByte
- WriteIoPortWord
- WriteIoPortDword
- ReadMemBlock
- WriteMemBlock
- ReadPciConfigByte
- ReadPciConfigWord
- ReadPciConfigDword
- WritePciConfigByte
- WritePciConfigWord
- WritePciConfigDword
- SetPciMaxBusNo
- FindPciDeviceByID
- FindPciDeviceByClass
API 名をご覧になればだいたいどんなことができるかはわかるかと思います。一応 Win32 API と似たような命名規約にしたつもりですが、Byte, Word, Dword って一般的かなぁ???WDK ヘッダのマクロとか見てると WRITE_REGISTER_BUFFER_ULONG とか ULONG 表記なんですよね。
UCHAR, USHORT, ULONG 表記に改めると・・・
- ReadMSR
- WriteMSR
- ReadIoPortUchar
- ReadIoPortUshort
- ReadIoPortUlong
- WriteIoPortUchar
- WriteIoPortUshort
- WriteIoPortUlong
- ReadMemBlock
- WriteMemBlock
- ReadPciConfigUchar
- ReadPciConfigUshort
- ReadPciConfigUlong
- WritePciConfigUchar
- WritePciConfigUshort
- WritePciConfigUlong
- SetPciMaxBusNo
- FindPciDeviceByID
- FindPciDeviceByClass
こっちの方が奇麗かな。最終決定はもう少し先で良いので既存ライブラリの命名規約も調査してみようかな。
*ライブラリ自体はまぁまぁできてきたのですが、肝心のアプリが全然できていないのでバイナリ&ソース公開はもう少し先になりそうです。しばしお待ちを・・・。
型の表記ですが、個人的には「符号+サイズ」
* ReadMSR
* WriteMSR
* ReadIoPortU8
* ReadIoPortU16
* ReadIoPortU32
* WriteIoPortU8
* WriteIoPortU16
* WriteIoPortU32
* ReadMemBlock
* WriteMemBlock
* ReadPciConfigU8
* ReadPciConfigU16
* ReadPciConfigU32
* WritePciConfigU8
* WritePciConfigU16
* WritePciConfigU32
* SetPciMaxBusNo
* FindPciDeviceByID
* FindPciDeviceByClass
という表記のほうが将来もしかすると必要になるサイズ追加がやりやすく、C以外から利用する人(非MS系言語の人も)にとってもサイズが一目瞭然で良いように思いますがいかがですか。
あとsigned系しかない言語体系だとひとつ上のサイズにする代わりに符号付きという
* ReadIoPortU8S16
* ReadIoPortU16S32
* ReadIoPortU32S64
* WriteIoPortU8S16
* WriteIoPortU16S32
* WriteIoPortU32S64
なんてのがあると、実際に最大ビットの立った情報が来る場合でも素直に利用できそうです。
>sayさん
コメントありがとうございます。
サイズをそのまま書くのも一案ですよね。
引き続き検討してみます。