Subversion Repositories Kolibri OS

Rev

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

Rev 5595 Rev 6079
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2015. 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: 5595 $
8
$Revision: 6079 $
9
 
9
 
10
 
10
 
Line 352... Line 352...
352
EVENT_NETWORK2     equ 0x00000200
352
EVENT_NETWORK2     equ 0x00000200
353
EVENT_EXTENDED     equ 0x00000400
353
EVENT_EXTENDED     equ 0x00000400
Line 354... Line 354...
354
 
354
 
Line -... Line 355...
-
 
355
EV_INTR            equ 1
-
 
356
 
-
 
357
STDIN_FILENO    equ 0
-
 
358
STDOUT_FILENO   equ 1
355
EV_INTR            equ 1
359
STDERR_FILENO   equ 2
-
 
360
 
356
 
361
struct SYSCALL_STACK
357
struct  THR_DATA
362
        _eip            dd ?
358
                        rb (8192-512)
363
        _edi            dd ?    ;  +4
359
;       pl0_stack
364
        _esi            dd ?    ;  +8
-
 
365
        _ebp            dd ?    ; +12
360
        fpu_state       rb 512
366
        _esp            dd ?    ; +16
-
 
367
        _ebx            dd ?    ; +20
-
 
368
        _edx            dd ?    ; +24
361
        tls_page        rb 4096
369
        _ecx            dd ?    ; +28
Line -... Line 370...
-
 
370
        _eax            dd ?    ; +32
-
 
371
ends
-
 
372
 
-
 
373
struct  LHEAD
-
 
374
        next            dd ?   ;next object in list
-
 
375
        prev            dd ?   ;prev object in list
-
 
376
ends
-
 
377
 
-
 
378
struct  MUTEX_WAITER
-
 
379
        list    LHEAD
-
 
380
        task    dd ?
-
 
381
        type    dd ?
-
 
382
ends
-
 
383
 
-
 
384
struct  MUTEX
-
 
385
        wait_list       LHEAD
-
 
386
        count           dd ?
-
 
387
ends
-
 
388
 
-
 
389
struct  RWSEM
-
 
390
        wait_list       LHEAD
-
 
391
        count           dd ?
-
 
392
ends
-
 
393
 
-
 
394
struct  FUTEX
-
 
395
        list            LHEAD
-
 
396
        magic           dd ?
-
 
397
        handle          dd ?
-
 
398
        destroy         dd ?
-
 
399
 
-
 
400
        wait_list       LHEAD
-
 
401
        pointer         dd ?
-
 
402
        flags           dd ?
-
 
403
ends
-
 
404
 
-
 
405
FUTEX_INIT      equ 0
-
 
406
FUTEX_DESTROY   equ 1
-
 
407
FUTEX_WAIT      equ 2
-
 
408
FUTEX_WAKE      equ 3
362
        pdbr            rb 4096
409
 
-
 
410
struct  PROC
-
 
411
        list            LHEAD
-
 
412
        thr_list        LHEAD
-
 
413
        heap_lock       MUTEX
-
 
414
        heap_base       rd 1
-
 
415
        heap_top        rd 1
-
 
416
        mem_used        rd 1
-
 
417
        dlls_list_ptr   rd 1
-
 
418
        pdt_0_phys      rd 1
-
 
419
        pdt_1_phys      rd 1
-
 
420
        io_map_0        rd 1
-
 
421
        io_map_1        rd 1
-
 
422
 
-
 
423
        ht_lock         rd 1
-
 
424
        ht_free         rd 1            ;htab[0] stdin
-
 
425
        ht_next         rd 1            ;htab[1] stdout
-
 
426
        htab            rd (4096-$)/4   ;htab[2] stderr
-
 
427
        pdt_0           rd 1024
-
 
428
ends
-
 
429
 
-
 
430
struct  DBG_REGS
-
 
431
        dr0             dd ?
-
 
432
        dr1             dd ?
-
 
433
        dr2             dd ?
-
 
434
        dr3             dd ?
-
 
435
        dr7             dd ?
-
 
436
ends
-
 
437
 
-
 
438
struct  POINT
-
 
439
        x       dd ?
-
 
440
        y       dd ?
-
 
441
ends
-
 
442
 
-
 
443
struct  RECT
-
 
444
        left    dd ?
-
 
445
        top     dd ?
-
 
446
        right   dd ?
-
 
447
        bottom  dd ?
-
 
448
ends
-
 
449
 
-
 
450
struct  BOX
-
 
451
        left    dd ?
-
 
452
        top     dd ?
-
 
453
        width   dd ?
-
 
454
        height  dd ?
-
 
455
ends
-
 
456
 
-
 
457
struct  APPDATA
-
 
458
        app_name        rb 11
-
 
459
                        rb 5
-
 
460
 
-
 
461
        list            LHEAD           ;+16
-
 
462
        process         dd ?            ;+24
-
 
463
        fpu_state       dd ?            ;+28
-
 
464
        exc_handler     dd ?            ;+32
