Rev 6057 | Rev 6089 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6057 | Rev 6079 | ||
---|---|---|---|
Line 917... | Line 917... | ||
917 | * 4 = 1.44Mb, 3.5'' |
917 | * 4 = 1.44Mb, 3.5'' |
918 | * 5 = 2.88Mb, 3.5'' (such drives are not used anymore) |
918 | * 5 = 2.88Mb, 3.5'' (such drives are not used anymore) |
919 | For example, for the standard configuration from one 1.44-drive |
919 | For example, for the standard configuration from one 1.44-drive |
920 | here will be 40h, and for the case 1.2Mb on A: and 1.44Mb on B: |
920 | here will be 40h, and for the case 1.2Mb on A: and 1.44Mb on B: |
921 | the value is 24h. |
921 | the value is 24h. |
922 | 922 | ||
923 | First IDE controller: |
923 | First IDE controller: |
924 | * +1: byte: information about hard disks and CD-drives, AABBCCDD, |
924 | * +1: byte: information about hard disks and CD-drives, AABBCCDD, |
925 | where AA corresponds to the controller IDE0, ..., DD - IDE3: |
925 | where AA corresponds to the controller IDE0, ..., DD - IDE3: |
926 | * 0 = device not found |
926 | * 0 = device not found |
927 | * 1 = hard drive |
927 | * 1 = hard drive |
928 | * 2 = CD-drive |
928 | * 2 = CD-drive |
929 | For example, in the case HD on IDE0 and CD on IDE2 |
929 | For example, in the case HD on IDE0 and CD on IDE2 |
930 | this field contains 48h. |
930 | this field contains 48h. |
931 | * +2: 4 db: number of the retrieved partitions on hard disks |
931 | * +2: 4 db: number of the retrieved partitions on hard disks |
932 | at accordingly IDE0,...,IDE3. |
932 | at accordingly IDE0,...,IDE3. |
933 | 933 | ||
934 | Second IDE controller: |
934 | Second IDE controller: |
935 | * +6: byte: information about hard disks and CD-drives, AABBCCDD, |
935 | * +6: byte: information about hard disks and CD-drives, AABBCCDD, |
936 | where AA corresponds to the controller IDE4, ..., DD - IDE7: |
936 | where AA corresponds to the controller IDE4, ..., DD - IDE7: |
937 | * 0 = device not found |
937 | * 0 = device not found |
938 | * 1 = hard drive |
938 | * 1 = hard drive |
Line 949... | Line 949... | ||
949 | * 1 = hard drive |
949 | * 1 = hard drive |
950 | * 2 = CD-drive |
950 | * 2 = CD-drive |
951 | For example, in the case HD on IDE8 and CD on IDE10 |
951 | For example, in the case HD on IDE8 and CD on IDE10 |
952 | this field contains 48h. |
952 | this field contains 48h. |
953 | * +12: 4 db: number of the retrieved partitions on hard disks |
953 | * +12: 4 db: number of the retrieved partitions on hard disks |
954 | at accordingly IDE8,...,IDE11. |
954 | at accordingly IDE8,...,IDE11. |
955 | 955 | ||
956 | If the hard disk on IDEx is absent, appropriate byte is zero, |
956 | If the hard disk on IDEx is absent, appropriate byte is zero, |
957 | otherwise it shows number of the recognized partitions, which |
957 | otherwise it shows number of the recognized partitions, which |
958 | can be not presented (if the drive is not formatted or if |
958 | can be not presented (if the drive is not formatted or if |
959 | the file system is not supported). Current version of the kernel |
959 | the file system is not supported). Current version of the kernel |
960 | supports only FAT12/16/32, NTFS, ext2/3/4 and XFS for hard disks. |
960 | supports only FAT12/16/32, NTFS, ext2/3/4 and XFS for hard disks. |
Line 1629... | Line 1629... | ||
1629 | Returned value: |
1629 | Returned value: |
1630 | * eax = number of 1/100s of second, past from the system boot time |
1630 | * eax = number of 1/100s of second, past from the system boot time |
1631 | Remarks: |
1631 | Remarks: |
1632 | * Counter takes modulo 2^32, that correspond to a little more |
1632 | * Counter takes modulo 2^32, that correspond to a little more |
1633 | than 497 days. |
1633 | than 497 days. |
1634 | * To get system time use function 3. |
1634 | * To get system time use function 3. |
Line 1635... | Line 1635... | ||
1635 | 1635 | ||
1636 | ---------------------- Constants for registers: ---------------------- |
1636 | ---------------------- Constants for registers: ---------------------- |
1637 | eax - SF_SYSTEM_GET (26) |
1637 | eax - SF_SYSTEM_GET (26) |
1638 | ebx - SSF_TIME_COUNT (9) |
1638 | ebx - SSF_TIME_COUNT (9) |
Line 1643... | Line 1643... | ||
1643 | Parameters: |
1643 | Parameters: |
1644 | * eax = 26 - function number |
1644 | * eax = 26 - function number |
1645 | * ebx = 10 - subfunction number |
1645 | * ebx = 10 - subfunction number |
1646 | Returned value: |
1646 | Returned value: |
1647 | * eax = number of nanoseconds since system boot time (lower DWORD) |
1647 | * eax = number of nanoseconds since system boot time (lower DWORD) |
1648 | * edx = number of nanoseconds since system boot time (high DWORD) |
1648 | * edx = number of nanoseconds since system boot time (high DWORD) |
1649 | Remarks: |
1649 | Remarks: |
1650 | * The counter is based on HPET, if HPET is not available, resolution |
1650 | * The counter is based on HPET, if HPET is not available, resolution |
1651 | will be reduced to 10 000 000 nanoseconds. |
1651 | will be reduced to 10 000 000 nanoseconds. |
Line 1652... | Line 1652... | ||
1652 | 1652 | ||
Line 2515... | Line 2515... | ||
2515 | * eсx = slot number |
2515 | * eсx = slot number |
2516 | Returned value: |
2516 | Returned value: |
2517 | * eax = if successful - pointer to a memory with data |
2517 | * eax = if successful - pointer to a memory with data |
2518 | * eax = 1 - error |
2518 | * eax = 1 - error |
2519 | * eax = -1 - main list area not found |
2519 | * eax = -1 - main list area not found |
2520 | 2520 | ||
2521 | ---------------------- Constants for registers: ---------------------- |
2521 | ---------------------- Constants for registers: ---------------------- |
2522 | eax - SF_CLIPBOARD (54) |
2522 | eax - SF_CLIPBOARD (54) |
2523 | ebx - SSF_READ_CB (1) |
2523 | ebx - SSF_READ_CB (1) |
2524 | ====================================================================== |
2524 | ====================================================================== |
2525 | ==================== Function 54, subfunction 2 ====================== |
2525 | ==================== Function 54, subfunction 2 ====================== |
Line 4663... | Line 4663... | ||
4663 | Returned value: |
4663 | Returned value: |
4664 | * eax = -1 on error |
4664 | * eax = -1 on error |
4665 | * ebx = errorcode |
4665 | * ebx = errorcode |
4666 | Remarks: |
4666 | Remarks: |
Line 4667... | Line 4667... | ||
4667 | 4667 | ||
4668 | Optstruct: |
4668 | Optstruct: |
4669 | dd level |
4669 | dd level |
4670 | dd optionname |
4670 | dd optionname |
4671 | dd optlength |
4671 | dd optlength |
Line 4685... | Line 4685... | ||
4685 | Returned value: |
4685 | Returned value: |
4686 | * eax = -1 on error |
4686 | * eax = -1 on error |
4687 | * ebx = errorcode |
4687 | * ebx = errorcode |
4688 | Remarks: |
4688 | Remarks: |
Line 4689... | Line 4689... | ||
4689 | 4689 | ||
4690 | Optstruct: |
4690 | Optstruct: |
4691 | dd level |
4691 | dd level |
4692 | dd optionname |
4692 | dd optionname |
4693 | dd optlength |
4693 | dd optlength |
Line 4718... | Line 4718... | ||
4718 | * bh = device number |
4718 | * bh = device number |
4719 | * bl = subfunction number |
4719 | * bl = subfunction number |
Line 4720... | Line 4720... | ||
4720 | 4720 | ||
4721 | Ethernet (0) |
4721 | Ethernet (0) |
4722 | 0 - Read MAC |
4722 | 0 - Read MAC |
4723 | 4723 | ||
4724 | IPv4 (1) |
4724 | IPv4 (1) |
4725 | 0 - Read # IP packets sent |
4725 | 0 - Read # IP packets sent |
4726 | 1 - Read # IP packets received |
4726 | 1 - Read # IP packets received |
4727 | 2 - Read IP |
4727 | 2 - Read IP |
Line 4730... | Line 4730... | ||
4730 | 5 - Write DNS |
4730 | 5 - Write DNS |
4731 | 6 - Read subnet |
4731 | 6 - Read subnet |
4732 | 7 - Write subnet |
4732 | 7 - Write subnet |
4733 | 8 - Read gateway |
4733 | 8 - Read gateway |
4734 | 9 - Write gateway |
4734 | 9 - Write gateway |
4735 | 4735 | ||
4736 | ICMP (2) |
4736 | ICMP (2) |
4737 | 0 - Read # ICMP packets sent |
4737 | 0 - Read # ICMP packets sent |
4738 | 1 - Read # ICMP packets received |
4738 | 1 - Read # ICMP packets received |
4739 | 3 - enable/disable ICMP echo reply |
4739 | 3 - enable/disable ICMP echo reply |
Line 4742... | Line 4742... | ||
4742 | 0 - Read # UDP packets sent |
4742 | 0 - Read # UDP packets sent |
4743 | 1 - Read # UDP packets received |
4743 | 1 - Read # UDP packets received |
Line 4744... | Line 4744... | ||
4744 | 4744 | ||
4745 | TCP (4) |
4745 | TCP (4) |
4746 | 0 - Read # TCP packets sent |
4746 | 0 - Read # TCP packets sent |
4747 | 1 - Read # TCP packets received |
4747 | 1 - Read # TCP packets received |
4748 | 4748 | ||
4749 | ARP (5) |
4749 | ARP (5) |
4750 | 0 - Read # ARP packets sent |
4750 | 0 - Read # ARP packets sent |
4751 | 1 - Read # ARP packets received |
4751 | 1 - Read # ARP packets received |
4752 | 2 - Read # ARP entry's |
4752 | 2 - Read # ARP entry's |
4753 | 3 - Read ARP entry |
4753 | 3 - Read ARP entry |
4754 | 4 - Add static ARP entry |
4754 | 4 - Add static ARP entry |
4755 | 5 - Remove ARP entry (-1 = remove all) |
4755 | 5 - Remove ARP entry (-1 = remove all) |
4756 | 6 - Send ARP announce on specified interface |
4756 | 6 - Send ARP announce on specified interface |
Line 4757... | Line 4757... | ||
4757 | 7 - Read # ARP conflicts (IP address conflicts) |
4757 | 7 - Read # ARP conflicts (IP address conflicts) |
4758 | 4758 | ||
- | 4759 | ---------------------- Constants for registers: ---------------------- |
|
- | 4760 | eax - SF_NETWORK_PROTOCOL (76) |
|
- | 4761 | ||
- | 4762 | ====================================================================== |
|
- | 4763 | ========== Function 77, Subfunction 0, Create futex object =========== |
|
- | 4764 | ====================================================================== |
|
- | 4765 | Parameters: |
|
- | 4766 | * eax = 77 - function number |
|
- | 4767 | * ebx = 0 - subfunction number |
|
- | 4768 | * ecx = pointer to futex dword |
|
- | 4769 | Returned value: |
|
- | 4770 | * eax = futex handle, 0 on error |
|
- | 4771 | Remarks: |
|
- | 4772 | * Use subfunction 1 to destroy the futex. |
|
- | 4773 | The kernel destroys the futexes automatically when the process |
|
- | 4774 | terminates. |
|
- | 4775 | ====================================================================== |
|
- | 4776 | ========= Function 77, Subfunction 1, Destroy futex object =========== |
|
- | 4777 | ====================================================================== |
|
- | 4778 | Parameters: |
|
- | 4779 | * eax = 77 - function number |
|
- | 4780 | * ebx = 1 - subfunction number |
|
- | 4781 | * ecx = futex handle |
|
- | 4782 | Returned value: |
|
- | 4783 | * eax = 0 - successfull, -1 on error |
|
- | 4784 | Remarks: |
|
- | 4785 | * The futex handle must have been created by subfunction 0 |
|
- | 4786 | ||
- | 4787 | ====================================================================== |
|
- | 4788 | =============== Function 77, Subfunction 2, Futex wait =============== |
|
- | 4789 | ====================================================================== |
|
- | 4790 | Parameters: |
|
- | 4791 | * eax = 77 - function number |
|
- | 4792 | * ebx = 2 - subfunction number |
|
- | 4793 | * ecx = futex handle |
|
- | 4794 | * edx = control value |
|
- | 4795 | * esi = timeout in system ticks or 0 for infinity |
|
- | 4796 | Returned value: |
|
- | 4797 | * eax = 0 - successfull, -1 on timeout |
|
- | 4798 | ||
- | 4799 | Remarks: |
|
- | 4800 | * This functionn tests that the value at the futex dword still |
|
- | 4801 | contains the expected control value, and if so, then sleeps |
|
- | 4802 | waiting for a wake operation on the futex. |
|
- | 4803 | * The futex handle must have been created by subfunction 0 |
|
- | 4804 | ||
- | 4805 | ====================================================================== |
|
- | 4806 | =============== Function 77, Subfunction 3, Futex wake =============== |
|
- | 4807 | ====================================================================== |
|
- | 4808 | Parameters: |
|
- | 4809 | * eax = 77 - function number |
|
- | 4810 | * ebx = 3 - subfunction number |
|
- | 4811 | * ecx = futex handle |
|
- | 4812 | * edx = number of waiters to wake |
|
- | 4813 | Returned value: |
|
- | 4814 | * eax = number of waiters that were woken up |
|
- | 4815 | ||
- | 4816 | Remarks: |
|
- | 4817 | * This function wakes at most edx of the waiters that are |
|
- | 4818 | waiting (e.g., inside futex wait) on the futex dword |
|
4759 | ---------------------- Constants for registers: ---------------------- |
4819 | * The futex handle must have been created by subfunction 0 |
4760 | eax - SF_NETWORK_PROTOCOL (76) |
4820 | |
4761 | ====================================================================== |
4821 | ====================================================================== |
4762 | =============== Function -1 - terminate thread/process =============== |
4822 | =============== Function -1 - terminate thread/process =============== |
4763 | ====================================================================== |
4823 | ====================================================================== |