|
PatchworkOS
|
#include <kernel/drivers/abstractions/mouse.h>#include <kernel/fs/file.h>#include <kernel/fs/sysfs.h>#include <kernel/fs/vfs.h>#include <kernel/sched/timer.h>#include <kernel/sync/lock.h>#include <errno.h>#include <stdio.h>#include <stdlib.h>#include <sys/math.h>Go to the source code of this file.
Functions | |
| static uint64_t | mouse_events_read (file_t *file, void *buffer, uint64_t count, uint64_t *offset) |
| static wait_queue_t * | mouse_events_poll (file_t *file, poll_events_t *revents) |
| static uint64_t | mouse_name_read (file_t *file, void *buffer, uint64_t count, uint64_t *offset) |
| static void | mouse_dir_cleanup (inode_t *inode) |
| mouse_t * | mouse_new (const char *name) |
| Allocate and initialize a mouse structure. | |
| void | mouse_free (mouse_t *mouse) |
| Free and deinitialize a mouse structure. | |
| void | mouse_push (mouse_t *mouse, mouse_buttons_t buttons, int64_t deltaX, int64_t deltaY) |
| Push a new mouse event to the mouse event queue. | |
Variables | |
| static dentry_t * | mouseDir = NULL |
| static atomic_uint64_t | newId = ATOMIC_VAR_INIT(0) |
| static file_ops_t | eventsOps |
| static file_ops_t | nameOps |
| static inode_ops_t | dirInodeOps |
|
static |
Definition at line 70 of file mouse.c.
References free(), mouse, inode_t::private, wait_queue_deinit(), and mouse_t::waitQueue.
|
static |
Definition at line 38 of file mouse.c.
References file, dentry_t::inode, mouse_t::lock, LOCK_SCOPE, mouse, POLLIN, inode_t::private, mouse_t::waitQueue, and mouse_t::writeIndex.
|
static |
Definition at line 17 of file mouse.c.
References buffer, count, ERR, mouse_t::events, file, dentry_t::inode, mouse_t::lock, LOCK_SCOPE, mouse, MOUSE_MAX_EVENT, inode_t::private, ROUND_DOWN, WAIT_BLOCK_LOCK, mouse_t::waitQueue, and mouse_t::writeIndex.
|
static |
Definition at line 54 of file mouse.c.
References buffer, BUFFER_READ, count, file, dentry_t::inode, MAX_NAME, mouse, mouse_t::name, inode_t::private, and strnlen_s().
|
static |
Definition at line 77 of file mouse.c.
Referenced by mouse_new().
|
static |
Definition at line 49 of file mouse.c.
Referenced by mouse_new().
Definition at line 13 of file mouse.c.
Referenced by mouse_new().
|
static |
Definition at line 66 of file mouse.c.
Referenced by mouse_new().
|
static |
Definition at line 15 of file mouse.c.
Referenced by mouse_new().