1 /* $Id: proto.h,v 1.6 1996/08/01 02:08:42 paul Exp $ */
2
3 /* Function prototypes. */
4
5 #ifndef PROTO_H
6 #define PROTO_H
7
8 /* Struct declarations. */
9 struct dpeth;
10 struct proc;
11 struct tty;
12
13 /* at_wini.c, bios_wini.c, esdi_wini.c, ps_wini.c, xt_wini.c, wini.c */
14 _PROTOTYPE( void winchester_task, (void) );
15 _PROTOTYPE( void at_winchester_task, (void) );
16 _PROTOTYPE( void bios_winchester_task, (void) );
17 _PROTOTYPE( void esdi_winchester_task, (void) );
18 _PROTOTYPE( void ps_winchester_task, (void) );
19 _PROTOTYPE( void xt_winchester_task, (void) );
20
21 /* aha_scsi.c */
22 _PROTOTYPE( void aha_scsi_task, (void) );
23
24 /* clock.c */
25 _PROTOTYPE( void clock_task, (void) );
26 _PROTOTYPE( void clock_stop, (void) );
27 _PROTOTYPE( clock_t get_uptime, (void) );
28 _PROTOTYPE( void syn_alrm_task, (void) );
29 _PROTOTYPE( int clock_handler, (int irq) );
30
31 /* dmp.c */
32 _PROTOTYPE( void map_dmp, (void) );
33 _PROTOTYPE( void p_dmp, (void) );
34 _PROTOTYPE( void reg_dmp, (struct proc *rp) );
35
36 /* dp8390.c */
37 _PROTOTYPE( void dp8390_task, (void) );
38 _PROTOTYPE( void dp_dump, (void) );
39 _PROTOTYPE( void dp8390_stop, (void) );
40
41 /* floppy.c, stfloppy.c, sunfloppy.c */
42 _PROTOTYPE( void floppy_task, (void) );
43 _PROTOTYPE( void floppy_stop, (void) );
44
45 /* main.c, stmain.c */
46 _PROTOTYPE( void main, (void) );
47 _PROTOTYPE( void panic, (const char *s, int n) );
48
49 /* mcd.c */
50 _PROTOTYPE( void mcd_task, (void) );
51
52 /* memory.c */
53 _PROTOTYPE( void mem_task, (void) );
54
55 /* misc.c */
56 _PROTOTYPE( int env_parse, (char *env, char *fmt, int field,
57 long *param, long min, long max) );
58
59 /* printer.c, stprint.c, sunprinter.c */
60 _PROTOTYPE( void printer_task, (void) );
61
62 /* proc.c */
63 _PROTOTYPE( void interrupt, (int task) );
64 _PROTOTYPE( int lock_mini_send, (struct proc *caller_ptr,
65 int dest, message *m_ptr) );
66 _PROTOTYPE( void lock_pick_proc, (void) );
67 _PROTOTYPE( void lock_ready, (struct proc *rp) );
68 _PROTOTYPE( void lock_sched, (void) );
69 _PROTOTYPE( void lock_unready, (struct proc *rp) );
70 _PROTOTYPE( int sys_call, (int function, int src_dest, message *m_ptr) );
71 _PROTOTYPE( void unhold, (void) );
72
73 /* rs232.c */
74 _PROTOTYPE( void rs_init, (struct tty *tp) );
75
76 /* sb16_dsp.c */
77 _PROTOTYPE( void dsp_task, (void) );
78
79 /* sb16_mixer.c */
80 _PROTOTYPE( void mixer_task, (void) );
81
82 /* system.c */
83 _PROTOTYPE( void cause_sig, (int proc_nr, int sig_nr) );
84 _PROTOTYPE( void inform, (void) );
85 _PROTOTYPE( phys_bytes numap, (int proc_nr, vir_bytes vir_addr,
86 vir_bytes bytes) );
87 _PROTOTYPE( void sys_task, (void) );
88 _PROTOTYPE( phys_bytes umap, (struct proc *rp, int seg, vir_bytes vir_addr,
89 vir_bytes bytes) );
90
91 /* tty.c */
92 _PROTOTYPE( void handle_events, (struct tty *tp) );
93 _PROTOTYPE( void sigchar, (struct tty *tp, int sig) );
94 _PROTOTYPE( void tty_task, (void) );
95 _PROTOTYPE( int in_process, (struct tty *tp, char *buf, int count) );
96 _PROTOTYPE( void out_process, (struct tty *tp, char *bstart, char *bpos,
97 char *bend, int *icount, int *ocount) );
98 _PROTOTYPE( void tty_wakeup, (clock_t now) );
99 _PROTOTYPE( void tty_reply, (int code, int replyee, int proc_nr,
100 int status) );
101 _PROTOTYPE( void tty_devnop, (struct tty *tp) );
102
103 /* library */
104 _PROTOTYPE( void *memcpy, (void *_s1, const void *_s2, size_t _n) );
105
106 #if (CHIP == INTEL)
107
108 /* clock.c */
109 _PROTOTYPE( void milli_start, (struct milli_state *msp) );
110 _PROTOTYPE( unsigned milli_elapsed, (struct milli_state *msp) );
111 _PROTOTYPE( void milli_delay, (unsigned millisec) );
112
113 /* console.c */
114 _PROTOTYPE( void cons_stop, (void) );
115 _PROTOTYPE( void putk, (int c) );
116 _PROTOTYPE( void scr_init, (struct tty *tp) );
117 _PROTOTYPE( void toggle_scroll, (void) );
118 _PROTOTYPE( int con_loadfont, (phys_bytes user_phys) );
119
120 /* cstart.c */
121 _PROTOTYPE( void cstart, (U16_t cs, U16_t ds, U16_t mcs, U16_t mds,
122 U16_t parmoff, U16_t parmsize) );
123 _PROTOTYPE( char *k_getenv, (char *name) );
124
125 /* exception.c */
126 _PROTOTYPE( void exception, (unsigned vec_nr) );
127
128 /* i8259.c */
129 _PROTOTYPE( irq_handler_t get_irq_handler, (int irq) );
130 _PROTOTYPE( void put_irq_handler, (int irq, irq_handler_t handler) );
131 _PROTOTYPE( void intr_init, (int mine) );
132
133 /* keyboard.c */
134 _PROTOTYPE( void kb_init, (struct tty *tp) );
135 _PROTOTYPE( int kbd_loadmap, (phys_bytes user_phys) );
136 _PROTOTYPE( void wreboot, (int how) );
137
138 /* klib*.s */
139 _PROTOTYPE( void bios13, (void) );
140 _PROTOTYPE( phys_bytes check_mem, (phys_bytes base, phys_bytes size) );
141 _PROTOTYPE( void cp_mess, (int src,phys_clicks src_clicks,vir_bytes src_offset,
142 phys_clicks dst_clicks, vir_bytes dst_offset) );
143 _PROTOTYPE( int in_byte, (port_t port) );
144 _PROTOTYPE( int in_word, (port_t port) );
145 _PROTOTYPE( void lock, (void) );
146 _PROTOTYPE( void unlock, (void) );
147 _PROTOTYPE( void enable_irq, (unsigned irq) );
148 _PROTOTYPE( int disable_irq, (unsigned irq) );
149 _PROTOTYPE( u16_t mem_rdw, (segm_t segm, vir_bytes offset) );
150 _PROTOTYPE( void out_byte, (port_t port, int value) );
151 _PROTOTYPE( void out_word, (port_t port, int value) );
152 _PROTOTYPE( void phys_copy, (phys_bytes source, phys_bytes dest,
153 phys_bytes count) );
154 _PROTOTYPE( void port_read, (unsigned port, phys_bytes destination,
155 unsigned bytcount) );
156 _PROTOTYPE( void port_read_byte, (unsigned port, phys_bytes destination,
157 unsigned bytcount) );
158 _PROTOTYPE( void port_write, (unsigned port, phys_bytes source,
159 unsigned bytcount) );
160 _PROTOTYPE( void port_write_byte, (unsigned port, phys_bytes source,
161 unsigned bytcount) );
162 _PROTOTYPE( void reset, (void) );
163 _PROTOTYPE( void vid_vid_copy, (unsigned src, unsigned dst, unsigned count));
164 _PROTOTYPE( void mem_vid_copy, (u16_t *src, unsigned dst, unsigned count));
165 _PROTOTYPE( void level0, (void (*func)(void)) );
166 _PROTOTYPE( void monitor, (void) );
167
168 /* misc.c */
169 _PROTOTYPE( void mem_init, (void) );
170
171 /* mpx*.s */
172 _PROTOTYPE( void idle_task, (void) );
173 _PROTOTYPE( void restart, (void) );
174
175 /* The following are never called from C (pure asm procs). */
176
177 /* Exception handlers (real or protected mode), in numerical order. */
178 void _PROTOTYPE( int00, (void) ), _PROTOTYPE( divide_error, (void) );
179 void _PROTOTYPE( int01, (void) ), _PROTOTYPE( single_step_exception, (void) );
180 void _PROTOTYPE( int02, (void) ), _PROTOTYPE( nmi, (void) );
181 void _PROTOTYPE( int03, (void) ), _PROTOTYPE( breakpoint_exception, (void) );
182 void _PROTOTYPE( int04, (void) ), _PROTOTYPE( overflow, (void) );
183 void _PROTOTYPE( int05, (void) ), _PROTOTYPE( bounds_check, (void) );
184 void _PROTOTYPE( int06, (void) ), _PROTOTYPE( inval_opcode, (void) );
185 void _PROTOTYPE( int07, (void) ), _PROTOTYPE( copr_not_available, (void) );
186 void _PROTOTYPE( double_fault, (void) );
187 void _PROTOTYPE( copr_seg_overrun, (void) );
188 void _PROTOTYPE( inval_tss, (void) );
189 void _PROTOTYPE( segment_not_present, (void) );
190 void _PROTOTYPE( stack_exception, (void) );
191 void _PROTOTYPE( general_protection, (void) );
192 void _PROTOTYPE( page_fault, (void) );
193 void _PROTOTYPE( copr_error, (void) );
194
195 /* Hardware interrupt handlers. */
196 _PROTOTYPE( void hwint00, (void) );
197 _PROTOTYPE( void hwint01, (void) );
198 _PROTOTYPE( void hwint02, (void) );
199 _PROTOTYPE( void hwint03, (void) );
200 _PROTOTYPE( void hwint04, (void) );
201 _PROTOTYPE( void hwint05, (void) );
202 _PROTOTYPE( void hwint06, (void) );
203 _PROTOTYPE( void hwint07, (void) );
204 _PROTOTYPE( void hwint08, (void) );
205 _PROTOTYPE( void hwint09, (void) );
206 _PROTOTYPE( void hwint10, (void) );
207 _PROTOTYPE( void hwint11, (void) );
208 _PROTOTYPE( void hwint12, (void) );
209 _PROTOTYPE( void hwint13, (void) );
210 _PROTOTYPE( void hwint14, (void) );
211 _PROTOTYPE( void hwint15, (void) );
212
213 /* Software interrupt handlers, in numerical order. */
214 _PROTOTYPE( void trp, (void) );
215 _PROTOTYPE( void s_call, (void) ), _PROTOTYPE( p_s_call, (void) );
216 _PROTOTYPE( void level0_call, (void) );
217
218 /* ne2000.c */
219 _PROTOTYPE( int ne_probe, (struct dpeth *dep) );
220
221 /* printer.c */
222 _PROTOTYPE( void pr_restart, (void) );
223
224 /* protect.c */
225 _PROTOTYPE( void prot_init, (void) );
226 _PROTOTYPE( void init_codeseg, (struct segdesc_s *segdp, phys_bytes base,
227 phys_bytes size, int privilege) );
228 _PROTOTYPE( void init_dataseg, (struct segdesc_s *segdp, phys_bytes base,
229 phys_bytes size, int privilege) );
230 _PROTOTYPE( phys_bytes seg2phys, (U16_t seg) );
231 _PROTOTYPE( void enable_iop, (struct proc *pp) );
232
233 /* pty.c */
234 _PROTOTYPE( void do_pty, (struct tty *tp, message *m_ptr) );
235 _PROTOTYPE( void pty_init, (struct tty *tp) );
236
237 /* system.c */
238 _PROTOTYPE( void alloc_segments, (struct proc *rp) );
239
240 /* wdeth.c */
241 _PROTOTYPE( int wdeth_probe, (struct dpeth *dep) );
242
243 #endif /* (CHIP == INTEL) */
244
245 #if (CHIP == M68000)
246
247 /* cstart.c */
248 _PROTOTYPE( void cstart, (char *parmoff, size_t parmsize) );
249
250 /* stfloppy.c */
251 _PROTOTYPE( void fd_timer, (void) );
252
253 /* stmain.c */
254 _PROTOTYPE( void none, (void) );
255 _PROTOTYPE( void rupt, (void) );
256 _PROTOTYPE( void trap, (void) );
257 _PROTOTYPE( void checksp, (void) );
258 _PROTOTYPE( void aciaint, (void) );
259 _PROTOTYPE( void fake_int, (const char *s, int t) );
260 _PROTOTYPE( void timint, (int t) );
261 _PROTOTYPE( void mdiint, (void) );
262 _PROTOTYPE( void iob, (int t) );
263 _PROTOTYPE( void idle_task, (void) );
264
265 /* rs232.c */
266 _PROTOTYPE( void siaint, (int type) );
267
268 /* stcon.c */
269 _PROTOTYPE( void func_key, (void) );
270 _PROTOTYPE( void dump, (void) );
271 _PROTOTYPE( void putk, (int c) );
272
273 /* stdma.c */
274 _PROTOTYPE( void dmagrab, (int p, dmaint_t func) );
275 _PROTOTYPE( void dmafree, (int p) );
276 _PROTOTYPE( void dmaint, (void) );
277 _PROTOTYPE( void dmaaddr, (phys_bytes ad) );
278 _PROTOTYPE( int dmardat, (int mode, int delay) );
279 _PROTOTYPE( void dmawdat, (int mode, int data, int delay) );
280 _PROTOTYPE( void dmawcmd, (int data, unsigned mode) );
281 _PROTOTYPE( void dmacomm, (int mode, int data, int delay) );
282 _PROTOTYPE( int dmastat, (int mode, int delay) );
283
284 /* stdskclk.c */
285 _PROTOTYPE( int do_xbms, (phys_bytes address, int count, int rw, int minor) );
286
287 /* stkbd.c */
288 _PROTOTYPE( void kbdint, (void) );
289 _PROTOTYPE( void kb_timer, (void) );
290 _PROTOTYPE( int kb_read, (int minor, char **bufindirect) );
291 _PROTOTYPE( void kb_init, (int minor) );
292
293 /* stshadow.c */
294 _PROTOTYPE( void mkshadow, (struct proc *p, phys_clicks c2) );
295 _PROTOTYPE( void rmshadow, (struct proc *p, phys_clicks *basep,
296 phys_clicks *sizep) );
297 _PROTOTYPE( void unshadow, (struct proc *p) );
298
299 /* stvdu.c */
300 _PROTOTYPE( void flush, (struct tty *tp) );
301 _PROTOTYPE( void console, (struct tty *tp) );
302 _PROTOTYPE( void out_char, (struct tty *tp, int c) );
303 _PROTOTYPE( void scr_init, (int minor) );
304 _PROTOTYPE( void vduswitch, (struct tty *tp) );
305 _PROTOTYPE( void vdusetup, (unsigned int vres, char *vram,
306 unsigned short *vrgb) );
307 _PROTOTYPE( void vbl, (void) );
308 _PROTOTYPE( int vdu_loadfont, (message *m_ptr) );
309
310 /* stwini.c */
311 _PROTOTYPE( int wini_open, (message *mp) );
312 _PROTOTYPE( int wini_rdwt, (message *mp) );
313 _PROTOTYPE( int wini_hvrdwt, (message *mp) );
314 _PROTOTYPE( int wini_transfer, (int rw, int pnr, int minor,
315 long pos, int count, vir_bytes vadr) );
316 _PROTOTYPE( int wini_ioctl, (message *mp) );
317 _PROTOTYPE( int wini_close, (message *mp) );
318
319 /* stacsi.c */
320 _PROTOTYPE( int acsi_cmd, (int drive, unsigned char *cmd, int cmdlen,
321 phys_bytes address, phys_bytes data_len, int rw) );
322
323 /* stscsi.c */
324 _PROTOTYPE( void scsi_task, (void) );
325 _PROTOTYPE( void scsidmaint, (void) );
326 _PROTOTYPE( void scsiint, (void) );
327 _PROTOTYPE( int scsi_cmd, (int drive, unsigned char *cmd, int cmdlen,
328 phys_bytes address, phys_bytes data_len, int rw) );
329
330 /* klib68k.s */
331 _PROTOTYPE( void flipclicks, (phys_clicks c1, phys_clicks c2, phys_clicks n) );
332 _PROTOTYPE( void copyclicks, (phys_clicks src, phys_clicks dest,
333 phys_clicks nclicks) );
334 _PROTOTYPE( void zeroclicks, (phys_clicks dest, phys_clicks nclicks) );
335 _PROTOTYPE( void phys_copy, (phys_bytes src, phys_bytes dest, phys_bytes n) );
336
337 /* stdskclks.s */
338 _PROTOTYPE( int rd1byte, (void) );
339 _PROTOTYPE( int wr1byte, (int) );
340 _PROTOTYPE( long getsupra, (void) );
341 _PROTOTYPE( long geticd, (void) );
342
343 /* mpx.s */
344 _PROTOTYPE( int lock, (void) );
345 _PROTOTYPE( void unlock, (void) );
346 _PROTOTYPE( void restore, (int oldsr) );
347 _PROTOTYPE( void reboot, (void) );
348 _PROTOTYPE( int test_and_set, (char *flag) );
349 _PROTOTYPE( unsigned long get_mem_size, (char *start_addr) );
350
351 /* stprint.c */
352 #ifdef DEBOUT
353 _PROTOTYPE( void prtc, (int c) );
354 #endif
355
356 #ifdef FPP
357 /* fpp.c */
358 _PROTOTYPE( void fppinit, (void) );
359 _PROTOTYPE( void fpp_new_state, (struct proc *rp) );
360 _PROTOTYPE( void fpp_save, (struct proc *rp, struct cpu_state *p) );
361 _PROTOTYPE( struct cpu_state *fpp_restore, (struct proc *rp) );
362
363 /* fpps.s */
364 _PROTOTYPE( void _fppsave, (struct state_frame *p) );
365 _PROTOTYPE( void _fppsavereg, (struct fpp_model *p) );
366 _PROTOTYPE( void _fpprestore, (struct state_frame *p) );
367 _PROTOTYPE( void _fpprestreg, (struct fpp_model *p) );
368 #endif
369
370 #if (SHADOWING == 0)
371 /* pmmu.c */
372 _PROTOTYPE( void pmmuinit , (void) );
373 _PROTOTYPE( void pmmu_init_proc , (struct proc *rp ) );
374 _PROTOTYPE( void pmmu_restore , (struct proc *rp ) );
375 _PROTOTYPE( void pmmu_delete , (struct proc *rp ) );
376 _PROTOTYPE( void pmmu_flush , (struct proc *rp ) );
377 #endif
378
379 #endif /* (CHIP == M68000) */
380
381 #if (MACHINE == SUN)
382
383 /* debug.c */
384 _PROTOTYPE( void set_debug_level, (int level) );
385 _PROTOTYPE( void debug_str, (char *s) );
386 _PROTOTYPE( void debug_char, (char ch) );
387 _PROTOTYPE( void debug_int, (int i) );
388
389 /* logging.h */
390 _PROTOTYPE( void log_init, (void) );
391 _PROTOTYPE( void event_log, (int event, struct proc *p, int other_stn,
392 void *buff, int buff_len) );
393 _PROTOTYPE( int next_stn, (void) );
394
395 /* misc.c */
396 _PROTOTYPE( void mem_init, (void) );
397
398 /* mpx.c */
399 _PROTOTYPE( void init_sun_handlers, (void) );
400 _PROTOTYPE( void restart, (void) );
401 _PROTOTYPE( void lock, (void) );
402 _PROTOTYPE( void unlock, (void) );
403 _PROTOTYPE( void idle_task, (void) );
404
405 /* pty.c */
406 _PROTOTYPE( void do_pty, (struct tty *tp, message *m_ptr) );
407 _PROTOTYPE( void pty_init, (struct tty *tp) );
408
409 /* startSUN.s */
410 _PROTOTYPE ( int getksp, (void) );
411
412 /* sunconsole.c */
413 _PROTOTYPE( void scr_init, (struct tty *t) );
414 _PROTOTYPE( void putk, (char c) );
415 _PROTOTYPE( void hangup, (int connum) );
416
417 #if ENABLE_NETWORKING
418 /* sunether.c */
419 _PROTOTYPE( void se_init, (char *eaddr) );
420 _PROTOTYPE( void dp8390_task, (void) );
421 #endif
422
423 /* sunexception.c */
424 _PROTOTYPE( void exception,(int sig, void *siginf, struct stackframe_s *scp));
425 _PROTOTYPE( void do_dump, (void) );
426
427 /* sunkeyboard.c */
428 _PROTOTYPE( void kb_init, (struct tty *tp) );
429 _PROTOTYPE( void wreboot, (int how) );
430
431 /* sunkeyboard.c */
432 _PROTOTYPE( void sunio_install_handler , (int fd, void (*handler)(int fd)));
433 _PROTOTYPE( void sunio_interrupt, (void) );
434
435 /* sunprotect.c */
436 _PROTOTYPE( void protect_init, (phys_bytes kernel_base,
437 phys_clicks kernel_text,
438 phys_clicks kernel_data,
439 phys_clicks mem_clicks, int level) );
440 _PROTOTYPE( void mem_released, (struct proc *p) );
441 _PROTOTYPE( void set_protect, (phys_bytes start, int len, int prot) );
442
443 _PROTOTYPE( void entering_kernel, (void) );
444 _PROTOTYPE( void leaving_kernel, (void) );
445
446 _PROTOTYPE( void zeroclicks, (phys_clicks dest, phys_clicks nclicks) );
447 _PROTOTYPE( void copyclicks, (phys_clicks src, phys_clicks dest,
448 phys_clicks nclicks) );
449 _PROTOTYPE( void phys_copy, (phys_bytes src, phys_bytes dest, phys_bytes n) );
450
451 /* utilSUN.s */
452 _PROTOTYPE( int test_and_set, (char *flag) );
453
454 /* Actually in the standard library */
455 int SunOS();
456
457 #endif /* (MACHINE == SUN) */
458
459 #endif /* PROTO_H */
460
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.