Rev 9692 | Rev 9823 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9692 | Rev 9715 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
2 | ;; ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 9692 $ |
8 | $Revision: 9715 $ |
9 | 9 | ||
Line 707... | Line 707... | ||
707 | mov [count], 0 |
707 | mov [count], 0 |
708 | cmp [buf_size], 0 |
708 | cmp [buf_size], 0 |
709 | jz .exit |
709 | jz .exit |
Line 710... | Line 710... | ||
710 | 710 | ||
711 | mov eax, [slot] |
711 | mov eax, [slot] |
712 | shl eax, 8 |
712 | shl eax, BSF sizeof.APPDATA |
713 | mov eax, [SLOT_BASE+eax+APPDATA.process] |
713 | mov eax, [SLOT_BASE + eax + APPDATA.process] |
714 | test eax, eax |
714 | test eax, eax |
Line 715... | Line 715... | ||
715 | jz .exit |
715 | jz .exit |
Line 770... | Line 770... | ||
770 | mov [count], 0 |
770 | mov [count], 0 |
771 | cmp [buf_size], 0 |
771 | cmp [buf_size], 0 |
772 | jz .exit |
772 | jz .exit |
Line 773... | Line 773... | ||
773 | 773 | ||
774 | mov eax, [slot] |
774 | mov eax, [slot] |
775 | shl eax, 8 |
775 | shl eax, BSF sizeof.APPDATA |
776 | mov eax, [SLOT_BASE+eax+APPDATA.process] |
776 | mov eax, [SLOT_BASE + eax + APPDATA.process] |
777 | test eax, eax |
777 | test eax, eax |
Line 778... | Line 778... | ||
778 | jz .exit |
778 | jz .exit |
Line 862... | Line 862... | ||
862 | pushf |
862 | pushf |
863 | cli |
863 | cli |
864 | cld |
864 | cld |
865 | push ebx ecx |
865 | push ebx ecx |
866 | mov eax, [slot] |
866 | mov eax, [slot] |
867 | shl eax, 8 |
867 | shl eax, BSF sizeof.APPDATA |
868 | mov eax, [SLOT_BASE+eax+APPDATA.process] |
868 | mov eax, [SLOT_BASE + eax + APPDATA.process] |
869 | mov eax, [eax+PROC.dlls_list_ptr] |
869 | mov eax, [eax + PROC.dlls_list_ptr] |
870 | test eax, eax |
870 | test eax, eax |
871 | jz .no_hdll |
871 | jz .no_hdll |
872 | mov ecx, [eax+HDLL.fd] |
872 | mov ecx, [eax + HDLL.fd] |
Line 968... | Line 968... | ||
968 | call pid_to_slot |
968 | call pid_to_slot |
969 | test eax, eax |
969 | test eax, eax |
970 | jz .no_pid |
970 | jz .no_pid |
Line 971... | Line 971... | ||
971 | 971 | ||
972 | mov [dst_slot], eax |
972 | mov [dst_slot], eax |
973 | shl eax, 8 |
973 | shl eax, BSF sizeof.APPDATA |
974 | mov edi, [eax+SLOT_BASE+APPDATA.ipc_start] ;is ipc area defined? |
974 | mov edi, [SLOT_BASE + eax + APPDATA.ipc_start] ;is ipc area defined? |
975 | test edi, edi |
975 | test edi, edi |
Line 976... | Line 976... | ||
976 | jz .no_ipc_area |
976 | jz .no_ipc_area |
977 | 977 | ||
978 | mov ebx, edi |
978 | mov ebx, edi |
Line 979... | Line 979... | ||
979 | and ebx, 0xFFF |
979 | and ebx, 0xFFF |
980 | mov [dst_offset], ebx |
980 | mov [dst_offset], ebx |
Line 981... | Line 981... | ||
981 | 981 | ||
982 | mov esi, [eax+SLOT_BASE+APPDATA.ipc_size] |
982 | mov esi, [SLOT_BASE + eax + APPDATA.ipc_size] |
983 | mov [buf_size], esi |
983 | mov [buf_size], esi |
Line 1041... | Line 1041... | ||
1041 | mov [page_tabs+ebx*4], eax |
1041 | mov [page_tabs + ebx*4], eax |
1042 | invlpg [edx] |
1042 | invlpg [edx] |
Line 1043... | Line 1043... | ||
1043 | 1043 | ||
1044 | mov eax, [dst_slot] |
1044 | mov eax, [dst_slot] |
1045 | shl eax, BSF sizeof.APPDATA |
1045 | shl eax, BSF sizeof.APPDATA |
1046 | or [eax+SLOT_BASE+APPDATA.occurred_events], EVENT_IPC |
1046 | or [SLOT_BASE + eax + APPDATA.occurred_events], EVENT_IPC |
1047 | push 0 |
1047 | push 0 |
1048 | jmp .ret |
1048 | jmp .ret |
1049 | .no_pid: |
1049 | .no_pid: |
1050 | popf |
1050 | popf |
Line 1301... | Line 1301... | ||
1301 | movsd ; SRV.entry |
1301 | movsd ; SRV.entry |
1302 | movsd ; SRV.srv_proc |
1302 | movsd ; SRV.srv_proc |
1303 | ;movsd ; SRV.srv_proc_ex |
1303 | ;movsd ; SRV.srv_proc_ex |
Line 1304... | Line 1304... | ||
1304 | 1304 | ||
1305 | xor eax, eax |
- | |
1306 | mov [esp+SYSCALL_STACK._eax], eax |
- | |
1307 | ret |
1305 | xor eax, eax |
1308 | .fail: |
1306 | .fail: |
1309 | mov [esp+SYSCALL_STACK._eax], eax |
1307 | mov [esp + SYSCALL_STACK._eax], eax |
Line 1310... | Line 1308... | ||
1310 | ret |
1308 | ret |