Xref: utzoo comp.unix.i386:8222 comp.unix.xenix:12963 comp.unix.wizards:23674 comp.unix.questions:25043 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!lll-winken!uunet!tut.cis.ohio-state.edu!ukma!usenet.ins.cwru.edu!ncoast!fmsystm!bmhalh!bruce From: bruce@bmhalh.UUCP (Bruce M. Himebaugh) Newsgroups: comp.unix.i386,comp.unix.xenix,comp.unix.wizards,comp.unix.questions Subject: Help Needed with Xenix Device Drivers Keywords: help xenix drivers device kernel Message-ID: <24@bmhalh.UUCP> Date: 19 Aug 90 14:09:33 GMT Followup-To: poster Organization: Bruce M. Himebaugh Lines: 27 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@bmhalh.UUCP -- I'm not registered yet.