-
 
465
        except_mask     dd ?            ;+36
-
 
466
        pl0_stack       dd ?            ;+40
-
 
467
        cursor          dd ?            ;+44
-
 
468
        fd_ev           dd ?            ;+48
-
 
469
        bk_ev           dd ?            ;+52
-
 
470
        fd_obj          dd ?            ;+56
-
 
471
        bk_obj          dd ?            ;+60
-
 
472
        saved_esp       dd ?            ;+64
-
 
473
        io_map          rd 2            ;+68
-
 
474
        dbg_state       dd ?            ;+76
-
 
475
        cur_dir         dd ?            ;+80
-
 
476
        wait_timeout    dd ?            ;+84
-
 
477
        saved_esp0      dd ?            ;+88
-
 
478
        wait_begin      dd ?            ;+92   +++
-
 
479
        wait_test       dd ?            ;+96   +++
-
 
480
        wait_param      dd ?            ;+100  +++
-
 
481
        tls_base        dd ?            ;+104
-
 
482
                        dd ?            ;+108
-
 
483
        event_filter    dd ?            ;+112
-
 
484
        draw_bgr_x      dd ?            ;+116
-
 
485
        draw_bgr_y      dd ?            ;+120
-
 
486
                        dd ?            ;+124
-
 
487
 
-
 
488
        wnd_shape       dd ?            ;+128
-
 
489
        wnd_shape_scale dd ?            ;+132
-
 
490
                        dd ?            ;+136
-
 
491
                        dd ?            ;+140
-
 
492
        saved_box       BOX             ;+144
-
 
493
        ipc_start       dd ?            ;+160
-
 
494
        ipc_size        dd ?            ;+164
-
 
495
        event_mask      dd ?            ;+168
-
 
496
        debugger_slot   dd ?            ;+172
-
 
497
        terminate_protection dd ?       ;+176
-
 
498
        keyboard_mode   db ?            ;+180
-
 
499
                        rb 3
-
 
500
                        dd ?            ;+184
-
 
501
        dbg_event_mem   dd ?            ;+188
-
 
502
        dbg_regs        DBG_REGS        ;+192
-
 
503
        wnd_caption     dd ?            ;+212
-
 
504
        wnd_clientbox   BOX             ;+216
-
 
505
        priority        dd ?            ;+232
-
 
506
        in_schedule     LHEAD           ;+236
-
 
507
ends
-
 
508
 
363
ends
509
APP_OBJ_OFFSET  equ 48
-
 
510
APP_EV_OFFSET   equ 40
-
 
511
 
-
 
512
struct  TASKDATA
-
 
513
        event_mask      dd ?
-
 
514
        pid             dd ?
-
 
515
                        dw ?
-
 
516
        state           db ?
-
 
517
                        db ?
-
 
518
                        dw ?
-
 
519
        wnd_number      db ?
-
 
520
                        db ?
-
 
521
        mem_start       dd ?
-
 
522
        counter_sum     dd ?
-
 
523
        counter_add     dd ?
-
 
524
        cpu_usage       dd ?
-
 
525
ends
-
 
526
 
-
 
527
TSTATE_RUNNING        = 0
-
 
528
TSTATE_RUN_SUSPENDED  = 1
-
 
529
TSTATE_WAIT_SUSPENDED = 2
-
 
530
TSTATE_ZOMBIE         = 3
-
 
531
TSTATE_TERMINATING    = 4
-
 
532
TSTATE_WAITING        = 5
-
 
533
TSTATE_FREE           = 9
-
 
534
 
-
 
535
; constants definition
-
 
536
WSTATE_NORMAL    = 00000000b
-
 
537
WSTATE_MAXIMIZED = 00000001b
-
 
538
WSTATE_MINIMIZED = 00000010b
-
 
539
WSTATE_ROLLEDUP  = 00000100b
-
 
540
 
-
 
541
WSTATE_REDRAW    = 00000001b
-
 
542
WSTATE_WNDDRAWN  = 00000010b
-
 
543
 
-
 
544
WSTYLE_HASCAPTION     = 00010000b
-
 
545
WSTYLE_CLIENTRELATIVE = 00100000b
-
 
546
 
-
 
547
ZPOS_DESKTOP            = -2
-
 
548
ZPOS_ALWAYS_BACK        = -1
-
 
549
ZPOS_NORMAL             = 0
-
 
550
ZPOS_ALWAYS_TOP         = 1     ;ZPOS_ALWAYS_TOP is always last and has max number!
-
 
551
; structures definition
-
 
552
struct  WDATA
-
 
553
        box             BOX
-
 
554
        cl_workarea     dd ?
-
 
555
        cl_titlebar     dd ?
-
 
556
        cl_frames       dd ?
-
 
557
        z_modif         db ?
364
 
558
        fl_wstate       db ?
-
 
559
        fl_wdrawn       db ?
-
 
560
        fl_redraw       db ?
-
 
561
ends
Line 365... Line 562...
365
virtual at (OS_BASE-sizeof.THR_DATA)
562
 
