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

FreeBSD Manual Pages

  
 
  

home | help
INTRO(9)		   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
       shutting	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  ker-
       nel.   The default is to	make everything	static,	unless some reason re-
       quires the opposite.

       There are several reasons for this policy, the main  one	 is  that  the
       kernel  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  in-
       terfaces	to the kernel, the entire source should	be in one file if pos-
       sible.  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.2		       December	13, 1995		      INTRO(9)

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>

home | help