Subversion Repositories Kolibri OS

Rev

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

Rev 2381 Rev 2384
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2009. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2009. 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: 2381 $
8
$Revision: 2384 $
9
 
9
 
10
 
10
 
Line 177... Line 177...
177
                    rb 24
177
                    rb 24
178
        _io_map_0   rb 4096
178
        _io_map_0   rb 4096
179
        _io_map_1   rb 4096
179
        _io_map_1   rb 4096
180
ends
180
ends
Line 181... Line -...
181
 
-
 
182
TSS_SIZE  equ (128+8192)
-
 
183
 
181
 
Line 184... Line 182...
184
OS_BASE             equ 0x80000000
182
OS_BASE             equ 0x80000000
Line 185... Line 183...
185
 
183
 
Line 395... Line 393...
395
EVENT_DEBUG        equ 0x00000100
393
EVENT_DEBUG        equ 0x00000100
396
EVENT_EXTENDED     equ 0x00000200
394
EVENT_EXTENDED     equ 0x00000200
Line 397... Line 395...
397
 
395
 
Line 398... Line 396...
398
EV_INTR            equ 1
396
EV_INTR            equ 1
399
 
-
 
400
struc THR_DATA
397
 
401
{
398
struct  THR_DATA
402
                  rb (8192-512)
399
                        rb (8192-512)
403
  .pl0_stack:
400
;       pl0_stack
404
  .fpu_state      rb 512
401
        fpu_state       rb 512
405
  .tls_page       rb 4096
402
        tls_page        rb 4096
406
  .pdbr           rb 4096
-
 
407
}
-
 
Line 408... Line 403...
408
 
403
        pdbr            rb 4096
409
THR_DATA_SIZE     equ 4096*4
404
ends
410
 
405
 
Line 411... Line 406...
411
virtual at (OS_BASE-THR_DATA_SIZE)
406
virtual at (OS_BASE-sizeof.THR_DATA)
412
  thr_data  THR_DATA
407
  thr_data  THR_DATA
413
end virtual
408
end virtual
414
 
409
 
415
struc SYS_VARS
410
struct  SYS_VARS
416
{ .bpp            dd ?
411
        bpp             dd ?
417
  .scanline       dd ?
-
 
418
  .vesa_mode      dd ?
-
 
419
  .x_res          dd ?
-
 
420
  .y_res          dd ?
-
 
421
}
-
 
422
 
-
 
423
struc APPOBJ           ;common object header
-
 
424
{
-
 
425
   .magic       dd ?   ;
-
 
426
   .destroy     dd ?   ;internal destructor
412
        scanline        dd ?
Line -... Line 413...
-
 
413
        vesa_mode       dd ?
427
   .fd          dd ?   ;next object in list
414
        x_res           dd ?
-
 
415
        y_res           dd ?
-
 
416
ends
-
 
417
 
428
   .bk          dd ?   ;prev object in list
418
struct  APPOBJ                  ; common object header
429
   .pid         dd ?   ;owner id
419
        magic           dd ?    ;
Line 430... Line 420...
430
};
420
        destroy         dd ?    ; internal destructor
431
 
421
        fd              dd ?    ; next object in list
Line 432... Line -...
432
virtual at 0
-
 
433
  APPOBJ APPOBJ
-
 
434
end virtual
-
 
435
 
422
        bk              dd ?    ; prev object in list
436
APP_OBJ_OFFSET  equ 48
-
 
437
APP_EV_OFFSET   equ 40
-
 
438
 
-
 
439
struc CURSOR
-
 
440
{
-
 
441
;common object header
-
 
442
   .magic       dd ?   ;'CURS'
423
        pid             dd ?    ; owner id
443
   .destroy     dd ?   ;internal destructor
424
ends
444
   .fd          dd ?   ;next object in list
425
 
445
   .bk          dd ?   ;prev object in list
426
APP_OBJ_OFFSET  equ 48
446
   .pid         dd ?   ;owner id
427
APP_EV_OFFSET   equ 40
447
 
428
 
448
 ;cursor data
429
struct  CURSOR          APPOBJ
449
   .base        dd ?   ;allocated memory
-
 
450
   .hot_x       dd ?   ;hotspot coords
-
 
451
   .hot_y       dd ?
-
 
452
 
-
 
453
   .list_next   dd ?   ;next cursor in cursor list
-
 
454
   .list_prev   dd ?   ;prev cursor in cursor list
430
        base            dd ?   ;allocated memory
Line 455... Line -...
455
   .dev_obj     dd ?   ;device depended data
-
 
456
 
-
 
457
   .sizeof:
431
        hot_x           dd ?   ;hotspot coords
458
}
-
 
