9 | | It defines a first API, implementing the user syscalls, and implementing a simple, kernel controlled, windows manager. |
10 | | This windows manager allows any process to create and use for display one (or several) window(s). Each window defines a private buffer, dynamically allocated in user space, that can be directly accessed (for read and write) by the owner process. |
| 9 | It defines a first ''user'' API, used by the user-level system calls, and implementing a simple, kernel controlled, windows manager. This windows manager allows any process to create and use for display one (or several) window(s). Each window defines a private buffer, dynamically allocated in user space, that can be directly accessed (for read and write) by the owner process. |
58 | | This function implements the deprecated ''fbf_read()'' and ''fbf_write()'' sys-calls. |
59 | | * 2) Two extra syscalls exist but are deprecated: |
60 | | * - FBF_DIRECT_WRITE : move synchronously pixels from an user buffer to the FBF. |
61 | | * - FBF_DIRECT_READ : move synchronously pixels from the FBF to an user buffer. |
62 | | * |
63 | | * For these deprecated operations, the client thread calls |
64 | | * directly the driver to move data between the user buffer and the FBF. |
65 | | * |
| 58 | This function implements the deprecated ''fbf_read()'' and ''fbf_write()'' sys-calls. This function allows an user application to directly access the Frame Buffer, without using any intermediate window. It calls directly the driver to synchronously move <npixels> between an user <buffer> and the FBF, starting at a given <offset> in the FBF. The transfer direction is defined by the <is_write> argument. |
67 | | === C) Drivers API FBF The FBF device defines defines four command types to access FBF driver(s) : |
68 | | * - FBF_DRIVER_KERNEL_WRITE : move pixels from a kernel window to the FBF. |
69 | | * - FBF_DRIVER_KERNEL_READ : move pixels from the FBF to a kernel window. |
70 | | * - FBF_DRIVER_USER_WRITE : move bytes from an user buffer to the FBF. |
71 | | * - FBF_DRIVER_USER_READ : move bytes from the FBF to an user buffer. |
72 | | * |
73 | | * Note: As we don' |
| 60 | |
| 61 | == __ D) Driver API__ == |
| 62 | |
| 63 | The FBF device defines defines four command types to access FBF driver(s) : |
| 64 | - '''FBF_DRIVER_KERNEL_WRITE''' : move pixels from a kernel window to the FBF. |
| 65 | - '''FBF_DRIVER_KERNEL_READ''' : move pixels from the FBF to a kernel window. |
| 66 | - '''FBF_DRIVER_USER_WRITE''' : move bytes from an user buffer to the FBF. |
| 67 | - '''FBF_DRIVER_USER_READ''' : move bytes from the FBF to an user buffer. |
| 68 | |
| 69 | These four commands use the three following arguments, that must be registered, with the command type, in the ''fbf_command_t'' structure embedded in the client thread descriptor : |
| 70 | - '''npixels''' : number of pixels to be moved. |
| 71 | - '''buffer''' : pointer on buffer in (can be in user space or in kernel space). |
| 72 | - '''offset''' : offset in FBF (number of pixels). |