Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
INTRO(9)	       FreeBSD Kernel Developer's Manual	      INTRO(9)

NAME
     intro -- introduction to system kernel interfaces

DESCRIPTION
     This section contains information about the interfaces and	subroutines in
     the kernel.

PROTOTYPES ANSI-C AND ALL THAT
     Yes please.

     We	would like all code to be fully	prototyped.

     If	your code compiles cleanly with	cc -Wall we would feel happy about it.
     It	is important to	understand that	this isn't a question of just shutting
     up	cc, it is a question about avoiding the	things it complains about.  To
     put it bluntly, don't hide	the problem by casting and other obfuscating
     practices,	solve the problem.

INDENTATION AND	STYLE
     Believe it	or not,	there actually exists a	guide for indentation and
     style.  It	isn't generally	applied	though.

     We	would appreciate if people would pay attention to it, and at least not
     violate it	blatantly.

     We	don't mind it too badly	if you have your own style, but	please make
     sure we can read it too.

     Please take time to read style(9) for more	information.

NAMING THINGS
     Some general rules	exist:

     1.	  If a function	is meant as a debugging	aid in DDB, it should be
	  enclosed in

		#ifdef DDB

		#endif /* DDB */

	  And the name of the procedure	should start with the prefix DDB_ to
	  clearly identify the procedure as a debugger routine.

SCOPE OF SYMBOLS
     It	is important to	carefully consider the scope of	symbols	in the kernel.
     The default is to make everything static, unless some reason requires the
     opposite.

     There are several reasons for this	policy,	the main one is	that the ker-
     nel is one	monolithic name-space, and pollution is	not a good idea	here
     either.

     For device	drivers	and other modules that don't add new internal inter-
     faces to the kernel, the entire source should be in one file if possible.
     That way all symbols can be made static.

     If	for some reason	a module is split over multiple	source files, then try
     to	split the module along some major fault-line and consider using	the
     number of global symbols as your guide.  The fewer	the better.

SEE ALSO
     style(9)

HISTORY
     The intro section manual page appeared in FreeBSD 2.2.

FreeBSD	2.2		       December	13, 1995		   FreeBSD 2.2

NAME | DESCRIPTION | PROTOTYPES ANSI-C AND ALL THAT | INDENTATION AND STYLE | NAMING THINGS | SCOPE OF SYMBOLS | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=intro&sektion=9&manpath=FreeBSD+3.2-RELEASE>

home | help