459
virtual at 0
-
 
460
  CURSOR CURSOR
-
 
461
end virtual
-
 
462
 
-
 
463
 
432
        hot_y           dd ?
464
struc EVENT
433
 
465
{
434
        list_next       dd ?   ;next cursor in cursor list
466
   .magic       dd ?   ;'EVNT'
435
        list_prev       dd ?   ;prev cursor in cursor list
467
   .destroy     dd ?   ;internal destructor
-
 
468
   .fd          dd ?   ;next object in list
-
 
469
   .bk          dd ?   ;prev object in list
-
 
470
   .pid         dd ?   ;owner id
-
 
471
 
-
 
472
   .id          dd ?   ;event uid
-
 
473
   .state       dd ?   ;internal flags
436
        dev_obj         dd ?   ;device depended data
474
   .code        dd ?
-
 
475
                rd 5
-
 
476
   .size     =  $ - .magic
-
 
477
   .codesize =  $ - .code
-
 
478
}
-
 
479
 
-
 
480
virtual at 0
-
 
481
  EVENT EVENT
-
 
482
end virtual
-
 
483
 
-
 
484
 
-
 
485
struc SMEM
-
 
486
{
-
 
487
    .bk         dd ?
-
 
488
    .fd         dd ?    ;+4
-
 
489
    .base       dd ?    ;+8
-
 
490
    .size       dd ?    ;+12
-
 
491
    .access     dd ?    ;+16
-
 
492
    .refcount   dd ?    ;+20
-
 
493
    .name       rb 32   ;+24
-
 
494
    .sizeof:
-
 
495
}
-
 
496
 
-
 
497
struc SMAP
-
 
498
{
-
 
499
   .magic       dd ?   ; SMAP
-
 
500
   .destroy     dd ?   ;internal destructor
-
 
501
   .fd          dd ?   ;next object in list
-
 
502
   .bk          dd ?   ;prev object in list
-
 
503
   .pid         dd ?   ;owner id
-
 
Line 504... Line -...
504
 
-
 
505
   .base        dd ?   ;mapped base
-
 
506
   .parent      dd ?   ;SMEM
-
 
Line 507... Line 437...
507
   .sizeof:
437
ends
508
}
-
 
509
 
438
 
510
virtual at 0
439
 
511
  SMEM SMEM
440
struct  EVENT           APPOBJ
512
end virtual
441
        id              dd ?   ;event uid
513
 
-
 
514
virtual at 0
-
 
515
  SMAP SMAP
-
 
516
end virtual
-
 
517
 
-
 
518
struc DLLDESCR
-
 
519
{
-
 
520
    .bk         dd ?
-
 
521
    .fd         dd ?    ;+4
-
 
522
    .data       dd ?    ;+8
-
 
523
    .size       dd ?    ;+12
-
 
524
    .timestamp  dq ?
-
 
525
    .refcount   dd ?
-
 
526
    .defaultbase dd ?
-
 
527
    .coff_hdr    dd ?
-
 
528
    .symbols_ptr dd ?
-
 
529
    .symbols_num dd ?
442
        state           dd ?   ;internal flags
530
    .symbols_lim dd ?
-
 
531
    .exports     dd ?   ;export table
443
        code            dd ?
532
    .name:
444
                        rd 5
533
    .sizeof:
-
 
534
}
-
 
535
 
-
 
536
struc HDLL
445
ends
Line 537... Line 446...
537
{
446
 
-
 
447
 
538
    .fd          dd ?   ;next object in list
448
struct  SMEM
539
    .bk          dd ?   ;prev object in list
449
        bk              dd ?
Line 540... Line 450...
540
    .pid         dd ?   ;owner id
450
        fd              dd ?    ;+4
541
 
451
        base            dd ?    ;+8
-
 
452
        size            dd ?    ;+12
-
 
453
        access          dd ?    ;+16
-
 
454
        refcount        dd ?    ;+20
-
 
455
        name            rb 32   ;+24
-
 
456
ends
-
 
457
 
-
 
458
struct  SMAP            APPOBJ
-
 
459
        base            dd ?   ;mapped base
-
 
460
        parent          dd ?   ;SMEM
-
 
461
ends
-
 
462
 
-
 
463
struct  DLLDESCR
542
    .base        dd ?   ;mapped base
464
        bk              dd ?
Line 543... Line 465...
543
    .size        dd ?   ;mapped size
465
        fd              dd ?    ;+4
544
    .refcount    dd ?   ;reference counter for this process and this lib
-
 
545
    .parent      dd ?   ;DLLDESCR
466
        data            dd ?    ;+8
546
    .sizeof:
467
        size            dd ?    ;+12
547
}
-
 
548
 
-
 
549
virtual at 0
468
        timestamp       dq ?
550
  DLLDESCR DLLDESCR
-
 
551
end virtual
-
 
552
 
-
 
553
virtual at 0
469
        refcount        dd ?
554
  HDLL HDLL
470
        defaultbase     dd ?
555
end virtual
471
        coff_hdr        dd ?
556
 
472
        symbols_ptr     dd ?
557
struc display_t
473
        symbols_num     dd ?
558
{
-
 
559
    .x              dd ?
-
 
560
    .y              dd ?
-
 
561
    .width          dd ?
-
 
562
    .height         dd ?
-
 
563
    .bpp            dd ?
-
 
564
    .vrefresh       dd ?
-
 
565
    .pitch          dd ?
-
 
566
    .lfb            dd ?
-
 
567
 
-
 
568
    .modes          dd ?
-
 
569
    .ddev           dd ?
-
 
570
    .connector      dd ?
474
        symbols_lim     dd ?
Line 571... Line 475...
571
    .crtc           dd ?
475
        exports         dd ?   ;export table
-
 
476
        name            rb 260
-
 
477
ends
-
 
478
 
-
 
479
struct  HDLL
-
 
480
        fd              dd ?   ;next object in list
-
 
481
        bk              dd ?   ;prev object in list
-
 
482
        pid             dd ?   ;owner id
-
 
483
 
-
 
484
        base            dd ?   ;mapped base
-
 
485
        size            dd ?   ;mapped size
-
 
486
        refcount        dd ?   ;reference counter for this process and this lib
-
 
487
        parent          dd ?   ;DLLDESCR
-
 
488
ends
-
 
489
 
-
 
490
struct  display_t
-
 
491
        x               dd ?
-
 
492
        y               dd ?
-
 
493
        width           dd ?
-
 
494
        height          dd ?
-
 
495
        bpp             dd ?
-
 
496
        vrefresh        dd ?
-
 
497
        pitch           dd ?
-
 
498
        lfb             dd ?
-
 
499
 
572
 
500
        modes           dd ?
573
    .cr_list.next   dd ?
501
        ddev            dd ?
Line 574... Line 502...
574
    .cr_list.prev   dd ?
502
        connector       dd ?
575
 
503
        crtc            dd ?
576
    .cursor         dd ?
504
 
577
 
505
        cr_list.next    dd ?
578
    .init_cursor    dd ?
506
        cr_list.prev    dd ?
579
    .select_cursor  dd ?
507
 
580
    .show_cursor    dd ?
508
        cursor          dd ?
581
    .move_cursor    dd ?
509
 
582
    .restore_cursor dd ?
510
        init_cursor     dd ?
583
    .disable_mouse  dd ?
511
        select_cursor   dd ?
584
}
512
        show_cursor     dd ?
585
 
513
        move_cursor     dd ?
586
virtual at 0
514
        restore_cursor  dd ?
587
  display_t display_t
515
        disable_mouse   dd ?
588
end virtual
516
ends
589
 
517
 
590
struc BOOT_DATA
518
struct  BOOT_DATA
591
{ .bpp            dd ?
519
        bpp             dd ?
592
  .scanline       dd ?
520
        scanline        dd ?
593
  .vesa_mode      dd ?
521
        vesa_mode       dd ?
594
  .x_res          dd ?
522
        x_res           dd ?
595
  .y_res          dd ?
523
        y_res           dd ?
Line 596... Line 524...
596
  .mouse_port     dd ?
524
        mouse_port      dd ?
597
  .bank_switch    dd ?
525
        bank_switch     dd ?
598
  .lfb            dd ?
526
        lfb             dd ?
599
  .vesa_mem       dd ?
527
        vesa_mem        dd ?
600
  .log            dd ?
528
        log             dd ?
601
  .direct_lfb     dd ?
529
        direct_lfb      dd ?
602
  .pci_data       dd ?
530
        pci_data        dd ?
603
;                  dd ?
531
                        dd ?
604
  .vrr            dd ?
-
 
605
  .ide_base       dd ?
-
 
606
  .mem_amount     dd ?
-
 
607
  .pages_count    dd ?
-
 
608
  .pagemap_size   dd ?
-
 
609
  .kernel_max     dd ?
-
 
610
  .kernel_pages   dd ?
-
 
611
  .kernel_tables  dd ?
-
 
612
 
-
 
613
  .cpu_vendor     dd ?
-
 
614
                  dd ?
-
 
615
                  dd ?
-
 
616
  .cpu_sign       dd ?
-
 
617
  .cpu_info       dd ?
-
 
618
  .cpu_caps       dd ?
-
 
619
                  dd ?
-
 
620
                  dd ?
-
 
621
}
-
 
