Subversion Repositories Kolibri OS

Rev

Rev 221 | Rev 233 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 221 Rev 227
Line 804... Line 804...
804
           mov edi, [dst_offset]
804
           mov edi, [dst_offset]
805
           add edi, [ipc_tmp]
805
           add edi, [ipc_tmp]
806
           cmp dword [edi], 0
806
           cmp dword [edi], 0
807
           jnz  .ipc_blocked          ;if dword [buffer]<>0 - ipc blocked now
807
           jnz  .ipc_blocked          ;if dword [buffer]<>0 - ipc blocked now
-
 
808
 
808
           mov ebx, dword [edi+4]
809
           mov ebx, dword [edi+4]
809
           mov edx, ebx
810
           mov edx, ebx
810
           add ebx, 8
811
           add ebx, 8
811
           add ebx, [msg_size]
812
           add ebx, [msg_size]
812
           cmp ebx, [buf_size]
813
           cmp ebx, [buf_size]
813
           ja .buffer_overflow         ;esi<0 - not enough memory in buffer
814
           ja .buffer_overflow         ;esi<0 - not enough memory in buffer
-
 
815
 
814
           mov dword [edi+4], ebx
816
           mov dword [edi+4], ebx
815
           mov eax,[TASK_BASE]
817
           mov eax,[TASK_BASE]
816
           mov eax, [eax+0x04]         ;eax - our PID
818
           mov eax, [eax+0x04]         ;eax - our PID
817
           mov edi, [dst_offset]
819
           mov edi, [dst_offset]
818
           add edi, [ipc_tmp]
820
           add edi, [ipc_tmp]
Line 938... Line 940...
938
           ja @f
940
           ja @f
939
           add ebx,new_app_base
941
           add ebx, new_app_base
940
           cmp ebx, new_app_base
942
           cmp ebx, new_app_base
941
           jb .fail
943
           jb .fail
942
           stdcall get_notify, ebx
944
           stdcall get_event_ex, ebx, ecx
943
           ret
945
           mov [esp+36], eax
-
 
946
           ret
944
@@:
947
@@:
945
           cmp eax, 15
948
           cmp eax, 15
946
           ja @f
949
           ja @f
947
           mov ecx, [CURRENT_TASK]
950
           mov ecx, [CURRENT_TASK]
948
           shl ecx, 8
951
           shl ecx, 8
Line 978... Line 981...
978
           mov [esp+36], eax
981
           mov [esp+36], eax
979
           ret
982
           ret
980
@@:
983
@@:
981
           cmp eax, 19
984
           cmp eax, 19
982
           ja @f
985
           ja .fail
983
           add ebx, new_app_base
986
           add ebx, new_app_base
984
           cmp ebx, new_app_base
987
           cmp ebx, new_app_base
985
           jb .fail
988
           jb .fail
986
           stdcall load_library, ebx
989
           stdcall load_library, ebx
987
           mov [esp+36], eax
990
           mov [esp+36], eax
988
           ret
991
           ret
989
@@:
992
 
990
.fail:
993
.fail:
991
           xor eax, eax
994
           xor eax, eax
992
           mov [esp+36], eax
995
           mov [esp+36], eax
993
           ret
996
           ret
994
 
997
 
Line 1291... Line 1294...
1291
endg
1294
endg
Line 1292... Line 1295...
1292
 
1295
 
1293
uglobal
1296
uglobal
-
 
1297
align 16
1294
align 16
1298
 
1295
   dll_tab         rb 32*32
1299
   dll_tab         rb 32*32
-
 
1300
   srv_tab         rb 36*32
-
 
1301
   mem_block_map   rb 512
-
 
1302
   event_map       rb 128
-
 
1303
   mem_block_list  rd 64
-
 
1304
   mem_block_mask  rd 2
1296
   srv_tab         rb 36*32
1305
 
1297
   dll_map         rd 1
1306
   dll_map         rd 1
Line 1298... Line 1307...
1298
   srv_map         rd 1
1307
   srv_map         rd 1
1299
 
-
 
1300
   mem_used_list   rd 1
-
 
1301
   mem_block_list  rd 64
1308
 
1302
   mem_block_map   rb 512
1309
   mem_used_list   rd 1
1303
   mem_block_arr   rd 1
1310
   mem_block_arr   rd 1
1304
   mem_block_start rd 1
-
 
1305
   mem_block_end   rd 1
1311
   mem_block_start rd 1
1306
   mem_block_mask  rd 2
1312
   mem_block_end   rd 1
1307
   heap_size       rd 1
1313
   heap_size       rd 1
1308
   heap_free       rd 1
1314
   heap_free       rd 1
Line 1309... Line 1315...
1309
   heap_blocks     rd 1
1315
   heap_blocks     rd 1
1310
   free_blocks     rd 1
1316
   free_blocks     rd 1
-
 
1317
 
-
 
1318
   page_start      rd 1
-
 
1319
   page_end        rd 1
-
 
1320
   events          rd 1
1311
 
1321
   event_start     rd 1
1312
   page_start      rd 1
-
 
1313
   page_end        rd 1
1322
   event_end       rd 1
Line 1314... Line 1323...
1314
   sys_page_map    rd 1
1323
 
1315
;   app_load        rd 1
1324
   sys_page_map    rd 1