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

FreeBSD Manual Pages

  
 
  

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 is	not a question of just shut-
     ting up cc, it is a question about	avoiding the things it complains
     about.  To	put it bluntly,	do not 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	is not generally applied though.

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

     We	do not 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 en-
	  closed 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 do not 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	13.0		       December	13, 1995		  FreeBSD 13.0

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://man.freebsd.org/cgi/man.cgi?query=intro&sektion=9&manpath=FreeBSD+13.2-RELEASE+and+Ports>

home | help