[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-hackers
Subject:    Re: How to compile 'struct module' usage?
From:       Gary Jennejohn <gljennjohn () gmail ! com>
Date:       2019-12-16 20:00:16
Message-ID: 20191216210016.15480d75 () ernst ! home
[Download RAW message or body]

On Mon, 16 Dec 2019 11:01:16 -0700
Ian Lepore <ian@freebsd.org> wrote:

> On Mon, 2019-12-16 at 17:26 +0000, Kenneth M. Glassey wrote:
> > Hello, I am doing some fiddling on a driver port and I am
> > encountering
> >  a compilation error "incomplete definition of type struct module"
> > concerning lines in the port source that access members of struct
> > module,
> > such as module->name. Looking into the issue, it seems that struct
> > module
> > is not defined in the headers, at least not in sys/module.h, but I
> > did see
> > some definitions in *.c files elsewhere.
> > 
> > To check whether this was a problem specifically due to this driver,
> > I
> > made a simple module following one of the tutorials online and it
> > compiled
> > fine. I then added a line that accessed module->name and I got the
> > compilation error.
> > 
> > So how do we build a module to allow the use of the members of struct
> > module? Is the struct module definition supposed to be constructed at
> > compile time, and if so, how? Or is it verboten to access members of
> > that
> > struct?
> > 
> > Thanks!
> > 
> > Kenneth
> >   
> 
> The definition of struct module is private by design.  You need to use
> the existing accessor functions such as module_getname(),
> module_file(), etc (which are likely not well-documented anywhere, but
> can be found in kern_module.c).
> 

This is useful information, especially because the C-code _is_ the
only documentation.

There's a module_setspecific(), would be nice if there were also a
module_getspecific().  But it looks like module_setspecific() is only
there for kern_syscall_module_handler().

-- 
Gary Jennejohn
_______________________________________________
freebsd-hackers@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic