OSDN Git Service

Import translated manuals from JM CVS Repository.
[linuxjm/jm.git] / manual / linux-man9 / original / man9 / intro.9
1 .\" -*- nroff -*-
2 .TH intro 9 "July 1997" "Linux DDI" "Linux DDI"
3
4 .\" Copyright 1997 Stephen Williams
5
6 .\" Permission is granted to make and distribute verbatim copies of this
7 .\" manual provided the copyright notice and this permission notice are
8 .\" preserved on all copies.
9 .\"
10 .\" Permission is granted to copy and distribute modified versions of this
11 .\" manual under the conditions for verbatim copying, provided that the
12 .\" entire resulting derived work is distributed under the terms of a
13 .\" permission notice identical to this one
14 .\"
15 .\" Since the Linux kernel and libraries are constantly changing, this
16 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
17 .\" responsibility for errors or omissions, or for damages resulting from
18 .\" the use of the information contained herein.  The author(s) may not
19 .\" have taken the same level of care in the production of this manual,
20 .\" which is licensed free of charge, as they might when working
21 .\" professionally.
22 .\"
23 .\" Formatted or processed versions of this manual, if unaccompanied by
24 .\" the source, must acknowledge the copyright and authors of this work.
25
26 .SH NAME
27 intro \- Introduction to kernel interface
28 .SH SYNOPSIS
29 .B #include <linux/version.h>
30 .SH DESCRIPTION
31 This section documents the functions available to device driver
32 writers and kernel level modules. The functions are of interest mainly
33 to device driver writers, although anyone considering running code in
34 linux kernel mode may need to be familiar with these interfaces.
35 .PP
36 Some of the functions of the DDI exist only in certain versions of the
37 kernel. Use the
38 .B LINUX_VERSION_CODE
39 macro to test for specific versions of the kernel. For example, to use
40 a feature that is new to 2.1, say:
41 .PP
42 .nf
43 #if LINUX_VERSION_CODE >= 0x020100
44     ... use new stuff ...
45 #else
46     ... do it the old way ...
47 #endif
48 .fi
49 .PP
50 The following is a list of the man pages, divided roughly into
51 function groups.
52 .SS "Kernel Functions"
53 These are general kernel functions.
54 .RS
55 .TP
56 MAJOR
57 .TP
58 MOD_INC_USE_COUNT
59 .TP
60 cli
61 .TP
62 get_user
63 .TP
64 init_bh
65 .TP
66 init_module
67 .TP
68 kmalloc
69 .TP
70 poll_wait
71 .TP
72 printk
73 .TP
74 probe_irq_on
75 .TP
76 register_chrdev
77 .TP
78 register_console
79 .TP
80 request_irq
81 .TP
82 save_flags
83 .TP
84 sleep_on
85 .TP
86 wake_up
87 .RE
88 .SS "/proc functions"
89 These functions relate to manipulation of the
90 .B /proc
91 filesystem.
92 .RS
93 .TP
94 proc_dir_entry
95 .TP
96 proc_net_register
97 .TP
98 proc_scsi_register
99 .RE
100 .SS "BIOS32 functions"
101 These are specific to PCI (BIOS32) support.
102 .RS
103 .TP
104 pcibios_find_class
105 .TP
106 pcibios_present
107 .TP
108 pcibios_read_config_byte
109 .TP
110 pcibios_read_config_dword
111 .TP
112 pcibios_read_config_word
113 .TP
114 pcibios_strerror
115 .TP
116 pcibios_write_config_byte
117 .TP
118 pcibios_write_config_dword
119 .TP
120 pcibios_write_config_word
121 .RE
122 .SS "VM functions"
123 These are functions that support manipulating the virtual memory
124 subsystem.
125 .RS
126 .TP
127 MAP_NR
128 .TP
129 mem_map_reserve
130 .RE
131 .SS "Network Functions"
132 .RS
133 .TP
134 skb_dequeue
135 .TP
136 skb_insert
137 .TP
138 skb_peek
139 .TP
140 skb_queue_empty
141 .TP
142 skb_queue_head
143 .TP
144 skb_queue_head_init
145 .TP
146 skb_queue_len
147 .TP
148 skb_queue_tail
149 .TP
150 skb_unlink
151 .RE
152 .SH AVAILABILITY
153 Each man page attempts to list the kernel versions where the function
154 is available. If the form of the function changes, this section tells
155 when the described form applies.
156 .SH "SEE ALSO"
157 This section lists other man pages that may be of interest. Also,
158 interesting source files in the linux kernel may be listed here.
159 .SH AUTHORS
160 Each man page has a section like this one that lists the author(s) who
161 contributed significantly to that page. Other unnamed individuals may
162 also have contributed corrections, editorial, etc.
163 .PP
164 Major contributors are (in alphabetical order)
165 Cyrus Durgin <cider@speakeasy.org>,
166 Niel Moore <amethyst@maxwell.ml.org>,
167 Keith Owens <kaos@ocs.com.au>,
168 Kirk Petersen <kirk@speakeasy.org>,
169 Jim Van Zandt <jrv@vanzandt.mv.com>,
170 and Stephen Williams <steve@icarus.com>.
171 .PP
172 Editorial, and this intro page, were done by Stephen Williams
173 <steve@icarus.com>.
174 .SH BUGS
175 The living linux kernel is a moving target, and the kernel functions
176 are unique to linux. Therefore, although the editor and contributers
177 make a good effort to be as accurate as possible, errors may
178 exist. The source codes of the linux kernel are the ultimate authority
179 on the behavior of any function and should be considered the final
180 word.