Help Needed with Xenix Device Drivers

Bruce M. Himebaugh bruce at bmhalh.UUCP
Mon Aug 20 00:09:33 AEST 1990


I am writing a character device driver under SCO Xenix (v2.3.3) and have run
across a stumbling block.  During the read and write functions I wish to
access the current file postition (as set by lseek(S)).  Per the documentation
that I have I access the element u_offset in the 'u' structure.  This works
great for 0-65535.  But, when I tell lseek(S) to move to postition 65536 the
value of u_offset gets set to 0 and if I move to 65537 it gets set to 1, etc.
I have the feeling that u_offset is just a an offset into the current segment
and when accessing values outside 65535 I am actually moving the file pointer
into another segment, but how do I tell what that segment is?  Hopefully I am
partially on the right track, but if I'm not I would appreciate some direction.
I have programmed in C for quite a while, but am just now tackling device
drivers.

A second question is, where can I get a book (or books) on writing XENIX device
drivers?  I have a book on UNIX device drivers, but Xenix is enough different
that it doesn't answer all my questions.

Any help on these two questions will be GREATLY appreciated.

Thanks,

Bruce
-- 
Bruce M. Himebaugh                                          Voice: 216-484-3528
   PATHS: uunet!{ncoast,aablue}!fmsystm!bmhalh!bruce
          (NOTE: the system name "fmsystm" is with no "e", NOT "fmsystem")
  *NOTE*: Please do not use bruce at bmhalh.UUCP -- I'm not registered yet.



More information about the Comp.unix.questions mailing list