On Wed, Dec 16, 2009 at 2:08 PM, Darren J Moffat <darr...@opensolaris.org>wrote:
> Shreyas Bhatewara wrote: > >> Folks, >> >> I am writing a device driver for current and past versions of >> (Open)Solaris >> >> How can I check the version of the running kernel in the driver code ? I >> tried using utsname.version (/.release) but it does not exist for Solaris 10 >> or older kernels. Is there any other literal/variable which spans current >> and old Solaris kernels which can give the kernel version/ release >> information ? For Eg : linux has LINUX_VERSION_CODE >> > > Why do you think you need to do that ? > > Unlike Linux Solaris has a very very stable API and ABI for device drivers. > Yes, I certainly agree to that. Recently, I am trying to compile the driver with a literal : MAC_VERSION (this is a nic driver) and somehow the compilation fails to get latest value of this literal (post b111 MAC_VERSION is 2, earlier it was 1). I completely fail to understand where the compilation gets (wrong ) value of MAC_VERSION. It does not exist in /usr/include/sys and the file mac_provider.h does not exist on the Opensolaris machine anywhere. Fed up of solving this problem, I decided to use the versioin number. if (version < 111) mac_version = 1; else mac_version = 2; Irrespective..., shouldnt the code have some mechanism to know current kernel version. May be for debug logs or stuff. > > See the "Writing Device Drivers" section of the docs.sun.com documentation > on Solaris - which applies to OpenSolaris as well. > > -- > Darren J Moffat >
_______________________________________________ opensolaris-code mailing list opensolaris-code@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/opensolaris-code