Annotation of uae/src/include/native2amiga.h, revision 1.1.1.1

1.1       root        1:  /*
                      2:   * UAE - The Un*x Amiga Emulator
                      3:   *
                      4:   * Call (some) Amiga Exec functions outside the main UAE thread
                      5:   * and without stack magic.
                      6:   *
                      7:   * Copyright 1999 Patrick Ohly
                      8:   * 
                      9:   * Uses the EXTER interrupt that is setup in filesys.c
                     10:   * and some of it needs thread support.
                     11:   */
                     12: 
                     13: /*
                     14:  * The following functions do exactly the same thing as their
                     15:  * Amiga counterpart, but can be called in situation where calling
                     16:  * the exec.library functions is impossible.
                     17:  */
                     18: #ifdef SUPPORT_THREADS
                     19: void ReplyMsg(uaecptr msg);
                     20: void PutMsg(uaecptr port, uaecptr msg);
                     21: void Signal(uaecptr task, uae_u32 mask);
                     22: #endif
                     23: void NewList(uaecptr list);
                     24: 
                     25: /*
                     26:  * The following functions are shortcuts for calling
                     27:  * the exec.library function with CallLib(), so they
                     28:  * are only available in a trap function. This trap
                     29:  * function has to be setup with deftrap2() and
                     30:  * TRAPFLAG_EXTRA_STACK and stack magic is required.
                     31:  */
                     32: uaecptr AllocMem (uae_u32 size, uae_u32 flags);
                     33: 
                     34: 
                     35: /*
                     36:  * to be called when setting up the hardware
                     37:  */
                     38: void native2amiga_install (void);
                     39: 
                     40: /*
                     41:  * to be called when the Amiga boots, i.e. by filesys_diagentry()
                     42:  */
                     43: void native2amiga_startup (void);
                     44: 
                     45: /**** internal stuff ****/
                     46: #ifdef SUPPORT_THREADS
                     47: /* This pipe is filled by Signal() with pairs of
                     48:  * (uae_u32)0/(uaecptr)task/(uae_u32)signal_set,
                     49:  * by PutMsg() with (uae_u32)1/(uaecptr)port/(uaecptr)msg and by
                     50:  * ReplyMsg() with (uae_u32)2/(uaecptr)msg.
                     51:  * It's emptied via exter_int_helper by the EXTER interrupt. */
                     52: extern smp_comm_pipe native2amiga_pending;
                     53: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.