Rev 9829 | Rev 9836 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9829 | Rev 9830 | ||
---|---|---|---|
Line 481... | Line 481... | ||
481 | KSYS_SLOT_STATE_SUSPENDED = 1, |
481 | KSYS_SLOT_STATE_SUSPENDED = 1, |
482 | KSYS_SLOT_STATE_SUSPENDED_WAIT_EVENT = 2, |
482 | KSYS_SLOT_STATE_SUSPENDED_WAIT_EVENT = 2, |
483 | KSYS_SLOT_STATE_NORMAL_TERM = 3, |
483 | KSYS_SLOT_STATE_NORMAL_TERM = 3, |
484 | KSYS_SLOT_STATE_EXCEPT_TERM = 4, |
484 | KSYS_SLOT_STATE_EXCEPT_TERM = 4, |
485 | KSYS_SLOT_STATE_WAIT_EVENT = 5, |
485 | KSYS_SLOT_STATE_WAIT_EVENT = 5, |
486 | KSYS_SLOT_STATE_FREE = 6 |
486 | KSYS_SLOT_STATE_FREE = 9 |
487 | }; |
487 | }; |
Line 488... | Line 488... | ||
488 | 488 | ||
489 | KOSAPI int _ksys_thread_info(ksys_thread_t* table, int slot) |
489 | KOSAPI int _ksys_thread_info(ksys_thread_t* table, int slot) |
490 | { |
490 | { |
Line 1578... | Line 1578... | ||
1578 | 1578 | ||
Line 1579... | Line 1579... | ||
1579 | #define _ksys_clear_window_title() _ksys_set_window_title(NULL) |
1579 | #define _ksys_clear_window_title() _ksys_set_window_title(NULL) |
Line 1580... | Line 1580... | ||
1580 | 1580 | ||
1581 | /*============= Function 77, subfunction 0 - create futex object =============*/ |
1581 | /*============= Function 77, subfunction 0 - create futex object =============*/ |
1582 | 1582 | ||
1583 | KOSAPI void* _ksys_futex_create(void* futexControlAddr) { |
1583 | KOSAPI void* _ksys_futex_create(void* futex_control_addr) { |
1584 | void* futexDesc; |
1584 | void* futex_desc; |
1585 | asm_inline( |
1585 | asm_inline( |
1586 | "int $0x40" |
1586 | "int $0x40" |
1587 | : "=a"(futexDesc) |
1587 | : "=a"(futex_desc) |
1588 | : "a"(77), "b"(0), "c"(futexControlAddr) |
1588 | : "a"(77), "b"(0), "c"(futex_control_addr) |
Line 1589... | Line 1589... | ||
1589 | : "memory"); |
1589 | : "memory"); |
Line 1590... | Line 1590... | ||
1590 | return futexDesc; |
1590 | return futex_desc; |
1591 | } |
1591 | } |
1592 | 1592 | ||
1593 | /*============= Function 77, subfunction 1 - destroy futex object =============*/ |
1593 | /*============= Function 77, subfunction 1 - destroy futex object =============*/ |
1594 | 1594 | ||
1595 | KOSAPI int _ksys_futex_destroy(void* futexDesc) { |
1595 | KOSAPI int _ksys_futex_destroy(void* futex_desc) { |
1596 | int res; |
1596 | int res; |
1597 | asm_inline( |
1597 | asm_inline( |
1598 | "int $0x40" |
1598 | "int $0x40" |
Line 1599... | Line 1599... | ||
1599 | : "=a"(res) |
1599 | : "=a"(res) |
Line 1600... | Line 1600... | ||
1600 | : "a"(77), "b"(1), "c"(futexDesc) |
1600 | : "a"(77), "b"(1), "c"(futex_desc) |
1601 | : "memory"); |
1601 | : "memory"); |
1602 | return res; |
1602 | return res; |
1603 | } |
1603 | } |
1604 | 1604 | ||
1605 | /*============= Function 77, subfunction 2 - futex wait =============*/ |
1605 | /*============= Function 77, subfunction 2 - futex wait =============*/ |
1606 | 1606 | ||
1607 | KOSAPI int _ksys_futex_wait(void* futexDesc, int controlVal, int timeout) { |
1607 | KOSAPI int _ksys_futex_wait(void* futex_desc, int control_val, int timeout) { |
1608 | int res; |
1608 | int res; |
Line 1609... | Line 1609... | ||
1609 | asm_inline( |
1609 | asm_inline( |
Line 1610... | Line 1610... | ||
1610 | "int $0x40" |
1610 | "int $0x40" |
1611 | : "=a"(res) |
1611 | : "=a"(res) |
1612 | : "a"(77), "b"(2), "c"(futexDesc), "d"(controlVal), "S"(timeout) |
1612 | : "a"(77), "b"(2), "c"(futex_desc), "d"(control_val), "S"(timeout) |
1613 | : "memory"); |
1613 | : "memory"); |
1614 | return res; |
1614 | return res; |
1615 | } |
1615 | } |
1616 | 1616 | ||
1617 | /*============= Function 77, subfunction 3 - futex wake =============*/ |
1617 | /*============= Function 77, subfunction 3 - futex wake =============*/ |
1618 | 1618 | ||
Line 1619... | Line 1619... | ||
1619 | KOSAPI int _ksys_futex_wake(void* futexDesc, int maxWakeCount) { |
1619 | KOSAPI int _ksys_futex_wake(void* futex_desc, int max_wake_count) { |