/kernel/branches/Kolibri-acpi/docs/drivers_api.txt |
---|
13,14 → 13,12 |
more DiskMediaChanged, then optionally DiskDel. The driver must not call |
two functions in parallel, including two calls to DiskMediaChanged. |
void* DiskAdd(DISKFUNC* functions, const char* name, void* userdata, int flags); |
; The pointer 'functions' must be valid at least until the disk will be deleted |
; (until DISKFUNC.close is called). |
; The pointer 'name' can be invalid after this function returns. |
; It should point to ASCIIZ-string without leading '/' in latin lowercase and |
; digits, like 'usbhd0'. |
; The value 'userdata' is any pointer-sized data, passed as is to all |
; callbacks. |
void* stdcall DiskAdd(DISKFUNC* functions, const char* name, void* userdata, |
int flags); ; The pointer 'functions' must be valid at least until the disk |
will be deleted ; (until DISKFUNC.close is called). ; The pointer 'name' can |
be invalid after this function returns. ; It should point to ASCIIZ-string |
without leading '/' in latin lowercase and ; digits, like 'usbhd0'. ; The |
value 'userdata' is any pointer-sized data, passed as is to all ; callbacks. |
DISK_NO_INSERT_NOTIFICATION = 1 |
; The bitfield 'flags' has currently only one bit defined. If it is set, the |
; driver will never call DiskMediaChanged(hDisk, true), so the kernel must scan |
29,13 → 27,13 |
{ |
.strucsize dd ? |
.close dd ? |
; void close(void* userdata); |
; void stdcall (*close)(void* userdata); |
; Optional. |
; The last function that is called for the given disk. The kernel calls it when |
; the kernel has finished all operations with the disk and it is safe to free |
; all driver-specific data identified by 'userdata'. |
.closemedia dd ? |
; void closemedia(void* userdata); |
; void stdcall (*closemedia)(void* userdata); |
; Optional. |
; The kernel calls this function when it finished all processing with the |
; current media. If media is removed, the driver should decline all requests |
43,25 → 41,25 |
; until this function is called. If media is removed, a new call to |
; DiskMediaChanged(hDisk, true) is not allowed until this function is called. |
.querymedia dd ? |
; int querymedia(void* userdata, DISKMEDIAINFO* info); |
; int stdcall (*querymedia)(void* userdata, DISKMEDIAINFO* info); |
; return value: 0 = success, otherwise = error |
.read dd ? |
; int read(void* userdata, void* buffer, __int64 startsector, |
; int stdcall (*read)(void* userdata, void* buffer, __int64 startsector, |
; int* numsectors); |
; return value: 0 = success, otherwise = error |
.write dd ? |
; int write(void* userdata, const void* buffer, __int64 startsector, |
; int stdcall (*write)(void* userdata, const void* buffer, __int64 startsector, |
; int* numsectors); |
; Optional. |
; return value: 0 = success, otherwise = error |
.flush dd ? |
; int flush(void* userdata); |
; int stdcall (*flush)(void* userdata); |
; Optional. |
; Flushes the hardware cache, if it exists. Note that a driver should not |
; implement a software cache for read/write, since they are called from the |
; kernel cache manager. |
.adjust_cache_size dd ? |
; unsigned int adjust_cache_size(unsigned int suggested_size); |
; unsigned int stdcall (*adjust_cache_size)(unsigned int suggested_size); |
; Optional. |
; Returns the cache size for this device in bytes. 0 = disable cache. |
} |
/kernel/branches/Kolibri-acpi/docs/sysfuncr.txt |
---|
3423,6 → 3423,8 |
* ¡¨â 6 (¬ ᪠0x40): CapsLock ¢ª«îçñ |
* ¡¨â 7 (¬ ᪠0x80): NumLock ¢ª«îçñ |
* ¡¨â 8 (¬ ᪠0x100): ScrollLock ¢ª«îçñ |
* ¡¨â 9 (¬ ᪠0x200): «¥¢ë© Win ¦ â |
* ¡¨â 10 (¬ ᪠0x400): ¯à ¢ë© Win ¦ â |
* ¯à®ç¨¥ ¡¨âë á¡à®è¥ë |
----- ®¤äãªæ¨ï 4 - ãáâ ®¢¨âì ®¡é¥á¨á⥬ãî "£®àïçãî ª« ¢¨èã". ----- |
4572,6 → 4574,46 |
* eax = 1 - ¡ãä¥à § ¯®«¥ |
====================================================================== |
===================== ãªæ¨ï 73 - blit bitmap ===================== |
====================================================================== |
¡«¨â - ª®¯¨à®¢ ¨¥ ¡¨â®¢®£® ¬ áᨢ |
à ¬¥âàë: |
* eax = 73 - ®¬¥à äãªæ¨¨ |
* ebx = ROP ¨ ®¯æ¨® «ìë¥ ä« £¨ |
31 6 5 4 3 0 |
[ reserved ][T][B][ROP] |
ROP - ª®¤ à áâ஢ëå ®¯¥à 権 |
0: ª®¯¨à®¢ âì |
1-15: १¥à¢¨à®¢ ® |
B - ¡«¨â ä®®¢ãî ¯®ä¥àå®áâì |
T - ¡«¨â á ¯à®§à ç®áâìî |
* ecx = 㪠§ â¥«ì ¯ à ¬¥âàë äãªæ¨¨ |
ᬥ饨¥ 楫¨ÿ¨ ®âá¥ç¥¨¥ |
+0 signed dword: ᬥ饨¥ ¯® X ®ª , ¤«ï 楫¥¢®£® ¯àאַ㣮«ì¨ª |
¢¥à娩 «¥¢ë© 㣮« |
+4 signed dword: ᬥ饨¥ ¯® Y ®ª , ¤«ï 楫¥¢®£® ¯àאַ㣮«ì¨ª |
¢¥à娩 «¥¢ë© 㣮« |
+8 dword: è¨à¨ 楫¥¢®£® ¯àאַ㣮«ì¨ª |
+12 dword: ¢ëá®â 楫¥¢®£® ¯àאַ㣮«ì¨ª |
ᬥ饨¥ ¨á室¨ª ÿ¨ ®âá¥ç¥¨¥ |
+16 signed dword: ᬥ饨¥ ¯® X bitmap, ¤«ï ¨á室®£® ¯àאַ㣮«ì¨ª |
¢¥à娩 «¥¢ë© 㣮« |
+20 signed dword: ᬥ饨¥ ¯® Y bitmap, ¤«ï ¨á室®£® ¯àאַ㣮«ì¨ª |
¢¥à娩 «¥¢ë© 㣮« |
+24 dword: è¨à¨ ¨á室®£® ¯àאַ㣮«ì¨ª |
+28 dword: ¢ëá®â ¨á室®£® ¯àאַ㣮«ì¨ª |
+32: dword: ¤ ë¥ bitmap - ¤®«¦ë ¡ëâì 32bpp |
+36: dword: à §¬¥à áâப¨ bitmap ¢ ¡ ©â å |
®§¢à é ¥¬®¥ § 票¥: |
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï |
====================================================================== |
========== ãªæ¨ï -1 - § ¢¥àè¨âì ¢ë¯®«¥¨¥ ¯®â®ª /¯à®æ¥áá ========= |
====================================================================== |
à ¬¥âàë: |
/kernel/branches/Kolibri-acpi/docs/sysfuncs.txt |
---|
3403,6 → 3403,8 |
* bit 6 (mask 0x40): CapsLock is on |
* bit 7 (mask 0x80): NumLock is on |
* bit 8 (mask 0x100): ScrollLock is on |
* bit 9 (mask 0x200): left Win is pressed |
* bit 10 (mask 0x400): right Win is pressed |
* other bits are cleared |
-------------- Subfunction 4 - set system-wide hotkey. --------------- |
4555,7 → 4557,7 |
B - blit into the background surface |
T - transparent blit |
* ecx = pointer to the function parametrs |
* ecx = pointer to the function parameters |
destination offset and clipping |
+0 signed dword: destination rectangle X offset from the window |
top-left corner |
4565,18 → 4567,19 |
+12 dword: destination rectangle height |
source offset and clipping |
+16 signed dword: source rectangle X offset from the bitmap top-left corner |
+20 signed dword: source rectangle Y offset from the bitmap top-left corner |
+16 signed dword: source rectangle X offset from the bitmap |
top-left corner |
+20 signed dword: source rectangle Y offset from the bitmap |
top-left corner |
+24 dword: source rectangle width |
+28 dword: source rectangle height |
+32: dword: size of the bitmap row in bytes |
+36: dword: bitmap data - must be 32bpp |
+32: dword: bitmap data - must be 32bpp |
+36: dword: size of the bitmap row in bytes |
Returned value: |
* function does not return value |
====================================================================== |
=============== Function -1 - terminate thread/process =============== |
====================================================================== |