Subversion Repositories Kolibri OS

Rev

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
======================================================================