|
|
| version 1.4, 2004/02/09 16:13:13 | version 1.8, 2008/03/22 04:03:08 |
|---|---|
| Line 12 | Line 12 |
| * 2. Redistributions in binary form must reproduce the above copyright | * 2. Redistributions in binary form must reproduce the above copyright |
| * notice, this list of conditions and the following disclaimer in the | * notice, this list of conditions and the following disclaimer in the |
| * documentation and/or other materials provided with the distribution. | * documentation and/or other materials provided with the distribution. |
| * 3. The name of the author may not be used to endorse or promote products | |
| * derived from this software without specific prior written permission. | |
| * | * |
| * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
| * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
| Line 34 | Line 32 |
| extern "C" { | extern "C" { |
| #endif | #endif |
| void load_tr(WORD selector); | void load_tr(UINT16 selector); |
| void get_stack_pointer_from_tss(DWORD pl, WORD* new_ss, DWORD* new_esp); | void get_stack_pointer_from_tss(UINT pl, UINT16 *new_ss, UINT32 *new_esp); |
| WORD get_backlink_selector_from_tss(void); | UINT16 get_backlink_selector_from_tss(void); |
| /* task_switch type */ | /* task_switch type */ |
| enum task_switch_type { | typedef enum { |
| TASK_SWITCH_JMP, | TASK_SWITCH_JMP, |
| TASK_SWITCH_CALL, | TASK_SWITCH_CALL, |
| TASK_SWITCH_IRET, | TASK_SWITCH_IRET, |
| TASK_SWITCH_INTR, | TASK_SWITCH_INTR |
| }; | } task_switch_type_t; |
| typedef enum task_switch_type task_switch_type_t; | |
| void task_switch(selector_t *selector, task_switch_type_t type); | void task_switch(selector_t *selector, task_switch_type_t type); |