home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser-CD 2000 January / LCD_01_2000.iso / pd / 308 / uart_040 / kernel.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-08-08  |  3.4 KB  |  109 lines

  1. /*
  2.  * Filename:     kernel.h
  3.  * Project:      FreeMiNT xfs/xdd skeleton
  4.  * 
  5.  * Note:         Please send suggestions, patches or bug reports to me
  6.  *               or the MiNT mailing list (mint@).
  7.  * 
  8.  * Copying:      Copyright 1999 Frank Naumann (fnaumann@cs.uni-magdeburg.de)
  9.  * 
  10.  * This program is free software; you can redistribute it and/or modify
  11.  * it under the terms of the GNU General Public License as published by
  12.  * the Free Software Foundation; either version 2, or (at your option)
  13.  * any later version.
  14.  * 
  15.  * This program is distributed in the hope that it will be useful,
  16.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18.  * GNU General Public License for more details.
  19.  * 
  20.  * You should have received a copy of the GNU General Public License
  21.  * along with this program; if not, write to the Free Software
  22.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  23.  */
  24.  
  25. # ifndef _kernel_h
  26. # define _kernel_h
  27.  
  28.  
  29. /* Macros for kernel, bios and gemdos functions
  30.  */
  31.  
  32. # ifndef KERNEL
  33. # define KERNEL    kernel
  34. # endif
  35.  
  36. extern struct kerinfo *KERNEL;
  37.  
  38. # define MINT_MAJOR    (KERNEL->maj_version)
  39. # define MINT_MINOR    (KERNEL->min_version)
  40. # define MINT_KVERSION    (KERNEL->version)
  41. # define DEFAULT_MODE    (KERNEL->default_perm)
  42. # define DEFAULT_DMODE    (0777)
  43.  
  44. # define c_conws    (*KERNEL->dos_tab[0x009])
  45. # define t_getdate    (*KERNEL->dos_tab[0x02a])
  46. # define t_gettime    (*KERNEL->dos_tab[0x02c])
  47. # define m_xalloc    (*KERNEL->dos_tab[0x044])
  48. # define m_alloc    (*KERNEL->dos_tab[0x048])
  49. # define p_getpid    (*KERNEL->dos_tab[0x10b])
  50. # define p_getuid    (*KERNEL->dos_tab[0x10f])
  51. # define p_getgid    (*KERNEL->dos_tab[0x114])
  52. # define p_domain    (*KERNEL->dos_tab[0x119]) (-1)
  53. # define f_select    (*KERNEL->dos_tab[0x11d])
  54. # define d_cntl        (*KERNEL->dos_tab[0x130])
  55. # define d_lock        (*KERNEL->dos_tab[0x135])
  56. # define p_geteuid    (*KERNEL->dos_tab[0x138])
  57. # define p_getegid    (*KERNEL->dos_tab[0x139])
  58. # define s_system    (*KERNEL->dos_tab[0x154])
  59.  
  60. # define datestamp    t_getdate ()
  61. # define timestamp    t_gettime ()
  62. # define FreeMemory    m_alloc (-1L)
  63.  
  64.  
  65. # define changedrive    (*KERNEL->drvchng)
  66. # define KERNEL_TRACE    (*KERNEL->trace)
  67. # define KERNEL_DEBUG    (*KERNEL->debug)
  68. # define KERNEL_ALERT    (*KERNEL->alert)
  69. # define FATAL        (*KERNEL->fatal)
  70. # define kmalloc    (*KERNEL->kmalloc)
  71. # define kfree        (*KERNEL->kfree)
  72. # define umalloc    (*KERNEL->umalloc)
  73. # define ufree        (*KERNEL->ufree)
  74. # define strnicmp    (*KERNEL->strnicmp)
  75. # define stricmp    (*KERNEL->stricmp)
  76. # define strlwr        (*KERNEL->strlwr)
  77. # define strupr        (*KERNEL->strupr)
  78. # define ksprintf    (*KERNEL->sprintf)
  79. # define ms_time    (*KERNEL->millis_time)
  80. # define unixtime    (*KERNEL->unixtime)
  81. # define dostime    (*KERNEL->dostime)
  82. # define nap        (*KERNEL->nap)
  83. # define sleep        (*KERNEL->sleep)
  84. # define wake        (*KERNEL->wake)
  85. # define wakeselect    (*KERNEL->wakeselect)
  86. # define denyshare    (*KERNEL->denyshare)
  87. # define denylock    (*KERNEL->denylock)
  88. # define addtimeout    (*KERNEL->addtimeout)
  89. # define canceltimeout    (*KERNEL->canceltimeout)
  90. # define addroottimeout    (*KERNEL->addroottimeout)
  91. # define canroottimeout    (*KERNEL->cancelroottimeout)
  92. # define ikill        (*KERNEL->ikill)
  93. # define iwake        (*KERNEL->iwak)
  94. # define bio        (*KERNEL->bio)
  95. # define utc        (*KERNEL->xtime)
  96.  
  97. /* for sleep */
  98. # define CURPROC_Q    0
  99. # define READY_Q    1
  100. # define WAIT_Q        2
  101. # define IO_Q        3
  102. # define ZOMBIE_Q    4
  103. # define TSR_Q        5
  104. # define STOP_Q        6
  105. # define SELECT_Q    7
  106.  
  107.  
  108. # endif /* _kernel_h */
  109.