Subversion Repositories Kolibri OS

Rev

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

Rev 139 Rev 142
Line 319... Line 319...
319
      number of the thread slot, which window has in the window stack
319
      number of the thread slot, which window has in the window stack
320
      position ecx
320
      position ecx
321
    * +8: word: reserved
321
    * +8: word: reserved
322
    * +10 = +0xA: 11 bytes: name of the process
322
    * +10 = +0xA: 11 bytes: name of the process
323
      (name of corresponding executable file in the format 8+3)
323
      (name of corresponding executable file in the format 8+3)
324
    * +21 = +0x15: byte: alignment, this byte preserves
324
    * +21 = +0x15: byte: reserved, this byte is not changed
325
    * +22 = +0x16: dword: address of the process in memory
325
    * +22 = +0x16: dword: address of the process in memory
326
    * +26 = +0x1A: dword: size of used memory - 1
326
    * +26 = +0x1A: dword: size of used memory - 1
327
    * +30 = +0x1E: dword: identifier (PID/TID)
327
    * +30 = +0x1E: dword: identifier (PID/TID)
328
    * +34 = +0x22: dword: coordinate of the thread window on axis x
328
    * +34 = +0x22: dword: coordinate of the thread window on axis x
329
    * +38 = +0x26: dword: coordinate of the thread window on axis y
329
    * +38 = +0x26: dword: coordinate of the thread window on axis y
Line 338... Line 338...
338
        of function 18 or termination of the system
338
        of function 18 or termination of the system
339
      * 4 = thread is terminating as a result of exception
339
      * 4 = thread is terminating as a result of exception
340
      * 5 = thread waits for event
340
      * 5 = thread waits for event
341
      * 9 = requested slot is free, all other information on the slot
341
      * 9 = requested slot is free, all other information on the slot
342
        is not meaningful
342
        is not meaningful
-
 
343
    * +52 = +0x34: word: reserved, this word is not changed
-
 
344
    * +54 = +0x36: dword: coordinate of the client area on axis x
-
 
345
    * +58 = +0x3A: dword: coordinate of the client area on axis y
-
 
346
    * +62 = +0x3E: dword: width of the client area
-
 
347
    * +66 = +0x42: dword: height of the client area
-
 
348
    * +70 = +0x46: byte: state of the window - bitfield
-
 
349
      * bit 0 (mask 1): window is maximized
-
 
350
      * bit 1 (mask 2): window is minimized to panel
-
 
351
      * bit 2 (mask 4): window is rolled up
343
Remarks:
352
Remarks:
344
  * Slots are numbered starting from 1.
353
  * Slots are numbered starting from 1.
345
  * Returned value is not a total number of threads, because there
354
  * Returned value is not a total number of threads, because there
346
    can be free slots.
355
    can be free slots.
347
  * When process is starting, system automatically creates
356
  * When process is starting, system automatically creates
Line 360... Line 369...
360
      +4 and +6 contain value 1
369
      +4 and +6 contain value 1
361
    * name of the process - "OS/IDLE" (supplemented by spaces)
370
    * name of the process - "OS/IDLE" (supplemented by spaces)
362
    * address of the process in memory is 0, size of used memory is
371
    * address of the process in memory is 0, size of used memory is
363
      16 Mb (0x1000000)
372
      16 Mb (0x1000000)
364
    * PID=1
373
    * PID=1
365
    * coordinates and sizes of the window are by convention set to 0
374
    * coordinates and sizes of the window and the client area are by
-
 
375
      convention set to 0
366
    * status of the slot is always 0 (running)
376
    * status of the slot is always 0 (running)
367
    * the execution time adds of time leaving on operations itself
377
    * the execution time adds of time leaving on operations itself
368
      and idle time in waiting for interrupt (which can be got by call
378
      and idle time in waiting for interrupt (which can be got by call
369
      to subfunction 4 of function 18).
379
      to subfunction 4 of function 18).
370
  * Beginning from slot 2, the normal applications are placed.
380
  * Beginning from slot 2, the normal applications are placed.
Line 379... Line 389...
379
    to other thread even after completion of this thread.
389
    to other thread even after completion of this thread.
380
    Identifiers, assigned to new threads, grow monotonously.
390
    Identifiers, assigned to new threads, grow monotonously.
381
  * If the thread has not yet defined the window by call to
391
  * If the thread has not yet defined the window by call to
382
    function 0, the position and the sizes
392
    function 0, the position and the sizes
383
    of its window are considered to be zero.
393
    of its window are considered to be zero.
-
 
394
  * Coordinates of the client area are relative to the window.
384
  * At the moment only the part of the buffer by a size
395
  * At the moment only the part of the buffer by a size
385
    52 = 0x34 bytes is used. Nevertheless it is recommended to use
396
    71 = 0x37 bytes is used. Nevertheless it is recommended to use
386
    1-Kb buffer for the future compatibility, in the future
397
    1-Kb buffer for the future compatibility, in the future
387
    some fields can be added.
398
    some fields can be added.
Line 388... Line 399...
388
 
399
 
389
======================================================================
400
======================================================================