622
 
-
 
623
virtual at 0
-
 
624
  BOOT_DATA BOOT_DATA
-
 
625
end virtual
-
 
626
 
-
 
627
struc MEM_STATE
-
 
628
{  .mutex             MUTEX
-
 
629
   .smallmap          rd 1
-
 
630
   .treemap           rd 1
-
 
631
   .topsize           rd 1
-
 
632
   .top               rd 1
-
 
633
   .smallbins         rd 4*32
-
 
634
   .treebins          rd 32
-
 
635
}
-
 
636
 
-
 
637
struc PG_DATA
-
 
638
{ .mem_amount        dd ?
-
 
639
  .vesa_mem          dd ?
-
 
640
  .pages_count       dd ?
-
 
641
  .pages_free        dd ?
-
 
642
  .pages_faults      dd ?
-
 
643
  .pagemap_size      dd ?
-
 
644
  .kernel_pages      dd ?
-
 
645
  .kernel_tables     dd ?
-
 
646
  .sys_page_dir      dd ?
-
 
647
  .mutex             MUTEX
-
 
648
}
-
 
649
 
-
 
650
;struc LIB
-
 
651
;{ .lib_name         rb 16
-
 
652
;  .lib_base         dd ?
-
 
653
;  .lib_start        dd ?
-
 
654
;  .export           dd ?
-
 
655
;  .import           dd ?
-
 
656
;}
-
 
657
 
-
 
658
struc SRV
-
 
659
{
-
 
660
 .srv_name          rb 16           ;ASCIIZ string
-
 
661
  .magic             dd ?     ;+0x10 ;'SRV '
-
 
662
  .size              dd ?     ;+0x14 ;size of structure SRV
-
 
663
  .fd                dd ?     ;+0x18 ;next SRV descriptor
-
 
664
  .bk                dd ?     ;+0x1C ;prev SRV descriptor
-
 
665
  .base              dd ?     ;+0x20 ;service base address
-
 
666
  .entry             dd ?     ;+0x24 ;service START function
-
 
667
  .srv_proc          dd ?     ;+0x28 ;user mode service handler
-
 
668
  .srv_proc_ex       dd ?     ;+0x2C ;kernel mode service handler
532
        vrr             dd ?
669
  .sizeof:
-
 
670
}
-
 
671
 
-
 
672
SRV_FD_OFFSET  equ 0x18
-
 
673
 
-
 
674
DRV_ENTRY    equ  1
-
 
675
DRV_EXIT     equ -1
-
 
676
 
-
 
677
struc COFF_HEADER
-
 
678
{  .machine          dw ?
-
 
679
   .nSections        dw ?
-
 
680
   .DataTime         dd ?
-
 
681
   .pSymTable        dd ?
-
 
682
   .nSymbols         dd ?
-
 
683
   .optHeader        dw ?
-
 
684
   .flags            dw ?
-
 
685
};
-
 
686
 
-
 
687
 
-
 
688
struc COFF_SECTION
-
 
689
{  .Name             rb 8
-
 
690
   .VirtualSize      dd ?
-
 
691
   .VirtualAddress   dd ?
-
 
692
   .SizeOfRawData    dd ?
-
 
693
   .PtrRawData       dd ?
-
 
694
   .PtrReloc         dd ?
-
 
695
   .PtrLinenumbers   dd ?
-
 
696
   .NumReloc         dw ?
-
 
697
   .NumLinenum       dw ?
-
 
698
   .Characteristics  dd ?
-
 
699
}
-
 
700
COFF_SECTION_SIZE equ 40
-
 
701
 
-
 
702
struc COFF_RELOC
-
 
703
{  .VirtualAddress   dd ?
-
 
704
   .SymIndex         dd ?
-
 
705
   .Type             dw ?
-
 
706
}
-
 
707
 
-
 
708
struc COFF_SYM
-
 
