> Pisem kernel modul za IR daljinca (od FlyVideo98), vse mi dela lepo in
> prav,
> vendar nikakor ne morem dobiti podatkov iz character deviceja.
> (tukaj sem se bolj zacetnik :)
> 
> static int read_iremocon(struct inode * node, struct file * filp,
>         char * buf, int count)
> 
> "count" mi je namrec vedno neko zelo veliko (nakljucno?) negativno
> stevilo,
> namesto da bi bilo pozitivno in bi pomenilo stevilo charov, ki
> naj jih "stlacim" v buf (s put_user).

Cakaj, ko ti preberes nekaj iz tvojega device-a gres potem gledat
spremeljjivko count za to, koliko si prebral (tako te jaz razumem - ce
ni tako, potem je moja razlaga verjetno napacna) ?? A ni nekako bolj
normalno, da je count parameter za funkcijo (ce ga ta slucajno rabi,
ponavadi ga), vrednost, ki bi jo ti rad pa vrnes na koncu funkcije z :

...
return vrednost;
}

Saj imas funkcijo, ki vraca int (ki je se vedno na isti lokaciji), to
tudi fread pricakuje, IMO. Ce bos pri taki funkciji naredil fread brez
parametra, koliko znakov bi rad (count), bi ti morala vrnit vsebino
bufferja in njegovo dolzino (!!! ne sizeof(buffer) !!!, jaz sem enkrat
tako neumnost naredil :-)))).

Torej count = fread(parametri, 0), ne fread(parametri, count) oz. nekaj
podobvnega ?

                                                bye, Ab

Reply via email to