Go to the source code of this file.
Defines | |
| #define | _LINUX_I386_SYSDEP_H 1 | 
| #define | SYS_ify(syscall_name) __NR_##syscall_name | 
| #define | L(name) .L##name | 
| #define | INLINE_SYSCALL(name, nr, args...) | 
| #define | INLINE_SYSCALL1(name, nr, args...) | 
| #define | INLINE_SYSCALL3(name, nr, args...) | 
| #define | INLINE_SYSCALLTEST(name, nr, args...) | 
| #define | LOADARGS_0 | 
| #define | LOADARGS_1 | 
| #define | LOADARGS_2 LOADARGS_1 | 
| #define | LOADARGS_3 LOADARGS_1 | 
| #define | LOADARGS_4 LOADARGS_1 | 
| #define | LOADARGS_5 LOADARGS_1 | 
| #define | RESTOREARGS_0 | 
| #define | RESTOREARGS_1 "bpopl .L__X'%k2, %k2\n\t" | 
| #define | RESTOREARGS_2 RESTOREARGS_1 | 
| #define | RESTOREARGS_3 RESTOREARGS_1 | 
| #define | RESTOREARGS_4 RESTOREARGS_1 | 
| #define | RESTOREARGS_5 RESTOREARGS_1 | 
| #define | ASMFMT_0() | 
| #define | ASMFMT_1(arg1) , "acdSD" (arg1) | 
| #define | ASMFMT_2(arg1, arg2) , "adCD" (arg1), "c" (arg2) | 
| #define | ASMFMT_3(arg1, arg2, arg3) , "aCD" (arg1), "c" (arg2), "d" (arg3) | 
| #define | ASMFMT_4(arg1, arg2, arg3, arg4) , "aD" (arg1), "c" (arg2), "d" (arg3), "S" (arg4) | 
| #define | ASMFMT_5(arg1, arg2, arg3, arg4, arg5) , "a" (arg1), "c" (arg2), "d" (arg3), "S" (arg4), "D" (arg5) | 
Functions | |
| asm (".L__X'%ebx = 1\n\t"".L__X'%ecx = 2\n\t"".L__X'%edx = 2\n\t"".L__X'%eax = 3\n\t"".L__X'%esi = 3\n\t"".L__X'%edi = 3\n\t"".L__X'%ebp = 3\n\t"".L__X'%esp = 3\n\t"".macro bpushl name reg\n\t"".if 1 - \\name\n\t"".if 2 - \\name\n\t""pushl %ebx\n\t"".else\n\t""xchgl \\reg, %ebx\n\t"".endif\n\t"".endif\n\t"".endm\n\t"".macro bpopl name reg\n\t"".if 1 - \\name\n\t"".if 2 - \\name\n\t""popl %ebx\n\t"".else\n\t""xchgl \\reg, %ebx\n\t"".endif\n\t"".endif\n\t"".endm\n\t"".macro bmovl name reg\n\t"".if 1 - \\name\n\t"".if 2 - \\name\n\t""movl \\reg, %ebx\n\t"".endif\n\t"".endif\n\t"".endm\n\t") | |
Variables | |
| int | errno | 
| #define _LINUX_I386_SYSDEP_H 1 | 
Definition at line 21 of file sysdepum.h.
| #define ASMFMT_0 | ( | ) | 
Definition at line 336 of file sysdepum.h.
| #define ASMFMT_1 | ( | arg1 | ) | , "acdSD" (arg1) | 
Definition at line 337 of file sysdepum.h.
| #define ASMFMT_2 | ( | arg1, | |||
| arg2 | ) | , "adCD" (arg1), "c" (arg2) | 
Definition at line 339 of file sysdepum.h.
| #define ASMFMT_3 | ( | arg1, | |||
| arg2, | |||||
| arg3 | ) | , "aCD" (arg1), "c" (arg2), "d" (arg3) | 
Definition at line 341 of file sysdepum.h.
| #define ASMFMT_4 | ( | arg1, | |||
| arg2, | |||||
| arg3, | |||||
| arg4 | ) | , "aD" (arg1), "c" (arg2), "d" (arg3), "S" (arg4) | 
Definition at line 343 of file sysdepum.h.
| #define ASMFMT_5 | ( | arg1, | |||
| arg2, | |||||
| arg3, | |||||
| arg4, | |||||
| arg5 | ) | , "a" (arg1), "c" (arg2), "d" (arg3), "S" (arg4), "D" (arg5) | 
Definition at line 345 of file sysdepum.h.
| #define INLINE_SYSCALL | ( | name, | |||
| nr, | |||||
| args... | ) | 
Value:
({                                                                            \
    unsigned int resultvar;                                                   \
    asm volatile (                                                            \
    LOADARGS_##nr                                                             \
    "movl %1, %%eax\n\t"                                                      \
    "int _0x80\n\t"                                                           \
    RESTOREARGS_##nr                                                          \
    : "=a" (resultvar)                                                        \
    : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc");                  \
    if (resultvar >= 0xfffff001)                                              \
      {                                                                       \
        errno= (-resultvar);                                          \
        resultvar = 0xffffffff;                                               \
      }                                                                       \
    (int) resultvar; })
Definition at line 248 of file sysdepum.h.
Referenced by sys_adjwsl(), sys_ascefc(), sys_asctoid(), sys_assign(), sys_cancel(), sys_cantim(), sys_canwak(), sys_cli(), sys_clrast(), sys_clref(), sys_cmkrnl(), sys_cpu_capabilities(), sys_create_region_32(), sys_crelnm(), sys_crelnt(), sys_crembx(), sys_creprc(), sys_cretva(), sys_crmpsc(), sys_dacefc(), sys_dassgn(), sys_dclast(), sys_dclexh(), sys_dellnm(), sys_delmbx(), sys_deltva(), sys_deq(), sys_device_scan(), sys_dlcefc(), sys_enq(), sys_enqw(), sys_exit(), sys_expreg(), sys_fao(), sys_faol(), sys_find_held(), sys_forcex(), sys_get_security(), sys_getdvi(), sys_getdviw(), sys_getjpi(), sys_getjpiw(), sys_getlki(), sys_getlkiw(), sys_getsyi(), sys_getsyiw(), sys_gettim(), sys_getuai(), sys_hiber(), sys_imgact(), sys_imgfix(), sys_imgsta(), sys_lckpag(), sys_lkwset(), sys_mgblsc(), sys_mount(), sys_numtim(), sys_process_affinity(), sys_process_capabilities(), sys_purgws(), sys_qio(), sys_qiow(), sys_readef(), sys_resume(), sys_rundwn(), sys_schdwk(), sys_set_implicit_affinity(), sys_set_security(), sys_setast(), sys_setef(), sys_setime(), sys_setimr(), sys_setpri(), sys_setprn(), sys_setprv(), sys_setrwm(), sys_sndopr(), sys_synch(), sys_trnlnm(), sys_ulkpag(), sys_ulwset(), sys_waitfr(), sys_wake(), sys_wfland(), and sys_wflor().
| #define INLINE_SYSCALL1 | ( | name, | |||
| nr, | |||||
| args... | ) | 
Value:
({                                                                            \
    unsigned int resultvar;                                                   \
    asm volatile (                                                            \
    LOADARGS_##nr                                                             \
    "movl %1, %%eax\n\t"                                                      \
    "int _0x80\n\t"                                                           \
    RESTOREARGS_##nr                                                          \
    : "=a" (resultvar)                                                        \
    : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc");                  \
    if (resultvar >= 0xfffff001)                                              \
      {                                                                       \
        errno= (-resultvar);                                          \
        resultvar = 0xffffffff;                                               \
      }                                                                       \
    (int) resultvar; })
Definition at line 266 of file sysdepum.h.
Referenced by sys_close(), sys_connect(), sys_create(), sys_delete(), sys_disconnect(), sys_display(), sys_enter(), sys_erase(), sys_extend(), sys_filescan(), sys_find(), sys_flush(), sys_free(), sys_get(), sys_modify(), sys_nxtvol(), sys_open(), sys_parse(), sys_put(), sys_read(), sys_release(), sys_remove(), sys_rename(), sys_rewind(), sys_rmsrundwn(), sys_search(), sys_setddir(), sys_setddir2(), sys_setdfprot(), sys_space(), sys_ssvexc(), sys_truncate(), sys_update(), sys_wait(), and sys_write().
| #define INLINE_SYSCALL3 | ( | name, | |||
| nr, | |||||
| args... | ) | 
Value:
({                                                                            \
    unsigned int resultvar;                                                   \
    asm volatile (                                                            \
    LOADARGS_##nr                                                             \
    "movl %1, %%eax\n\t"                                                      \
    "int _0x80\n\t"                                                           \
    RESTOREARGS_##nr                                                          \
    : "=a" (resultvar)                                                        \
    : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc");                  \
    if (resultvar >= 0xfffff001)                                              \
      {                                                                       \
        errno= (-resultvar);                                          \
        resultvar = 0xffffffff;                                               \
      }                                                                       \
    (int) resultvar; })
Definition at line 284 of file sysdepum.h.
Referenced by sys_asctim(), and sys_bintim().
| #define INLINE_SYSCALLTEST | ( | name, | |||
| nr, | |||||
| args... | ) | 
Value:
({                                                                            \
    unsigned int resultvar;                                                   \
    asm volatile (                                                            \
    LOADARGS_##nr                                                             \
    "movl %1, %%eax\n\t"                                                      \
    "call 0xc0100010\n\t"                                                     \
    RESTOREARGS_##nr                                                          \
    : "=a" (resultvar)                                                        \
    : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc");                  \
    if (resultvar >= 0xfffff001)                                              \
      {                                                                       \
        errno= (-resultvar);                                          \
        resultvar = 0xffffffff;                                               \
      }                                                                       \
    (int) resultvar; })
Definition at line 302 of file sysdepum.h.
Referenced by sys_testcode().
| #define L | ( | name | ) | .L##name | 
Definition at line 37 of file sysdepum.h.
| #define LOADARGS_0 | 
Definition at line 319 of file sysdepum.h.
| #define LOADARGS_1 | 
Value:
"bpushl .L__X'%k2, %k2\n\t" \ "bmovl .L__X'%k2, %k2\n\t"
Definition at line 320 of file sysdepum.h.
| #define LOADARGS_2 LOADARGS_1 | 
Definition at line 323 of file sysdepum.h.
| #define LOADARGS_3 LOADARGS_1 | 
Definition at line 324 of file sysdepum.h.
| #define LOADARGS_4 LOADARGS_1 | 
Definition at line 325 of file sysdepum.h.
| #define LOADARGS_5 LOADARGS_1 | 
Definition at line 326 of file sysdepum.h.
| #define RESTOREARGS_0 | 
Definition at line 328 of file sysdepum.h.
| #define RESTOREARGS_1 "bpopl .L__X'%k2, %k2\n\t" | 
Definition at line 329 of file sysdepum.h.
| #define RESTOREARGS_2 RESTOREARGS_1 | 
Definition at line 331 of file sysdepum.h.
| #define RESTOREARGS_3 RESTOREARGS_1 | 
Definition at line 332 of file sysdepum.h.
| #define RESTOREARGS_4 RESTOREARGS_1 | 
Definition at line 333 of file sysdepum.h.
| #define RESTOREARGS_5 RESTOREARGS_1 | 
Definition at line 334 of file sysdepum.h.
| #define SYS_ify | ( | syscall_name | ) | __NR_##syscall_name | 
Definition at line 33 of file sysdepum.h.
| asm | ( | ".L__X'% |  ebx = 1\n\t"".L__X'%ecx = 2\n\t"".L__X'%edx = 2\n\t"".L__X'%eax = 3\n\t"".L__X'%esi = 3\n\t"".L__X'%edi = 3\n\t"".L__X'%ebp = 3\n\t"".L__X'%esp = 3\n\t"".macro bpushl name reg\n\t"".if 1 - \\name\n\t"".if 2 - \\name\n\t""pushl %ebx\n\t"".else\n\t""xchgl \\reg,  | 
        |
| %ebx\n\t"".endif\n\t"".endif\n\t"".endm\n\t"".macro bpopl name reg\n\t"".if 1-\\name\n\t"".if 2-\\name\n\t""popl%ebx\n\t"".else\n\t""xchgl\\ | reg, | |||
| %ebx\n\t"".endif\n\t"".endif\n\t"".endm\n\t"".macro bmovl name reg\n\t"".if 1-\\name\n\t"".if 2-\\name\n\t""movl\\ | reg, | |||
| %ebx\n\t"".endif\n\t"".endif\n\t"".endm\n\t" | ||||
| ) | 
| int errno | 
 1.5.5