Line 709... Line 533...
709
{  .Name             rb 8
533
        ide_base        dd ?
710
   .Value            dd ?
534
        mem_amount      dd ?
-
 
535
        pages_count     dd ?
711
   .SectionNumber    dw ?
536
        pagemap_size    dd ?
Line 712... Line 537...
712
   .Type             dw ?
537
        kernel_max      dd ?
713
   .StorageClass     db ?
538
        kernel_pages    dd ?
-
 
539
        kernel_tables   dd ?
714
   .NumAuxSymbols    db ?
540
 
Line 715... Line 541...
715
}
541
        cpu_vendor      dd ?
-
 
542
                        dd ?
-
 
543
                        dd ?
716
CSYM_SIZE equ 18
544
        cpu_sign        dd ?
-
 
545
        cpu_info        dd ?
-
 
546
        cpu_caps        dd ?
-
 
547
                        dd ?
-
 
548
                        dd ?
717
 
549
ends
Line 718... Line 550...
718
struc IOCTL
550
 
-
 
551
struct  LHEAD
-
 
552
        next            dd ?   ;next object in list
719
{  .handle           dd ?
553
        prev            dd ?   ;prev object in list
-
 
554
ends
-
 
555
 
-
 
556
struct  MUTEX
-
 
557
        lhead   LHEAD
-
 
558
        count   dd ?
-
 
559
ends
-
 
560
 
720
   .io_code          dd ?
561
struct  MEM_STATE
Line 721... Line 562...
721
   .input            dd ?
562
        mutex           MUTEX
722
   .inp_size         dd ?
563
        smallmap        dd ?
-
 
564
        treemap         dd ?
-
 
565
        topsize         dd ?
-
 
566
        top             dd ?
-
 
567
        smallbins       rd 4*32
-
 
568
        treebins        rd 32
-
 
569
ends
-
 
570
 
-
 
571
struct  PG_DATA
723
   .output           dd ?
572
        mem_amount      dd ?
Line 724... Line 573...
724
   .out_size         dd ?
573
        vesa_mem        dd ?
725
}
574
        pages_count     dd ?
726
 
-
 
Line 727... Line 575...
727
virtual at 0
575
        pages_free      dd ?
-
 
576
        pages_faults    dd ?
728
  IOCTL IOCTL
577
        pagemap_size    dd ?
-
 
578
        kernel_pages    dd ?
-
 
579
        kernel_tables   dd ?
-
 
580
        sys_page_dir    dd ?
-
 
581
        mutex           MUTEX
-
 
582
ends
729
end virtual
583
 
Line 730... Line 584...
730
 
584
struct  SRV
731
;virtual at 0
-
 
732
;  LIB LIB
585
        srv_name        rb 16    ;ASCIIZ string
733
;end virtual
586
        magic           dd ?     ;+0x10 ;'SRV '
-
 
587
        size            dd ?     ;+0x14 ;size of structure SRV
734
 
588
        fd              dd ?     ;+0x18 ;next SRV descriptor
-
 
589
        bk              dd ?     ;+0x1C ;prev SRV descriptor
-
 
590
        base            dd ?     ;+0x20 ;service base address
-
 
591
        entry           dd ?     ;+0x24 ;service START function
-
 
592
        srv_proc        dd ?     ;+0x28 ;user mode service handler
-
 
593
        srv_proc_ex     dd ?     ;+0x2C ;kernel mode service handler
-
 
594
ends
735
virtual at 0
595
 
Line 736... Line 596...
736
  SRV SRV
596
DRV_ENTRY    equ  1
737
end virtual
597
DRV_EXIT     equ -1
-
 
598
 
-
 
599
struct  COFF_HEADER
738
 
600
        machine         dw ?
Line 739... Line 601...
739
virtual at 0
601
        nSections       dw ?
740
  CFH COFF_HEADER
-
 
741
end virtual
602
        DataTime        dd ?
742
 
603
        pSymTable       dd ?
-
 
604
        nSymbols        dd ?
743
virtual at 0
605
        optHeader       dw ?
-
 
606
        flags           dw ?
744
  CFS COFF_SECTION
607
ends
745
end virtual
608
 
Line 746... Line 609...
746
 
609
struct  COFF_SECTION
747
virtual at 0
610
        Name            rb 8
-
 
611
        VirtualSize     dd ?
-
 
612
        VirtualAddress  dd ?
-
 
613
        SizeOfRawData   dd ?
-
 
614
        PtrRawData      dd ?
-
 
615
        PtrReloc        dd ?
748
  CRELOC COFF_RELOC
616
        PtrLinenumbers  dd ?
Line -... Line 617...
-
 
617
        NumReloc        dw ?
-
 
618
        NumLinenum      dw ?
-
 
619
        Characteristics dd ?
-
 
620
ends
-
 
621
 
749
end virtual
622
struct  COFF_RELOC