xref: /freebsd/share/man/man9/MODULE_DEPEND.9 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
17b8dd7efSAlexander Langer.\" -*- nroff -*-
27b8dd7efSAlexander Langer.\"
37b8dd7efSAlexander Langer.\" Copyright (c) 2001 Alexander Langer
47b8dd7efSAlexander Langer.\"
57b8dd7efSAlexander Langer.\" All rights reserved.
67b8dd7efSAlexander Langer.\"
77b8dd7efSAlexander Langer.\" This program is free software.
87b8dd7efSAlexander Langer.\"
97b8dd7efSAlexander Langer.\" Redistribution and use in source and binary forms, with or without
107b8dd7efSAlexander Langer.\" modification, are permitted provided that the following conditions
117b8dd7efSAlexander Langer.\" are met:
127b8dd7efSAlexander Langer.\" 1. Redistributions of source code must retain the above copyright
137b8dd7efSAlexander Langer.\"    notice, this list of conditions and the following disclaimer.
147b8dd7efSAlexander Langer.\" 2. Redistributions in binary form must reproduce the above copyright
157b8dd7efSAlexander Langer.\"    notice, this list of conditions and the following disclaimer in the
167b8dd7efSAlexander Langer.\"    documentation and/or other materials provided with the distribution.
177b8dd7efSAlexander Langer.\"
187b8dd7efSAlexander Langer.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
197b8dd7efSAlexander Langer.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
207b8dd7efSAlexander Langer.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
217b8dd7efSAlexander Langer.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
227b8dd7efSAlexander Langer.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
237b8dd7efSAlexander Langer.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
247b8dd7efSAlexander Langer.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
257b8dd7efSAlexander Langer.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
267b8dd7efSAlexander Langer.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
277b8dd7efSAlexander Langer.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
287b8dd7efSAlexander Langer.\"
296821b225SSimon L. B. Nielsen.Dd January 11, 2005
307b8dd7efSAlexander Langer.Dt MODULE_DEPEND 9
317b8dd7efSAlexander Langer.Os
327b8dd7efSAlexander Langer.Sh NAME
337b8dd7efSAlexander Langer.Nm MODULE_DEPEND
347b8dd7efSAlexander Langer.Nd set kernel module dependencies
357b8dd7efSAlexander Langer.Sh SYNOPSIS
36f16b3c0dSChad David.In sys/param.h
3732eef9aeSRuslan Ermilov.In sys/module.h
387b8dd7efSAlexander Langer.Fn MODULE_DEPEND "name" "moddepend" "int minversion" "int prefversion" "int maxversion"
397b8dd7efSAlexander Langer.Sh DESCRIPTION
407b8dd7efSAlexander LangerThe
417b8dd7efSAlexander Langer.Fn MODULE_DEPEND
427b8dd7efSAlexander Langermacro sets a dependency on another kernel module with name
437b8dd7efSAlexander Langer.Fa moddepend ,
44be0ffb76SGiorgos Keramidaswhich has registered
457b8dd7efSAlexander Langerits version with
467b8dd7efSAlexander Langer.Fn MODULE_VERSION .
472eaf5c11SGiorgos Keramidas.Pp
486821b225SSimon L. B. NielsenThe
496821b225SSimon L. B. Nielsen.Fn MODULE_DEPEND
506821b225SSimon L. B. Nielsenmacro provides hints to the kernel
516821b225SSimon L. B. Nielsen.Xr loader 8
526821b225SSimon L. B. Nielsenand to the kernel linker to ensure that the named dependency is loaded
536821b225SSimon L. B. Nielsenprior to the existing module.
546821b225SSimon L. B. NielsenIt does not change or dictate the order in which modules are
556821b225SSimon L. B. Nielseninitialized at runtime.
566821b225SSimon L. B. Nielsen.Pp
572eaf5c11SGiorgos KeramidasThree versions must be specified for
582eaf5c11SGiorgos Keramidas.Fa moddepend :
592eaf5c11SGiorgos Keramidas.Bl -tag -width ".Fa prefversion"
602eaf5c11SGiorgos Keramidas.It Fa minversion
612eaf5c11SGiorgos KeramidasThe minimum version on which the current module can depend.
622eaf5c11SGiorgos Keramidas.It Fa maxversion
632eaf5c11SGiorgos KeramidasThe maximum version on which the current module can depend.
642eaf5c11SGiorgos Keramidas.It Fa prefversion
652eaf5c11SGiorgos KeramidasThe preferred version on which the current module can depend.
662eaf5c11SGiorgos Keramidas.El
677b8dd7efSAlexander Langer.Sh EXAMPLES
687b8dd7efSAlexander Langer.Bd -literal
697b8dd7efSAlexander LangerMODULE_DEPEND(foo, bar, 1, 3, 4);
707b8dd7efSAlexander Langer.Ed
717b8dd7efSAlexander Langer.Sh SEE ALSO
727b8dd7efSAlexander Langer.Xr DECLARE_MODULE 9 ,
735521ff5aSRuslan Ermilov.Xr module 9 ,
745521ff5aSRuslan Ermilov.Xr MODULE_VERSION 9
757b8dd7efSAlexander Langer.Sh AUTHORS
767b8dd7efSAlexander Langer.An -nosplit
777b8dd7efSAlexander LangerThis manual page was written by
78*8a7314fcSBaptiste Daroussin.An Alexander Langer Aq Mt alex@FreeBSD.org .
79