source: npl/mediabox/lcdproc_edwin/src/old/sockets.h @ c5c522c

gcc484ntopperl-5.22
Last change on this file since c5c522c was c5c522c, checked in by Edwin Eefting <edwin@datux.nl>, 8 years ago

initial commit, transferred from cleaned syn3 svn tree

  • Property mode set to 100644
File size: 3.2 KB
Line 
1#define LCDPORT 13666
2
3/**********************************************************************
4  LCDproc socket interface grammar:
5
6  RawText     Print whatever you send, at whatever the current position is.
7
8        or...
9
10  0xFE        Command prefix, followed by...
11
12  0x00        EOT.  End of transmission, where applicicable.
13  0x01        Ping.  Will respond with a "pong".
14  'k',x       Send "keypad" input, character x (A-Z)
15
16  ?,x,...,EOT Send new mode sequence (x,...)...
17  ?,x         Switch to new mode x immediately
18  ?,xxxx      Pause in current mode for x frames/seconds (0=infinite)
19  ?           Play -- continue mode cycle.
20  ?,x,y,...,EOT
21              Send raw text to be displayed.  x is style (raw, wrapped),
22              and y is num frames between lines displayed.
23
24  ?,...       Send MtxOrb-like control commands (bargraphs, etc)
25 
26  ... more to come later ...
27**********************************************************************/
28
29/*****************************************************************
30  LCDproc command line interface:  (while running)
31
32  -command
33      Tells LCDproc to interpret stdin as raw commands to send through
34      the socket.  Input must be formatted as above, in socket interface.
35  -function f
36      Runs LCDproc external function f, where f is one of the predefined
37      functions which can be assigned to keypad keys.  (like NEXTMODE, etc)
38  -key x
39      Simulates keypad press of key 'x', where 'x' is (A-Z).
40  -print [time]
41      Prints stdin on LCD one line at a time, with no line-wrapping (raw),
42      with [time] frames between updates (lines).
43  -wrap [time]
44      Prints stdin as with "-print", but with line wrapping when possible.
45  -contrast xxx
46      Sets contrast to xxx (decimal)
47  -backlight [on/off]
48      Turns backlight [on/off/auto], or toggles it.
49      If [off], stays off.
50      If [on], stays on.
51      If [auto], LCDproc controls backlight based on load, etc...
52  -exit
53  -quit
54      Duh...  :)
55
56******************************************************************/
57
58/*****************************************************************
59  LCDproc stuff supported in config file (loose approximation):
60
61  Grammar is tcl-style.  I.e., "command arg1 arg2 ...".
62  Spaces are used as argument separators, *until* it thinks it has the final
63  argument.  So, "function thing shell myprogram arg1 arg2 arg3" would be
64  split into "function", "thing", "shell", and "myprogram arg1 arg2 arg3".
65
66  User-definable functions (use built-in's to create new ones?):
67    Function mp3NextSong Shell /usr/local/bin/mp3player -next
68    Function MySequence Sequence cpu mem xload
69    Function OtherSequence Sequence time cd xload
70
71  Keypad keys can be bound to any _function_:
72    Key A mp3NextSong
73    Key B HaltSystem
74    Key C Menu
75    Key D Next/+
76    Key E OtherSequence
77
78
79******************************************************************/
80
81typedef struct sockaddr_in sockaddr_in;
82
83int init_sockaddr (sockaddr_in *name,
84                   const char *hostname,
85                   unsigned short int port);
86
87// Creates a socket in internet space
88int CreateInetSocket(unsigned short int port);
89
90// Checks the LCDproc port for a response...
91int PingLCDport();
92
93int StartSocketServer();
94
95int PollSockets();
96
97int read_from_client (int filedes);
98
99int CloseAllConnections();
Note: See TracBrowser for help on using the repository browser.