[c5c522c] | 1 | #ifndef SOCKETS_H |
---|
| 2 | #define SOCKETS_H |
---|
| 3 | |
---|
| 4 | #include <stdlib.h> |
---|
| 5 | |
---|
| 6 | #ifndef LCDPORT |
---|
| 7 | #define LCDPORT 13666 |
---|
| 8 | #endif |
---|
| 9 | |
---|
| 10 | |
---|
| 11 | |
---|
| 12 | /* |
---|
| 13 | Socket functions available to server and clients... |
---|
| 14 | (ignore the rest of the comments... I was babbling out random ideas) |
---|
| 15 | |
---|
| 16 | This should have stuff to read/write sockets, open/close them, etc... |
---|
| 17 | */ |
---|
| 18 | |
---|
| 19 | |
---|
| 20 | // Client functions... |
---|
| 21 | int sock_connect(char *host, unsigned short int port); |
---|
| 22 | int sock_close(int fd); |
---|
| 23 | // Send/receive lines of text |
---|
| 24 | int sock_send_string(int fd, char *string); |
---|
| 25 | // Recv gives only one line per call... |
---|
| 26 | int sock_recv_string(int fd, char *dest, size_t maxlen); |
---|
| 27 | // Send/receive raw data |
---|
| 28 | int sock_send(int fd, void *src, size_t size); |
---|
| 29 | int sock_recv(int fd, void *dest, size_t maxlen); |
---|
| 30 | |
---|
| 31 | |
---|
| 32 | // Er, ignore the rest of this file. I'll clean it up sometime... |
---|
| 33 | |
---|
| 34 | /***************************************************************** |
---|
| 35 | LCDproc command line interface?: (while running) |
---|
| 36 | |
---|
| 37 | -command |
---|
| 38 | Tells LCDproc to interpret stdin as raw commands to send through |
---|
| 39 | the socket. Input must be formatted as above, in socket interface. |
---|
| 40 | -function f |
---|
| 41 | Runs LCDproc external function f, where f is one of the predefined |
---|
| 42 | functions which can be assigned to keypad keys. (like NEXTMODE, etc) |
---|
| 43 | -key x |
---|
| 44 | Simulates keypad press of key 'x', where 'x' is (A-Z). |
---|
| 45 | -print [time] |
---|
| 46 | Prints stdin on LCD one line at a time, with no line-wrapping (raw), |
---|
| 47 | with [time] frames between updates (lines). |
---|
| 48 | -wrap [time] |
---|
| 49 | Prints stdin as with "-print", but with line wrapping when possible. |
---|
| 50 | -contrast xxx |
---|
| 51 | Sets contrast to xxx (decimal) |
---|
| 52 | -backlight [on/off] |
---|
| 53 | Turns backlight [on/off/auto], or toggles it. |
---|
| 54 | If [off], stays off. |
---|
| 55 | If [on], stays on. |
---|
| 56 | If [auto], LCDproc controls backlight based on load, etc... |
---|
| 57 | -exit |
---|
| 58 | -quit |
---|
| 59 | Duh... :) |
---|
| 60 | |
---|
| 61 | ******************************************************************/ |
---|
| 62 | |
---|
| 63 | /***************************************************************** |
---|
| 64 | LCDproc stuff supported in config file (loose approximation): |
---|
| 65 | |
---|
| 66 | Grammar is tcl-style. I.e., "command arg1 arg2 ...". |
---|
| 67 | Spaces are used as argument separators, *until* it thinks it has the final |
---|
| 68 | argument. So, "function thing shell myprogram arg1 arg2 arg3" would be |
---|
| 69 | split into "function", "thing", "shell", and "myprogram arg1 arg2 arg3". |
---|
| 70 | |
---|
| 71 | User-definable functions (use built-in's to create new ones?): |
---|
| 72 | Function mp3NextSong Shell /usr/local/bin/mp3player -next |
---|
| 73 | Function MySequence Sequence cpu mem xload |
---|
| 74 | Function OtherSequence Sequence time cd xload |
---|
| 75 | |
---|
| 76 | Keypad keys can be bound to any _function_: |
---|
| 77 | Key A mp3NextSong |
---|
| 78 | Key B HaltSystem |
---|
| 79 | Key C Menu |
---|
| 80 | Key D Next/+ |
---|
| 81 | Key E OtherSequence |
---|
| 82 | |
---|
| 83 | |
---|
| 84 | ******************************************************************/ |
---|
| 85 | |
---|
| 86 | |
---|
| 87 | #endif |
---|