Rev 346 | Rev 485 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 346 | Rev 448 | ||
---|---|---|---|
Line 3283... | Line 3283... | ||
3283 | 3283 | ||
3284 | ====================================================================== |
3284 | ====================================================================== |
3285 | ============== Function 63 - work with the debug board. ============== |
3285 | ============== Function 63 - work with the debug board. ============== |
3286 | ====================================================================== |
3286 | ====================================================================== |
3287 | The debug board is the global system buffer (with the size |
3287 | The debug board is the global system buffer (with the size |
3288 | 512 bytes), to which any program can write (generally speaking, |
3288 | 4096 bytes), to which any program can write (generally speaking, |
3289 | arbitrary) data and from which other program can read these data. |
3289 | arbitrary) data and from which other program can read these data. |
3290 | By the agreement written data are text strings interpreted as |
3290 | By the agreement written data are text strings interpreted as |
3291 | debug messages on a course of program execution. The kernel in |
3291 | debug messages on a course of program execution. The kernel in |
3292 | some situations also writes to the debug board information on |
3292 | some situations also writes to the debug board information on |
Line 3613... | Line 3613... | ||
3613 | * ecx = pointer to the memory block |
3613 | * ecx = pointer to the memory block |
3614 | Returned value: |
3614 | Returned value: |
3615 | * eax = 1 - success |
3615 | * eax = 1 - success |
3616 | * eax = 0 - failed |
3616 | * eax = 0 - failed |
3617 | Remarks: |
3617 | Remarks: |
3618 | * The memory block must have been allocated by subfunction 12. |
3618 | * The memory block must have been allocated by subfunction 12 |
- | 3619 | or subfunction 20. |
|
Line 3619... | Line 3620... | ||
3619 | 3620 | ||
3620 | ====================================================================== |
3621 | ====================================================================== |
3621 | ======== Function 68, subfunction 14 - wait for driver notify. ======= |
3622 | ======== Function 68, subfunction 14 - wait for driver notify. ======= |
3622 | ====================================================================== |
3623 | ====================================================================== |
Line 3704... | Line 3705... | ||
3704 | * Export table is an array of structures of 2 dword's, terminated |
3705 | * Export table is an array of structures of 2 dword's, terminated |
3705 | by zero. The first dword in structure points to function name, |
3706 | by zero. The first dword in structure points to function name, |
3706 | the second dword contains address of function. |
3707 | the second dword contains address of function. |
Line 3707... | Line 3708... | ||
3707 | 3708 | ||
- | 3709 | ====================================================================== |
|
- | 3710 | ======= Function 68, subfunction 20 - reallocate memory block. ======= |
|
- | 3711 | ====================================================================== |
|
- | 3712 | Parameters: |
|
- | 3713 | * eax = 68 - function number |
|
- | 3714 | * ebx = 20 - subfunction number |
|
- | 3715 | * ecx = new size in bytes |
|
- | 3716 | * edx = pointer to already allocated block |
|
- | 3717 | Returned value: |
|
- | 3718 | * eax = pointer to the reallocated block, 0 = error |
|
- | 3719 | Remarks: |
|
- | 3720 | * Before this call one must initialize process heap by call to |
|
- | 3721 | subfunction 11. |
|
- | 3722 | * The function allocates an integer number of pages (4 Kb) in such |
|
- | 3723 | way that the real size of allocated block is more than or equal to |
|
- | 3724 | requested size. |
|
- | 3725 | * If edx=0, the function call is equivalent to memory allocation |
|
- | 3726 | with subfunction 12. Otherwise the block at edx |
|
- | 3727 | must be allocated earlier with subfunction 12 or this subfunction. |
|
- | 3728 | * If ecx=0, the function frees memory block at edx and returns 0. |
|
- | 3729 | * The contents of the block are unchanged up to the shorter of |
|
- | 3730 | the new and old sizes. |
|
- | 3731 | ||
3708 | ====================================================================== |
3732 | ====================================================================== |
3709 | ====================== Fucntion 69 - debugging. ====================== |
3733 | ====================== Fucntion 69 - debugging. ====================== |
3710 | ====================================================================== |
3734 | ====================================================================== |
3711 | A process can load other process as debugged by set of corresponding |
3735 | A process can load other process as debugged by set of corresponding |
3712 | bit by call to subfunction 7 of function 70. |
3736 | bit by call to subfunction 7 of function 70. |
Line 4433... | Line 4457... | ||
4433 | * 0 = success |
4457 | * 0 = success |
4434 | * 1 = base and/or partition of a hard disk is not defined |
4458 | * 1 = base and/or partition of a hard disk is not defined |
4435 | (by subfunctions 7, 8 of function 21) |
4459 | (by subfunctions 7, 8 of function 21) |
4436 | * 2 = function is not supported for the given file system |
4460 | * 2 = function is not supported for the given file system |
4437 | * 3 = unknown file system |
4461 | * 3 = unknown file system |
4438 | * 4 = is returned only from function 'rename' by transmission of |
- | |
4439 | the strongly incorrect parameter and in any way does not |
- | |
4440 | correspond to the description in the kernel sources |
4462 | * 4 = reserved, is never returned in the current implementation |
4441 | "partition not defined at hd" |
- | |
4442 | * 5 = file not found |
4463 | * 5 = file not found |
4443 | * 6 = end of file, EOF |
4464 | * 6 = end of file, EOF |
4444 | * 7 = pointer lies outside of application memory |
4465 | * 7 = pointer lies outside of application memory |
4445 | * 8 = disk is full |
4466 | * 8 = disk is full |
4446 | * 9 = FAT table is destroyed |
4467 | * 9 = FAT table is destroyed |