Go to the documentation of this file.
42 #ifndef __BASE_VNC_VNC_SERVER_HH__
43 #define __BASE_VNC_VNC_SERVER_HH__
51 #include "params/VncServer.hh"
71 const static uint32_t
VncOK = 0;
98 return "RFB 003.008\n";
217 bool read(uint8_t *buf,
size_t len);
227 bool read1(uint8_t *buf,
size_t len);
234 template <
typename T>
bool read(T*
val);
242 bool write(
const uint8_t *buf,
size_t len);
248 template <
typename T>
bool write(T*
val);
253 bool write(
const char* str);
void setEncodings()
Receive encodings message from client and process it.
@ ServerSetColorMapEntries
@ ServerFrameBufferUpdate
void sendError(const char *error_msg)
vnc client Interface
bool write(const uint8_t *buf, size_t len)
Write a buffer to the client.
bool supportsResizeEnc
If the vnc client supports the desktop resize command.
const static uint32_t AuthNone
Configurable RGB pixel converter.
bool read1(uint8_t *buf, size_t len)
Read len -1 bytes from the client into the buffer provided + 1 assert that we read enough bytes.
void setDirty() override
The frame buffer uses this call to notify the vnc server that the frame buffer has been updated and a...
const static uint32_t VncOK
Error conditions.
DataEvent(VncServer *vs, int fd, int e)
Poll event for the data socket.
void requestFbUpdate()
Receive message from client asking for updated frame buffer.
void sendFrameBufferResized()
Tell the client that the frame buffer resized.
static const PixelConverter pixelConverter
VncServer(const Params *p)
VncServer.
ConnectionState curState
The rfb prototol state the connection is in.
void sendServerInit()
Send client our idea about what the frame buffer looks like.
bool sendUpdate
An update needs to be sent to the client.
@ WaitForSecurityResponse
struct VncServer::ServerInitMsg M5_ATTR_PACKED
void checkSecurity()
Check that the security exchange was successful.
ServerMessages
Server -> Client message IDs.
void recvKeyboardInput()
Receive message from client providing new keyboard input.
DataEvent to read data from vnc.
void sendFrameBufferUpdate()
Send a updated frame buffer to the client.
MouseEvents
keyboard/mouse support
void checkProtocolVersion()
Check the client's protocol verion for compatibility and send the security types we support.
void recvPointerInput()
Recv message from client providing new mouse movement or button click.
EncodingTypes
Encoding types.
const static uint32_t AuthInvalid
Authentication modes.
bool supportsRawEnc
If the vnc client supports receiving raw data.
void setPixelFormat()
Receive pixel foramt message from client and process it.
void recvCutText()
Receive message from client that there is text in it's paste buffer.
ListenEvent to accept a vnc client connection.
const char * vncVersion() const
void frameBufferResized() override
ListenEvent * listenEvent
ListenEvent(VncServer *vs, int fd, int e)
Poll event for the listen socket.
PixelFormat pixelFormat
The one and only pixel format we support.
bool read(uint8_t *buf, size_t len)
Read some data from the client.
Generated on Wed Sep 30 2020 14:02:08 for gem5 by doxygen 1.8.17