ModInfo -- szczegóły

Piotr Grochowski pager w pld.org.pl
Nie, 28 Mar 1999, 15:13:38 CEST


Hejki!
W zasadzie jest to do PawłaG -- parę pytanek o parę szczegółów. A więc:
1. Czy pliki modinfo (tekstowe - te z opisami modułów) bedą się znajdować
na bootkietce, czy na źródle instalacji. To uzależnia wczytanie plików
metodą 'naturalną' (open, read, etc.) lub iointf...
2. Coś mówiłeś, że modinfo ma być częścią pldiliba -- integracją z nim
(tzn. modyfikacja makefile, pldi.h, etc.) mam się zająć ja, czy zrobisz to
ty?
Pytań w zasadzie tyle. ModInfo jest w zasadzie gotowe, przetestowane i
wyczyszczone. Tym razem się postarałem, żebyś nie miał na co narzekać...
:)
Zrobiłem to trochę inaczej, niż mówiliśmy -- po zrobieniu projektu wyszło,
że drobne zmiany umożliwią parę udogodnień. A więc plików z opisami
modułów może być więcej niż jeden: np. jeden z opisem modułów sieciowych,
drugi z opisem scsi, trzeci z paride, etc. Wystarczy dodać pliki
odpowiednią funkcją -- moim zdaniem ułatwi to tworzenie plików modinfo,
gdyż każdy zajmujący się danym zagadnieniem (sieć, scsi, paride) będzie
mógł stworzyć plik z opisem modułów danej grupy. Struktura samych plików
też jest zmieniona. Bardziej HTMLowa. Wytłumaczę na przykładzie:
<modinfo>
	<module>
		<name 3comcard>		<#> Komentarz </#>
		<type net>		<#> Dłuższy
						komentarz </#>
		<device eth>
		<devname "3COM Ethernet Adaptor">
		<parameter "io":"0x220","0x230">
		<parameter "irq":"0","1","2">
	</module>
</modinfo>   
A więc <modinfo> oznacza początek pliku z opisem modułów </modinfo> -
koniec. <module> - nowy moduł, </module> - koniec opisu modułu. <name
nazwa> - nazwa pliku modułu bez rozszeżenia. Szerszy opis każdego modułu
znajduje się w pliku nazwa.mi. <type typ> - typ modułu. <device użądzenie>
- użądzenie z /dev. nazwa, typ i użądzenie nie mogą zawierać spacji! (nie
jest to sprawdzane). <devname "..."> - krótki opis modułu. <parameter
"par":"var1","var2",...> - JEDEN parametr par i jego wartości var1, var2,
etc.
Ograniczenia:
max 1024 moduły.		----------> nie jest sprawdzane.
max 64 znaki nazwy modułu     		\
max 10 znaków użądzenia modułu	  	|
max 10 znaków typu modułu	  	|   
max 256 znaków opisu użądzenia	  	|  Te rzeczy są sprawdzane, i w
max 32 znaki/parametr			| razie czego zwracany jest błąd.
max 32 znaki/wartość parametru		/
max 16 parametrów/moduł         \__________\ nie jest sprawdzane
max 128 wartości/moduł          /          /

Rzeczy, które nie są sprawdzane w niczym nie przeszkadzają, wątpię, abyśmy
je przekroczyli, ale i tak sprawdzanie tegoż dorobię w wolnym czasie. Na
razie nie jest to niezbędne. Od razu więc mówię, że jest to jedna, i chyba
jedyna niedoróbka. Sprawdzanie wszelkich (mam nadzieję) innych błędów jest
zrobione.

Udostępniona jest biblioteka+program przykładowy, który sprawdza
poprawność pliku modinfo.

A jak to wygląda od strony instalatora?
Funkcje zwracające opisy modułów:
1. Funkcja zwracająca wskażnik do opisu wszystkich modułów i ich liczbę 
2. Funkcja zwracająca liczbę i wskażniki do modułów wybranego typu
3. ---------------------------------"------------------------ użądzenia
Wszystkie wskaźniki są do bazy samego modinfo, a nie do ich kopii
(oszczędność pamięci).

OK. W zasadzie to by było na tyle. Sam kod udostępnię, gdy Paweł odpowie
na powyższe pytania (lub przynajmniej to pierwsze). Czyli pewnie jutro.

Jakieś sugestie/pytania odnośnie powyższego?

PaGer

-- 
       _______/ P i o t r   G r o c h o w s k i \______
 /\___/  e-mail: pager w pld.org.pl, pager w dione.ids.pl, \___/\
<          pager w viii-lo.krakow.pl, pager w kki.net.pl         >
 \/~~~\_____/~Get~Your~Copy~Of~Dial~Up~Timer~At:~\_____/~~~\/
            \__http://dutimer.viii-lo.krakow.pl__/



Więcej informacji o liście dyskusyjnej pld-installer