366
  thr_data  THR_DATA
563
label WDATA.fl_wstyle byte at WDATA.cl_workarea + 3
367
end virtual
564
 
368
 
565
 
Line 380... Line 577...
380
        fd              dd ?    ; next object in list
577
        fd              dd ?    ; next object in list
381
        bk              dd ?    ; prev object in list
578
        bk              dd ?    ; prev object in list
382
        pid             dd ?    ; owner id
579
        pid             dd ?    ; owner id
383
ends
580
ends
Line 384... Line -...
384
 
-
 
385
APP_OBJ_OFFSET  equ 48
-
 
386
APP_EV_OFFSET   equ 40
-
 
387
 
581
 
388
struct  CURSOR          APPOBJ
582
struct  CURSOR          APPOBJ
389
        base            dd ?   ;allocated memory
583
        base            dd ?   ;allocated memory
390
        hot_x           dd ?   ;hotspot coords
584
        hot_x           dd ?   ;hotspot coords
Line 478... Line 672...
478
        cpu_caps        dd ?
672
        cpu_caps        dd ?
479
                        dd ?
673
                        dd ?
480
                        dd ?
674
                        dd ?
481
ends
675
ends
Line 482... Line -...
482
 
-
 
483
struct  LHEAD
-
 
484
        next            dd ?   ;next object in list
-
 
485
        prev            dd ?   ;prev object in list
-
 
486
ends
-
 
487
 
-
 
488
struct  MUTEX
-
 
489
        wait_list       LHEAD
-
 
490
        count           dd ?
-
 
491
ends
-
 
492
 
-
 
493
struct  RWSEM
-
 
494
        wait_list       LHEAD
-
 
495
        count           dd ?
-
 
496
ends
-
 
497
 
-
 
498
struct  FUTEX
-
 
499
        list            LHEAD
-
 
500
        magic           dd ?
-
 
501
        handle          dd ?
-
 
502
        destroy         dd ?
-
 
503
 
-
 
504
        wait_list       LHEAD
-
 
505
        pointer         dd ?
-
 
506
        flags           dd ?
-
 
507
ends
-
 
508
 
676
 
509
struct  display_t
677
struct  display_t
510
        x               dd ?
678
        x               dd ?
511
        y               dd ?
679
        y               dd ?
512
        width           dd ?
680
        width           dd ?
Line 542... Line 710...
542
        check_m_pixel   dd ?
710
        check_m_pixel   dd ?
Line 543... Line 711...
543
 
711
 
544
        bytes_per_pixel dd ?
712
        bytes_per_pixel dd ?
Line -... Line 713...
-
 
713
ends
-
 
714
 
-
 
715
struct  DISPMODE
-
 
716
        width   dw ?
-
 
717
        height  dw ?
-
 
718
        bpp     dw ?
-
 
719
        freq    dw ?
Line 545... Line 720...
545
ends
720
ends
546
 
721
 
547
 
722
 
548
struct  PCIDEV
723
struct  PCIDEV
Line 554... Line 729...
554
        bus             db ?
729
        bus             db ?
555
                        rb 2
730
                        rb 2
556
        owner           dd ? ; pointer to SRV or 0
731
        owner           dd ? ; pointer to SRV or 0
557
ends
732
ends
Line -... Line 733...
-
 
733
 
-
 
734
struct  IDE_DATA
-
 
735
        ProgrammingInterface dd ?
-
 
736
        Interrupt            dw ?
-
 
737
        RegsBaseAddres       dw ?
-
 
738
        BAR0_val             dw ?
-
 
739
        BAR1_val             dw ?
-
 
740
        BAR2_val             dw ?
-
 
741
        BAR3_val             dw ?
-
 
742
        dma_hdd_channel_1    db ?
-
 
743
        dma_hdd_channel_2    db ?
-
 
744
ends
-
 
745
 
-
 
746
struct  IDE_CACHE
-
 
747
        pointer              dd ?
-
 
748
        size                 dd ?   ; not use
-
 
749
        data_pointer         dd ?
-
 
750
        system_data_size     dd ?   ; not use
-
 
751
        appl_data_size       dd ?   ; not use
-
 
752
        system_data          dd ?
-
 
753
        appl_data            dd ?
-
 
754
        system_sad_size      dd ?
-
 
755
        appl_sad_size        dd ?
-
 
756
        search_start         dd ?
-
 
757
        appl_search_start    dd ?
-
 
758
ends
-
 
759
 
-
 
760
struct  IDE_DEVICE
-
 
761
        UDMA_possible_modes  db ?
-
 
762
        UDMA_set_mode        db ?
-
 
763
ends
558
 
764
 
559
; The following macro assume that we are on uniprocessor machine.
765
; The following macro assume that we are on uniprocessor machine.
560
; Serious work is needed for multiprocessor machines.
766
; Serious work is needed for multiprocessor machines.
561
macro spin_lock_irqsave spinlock
767
macro spin_lock_irqsave spinlock
562
{
768
{