Struct libvnc_sys::rfb::_rfbClient
source · #[repr(C)]pub struct _rfbClient {Show 94 fields
pub frameBuffer: *mut u8,
pub width: c_int,
pub height: c_int,
pub endianTest: c_int,
pub appData: AppData,
pub programName: *const c_char,
pub serverHost: *mut c_char,
pub serverPort: c_int,
pub listenSpecified: rfbBool,
pub listenPort: c_int,
pub flashPort: c_int,
pub updateRect: _rfbClient__bindgen_ty_1,
pub buffer: [c_char; 307200],
pub sock: c_int,
pub canUseCoRRE: rfbBool,
pub canUseHextile: rfbBool,
pub desktopName: *mut c_char,
pub format: rfbPixelFormat,
pub si: rfbServerInitMsg,
pub buf: [c_char; 8192],
pub bufoutptr: *mut c_char,
pub buffered: c_uint,
pub ultra_buffer_size: c_int,
pub ultra_buffer: *mut c_char,
pub raw_buffer_size: c_int,
pub raw_buffer: *mut c_char,
pub decompStream: z_stream,
pub decompStreamInited: rfbBool,
pub zlib_buffer: [c_char; 30000],
pub zlibStream: [z_stream; 4],
pub zlibStreamActive: [rfbBool; 4],
pub cutZeros: rfbBool,
pub rectWidth: c_int,
pub rectColors: c_int,
pub tightPalette: [c_char; 1024],
pub tightPrevRow: [u8; 12288],
pub jpegError: rfbBool,
pub jpegSrcManager: *mut jpeg_source_mgr,
pub jpegBufferPtr: *mut c_void,
pub jpegBufferLen: usize,
pub rcSource: *mut u8,
pub rcMask: *mut u8,
pub clientData: *mut rfbClientData,
pub vncRec: *mut rfbVNCRec,
pub KeyboardLedStateEnabled: c_int,
pub CurrentKeyboardLedState: c_int,
pub canHandleNewFBSize: c_int,
pub HandleTextChat: HandleTextChatProc,
pub HandleKeyboardLedState: HandleKeyboardLedStateProc,
pub HandleCursorPos: HandleCursorPosProc,
pub SoftCursorLockArea: SoftCursorLockAreaProc,
pub SoftCursorUnlockScreen: SoftCursorUnlockScreenProc,
pub GotFrameBufferUpdate: GotFrameBufferUpdateProc,
pub GetPassword: GetPasswordProc,
pub MallocFrameBuffer: MallocFrameBufferProc,
pub GotXCutText: GotXCutTextProc,
pub Bell: BellProc,
pub GotCursorShape: GotCursorShapeProc,
pub GotCopyRect: GotCopyRectProc,
pub supportedMessages: rfbSupportedMessages,
pub major: c_int,
pub minor: c_int,
pub authScheme: u32,
pub subAuthScheme: u32,
pub tlsSession: *mut c_void,
pub GetCredential: GetCredentialProc,
pub clientAuthSchemes: *mut u32,
pub destHost: *mut c_char,
pub destPort: c_int,
pub QoS_DSCP: c_int,
pub HandleXvpMsg: HandleXvpMsgProc,
pub listenSock: c_int,
pub FinishedFrameBufferUpdate: FinishedFrameBufferUpdateProc,
pub listenAddress: *mut c_char,
pub listen6Sock: c_int,
pub listen6Address: *mut c_char,
pub listen6Port: c_int,
pub outputWindow: c_ulong,
pub LockWriteToTLS: LockWriteToTLSProc,
pub UnlockWriteToTLS: UnlockWriteToTLSProc,
pub GotFillRect: GotFillRectProc,
pub GotBitmap: GotBitmapProc,
pub GotJpeg: GotJpegProc,
pub saslconn: *mut sasl_conn_t,
pub saslDecoded: *const c_char,
pub saslDecodedLength: c_uint,
pub saslDecodedOffset: c_uint,
pub saslSecret: *mut sasl_secret_t,
pub GetSASLMechanism: GetSASLMechanismProc,
pub GetUser: GetUserProc,
pub tjhnd: *mut c_void,
pub connectTimeout: c_uint,
pub readTimeout: c_uint,
pub tlsRwMutex: pthread_mutex_t,
}Fields§
§frameBuffer: *mut u8§width: c_int§height: c_int§endianTest: c_int§appData: AppData§programName: *const c_char§serverHost: *mut c_char§serverPort: c_int< if -1, then use file recorded by vncrec
listenSpecified: rfbBool§listenPort: c_int§flashPort: c_int§updateRect: _rfbClient__bindgen_ty_1§buffer: [c_char; 307200]§sock: c_int§canUseCoRRE: rfbBool§canUseHextile: rfbBool§desktopName: *mut c_char§format: rfbPixelFormat§si: rfbServerInitMsg§buf: [c_char; 8192]§bufoutptr: *mut c_char§buffered: c_uint§ultra_buffer_size: c_int§ultra_buffer: *mut c_char§raw_buffer_size: c_int§raw_buffer: *mut c_char§decompStream: z_stream§decompStreamInited: rfbBool§zlib_buffer: [c_char; 30000]§zlibStream: [z_stream; 4]§zlibStreamActive: [rfbBool; 4]§cutZeros: rfbBool§rectWidth: c_int§rectColors: c_int§tightPalette: [c_char; 1024]§tightPrevRow: [u8; 12288]§jpegError: rfbBoolJPEG decoder state (obsolete– do not use).
jpegSrcManager: *mut jpeg_source_mgr§jpegBufferPtr: *mut c_void§jpegBufferLen: usize§rcSource: *mut u8Holds cursor shape data when received from server.
rcMask: *mut u8Holds cursor shape data when received from server.
clientData: *mut rfbClientDataprivate data pointer
vncRec: *mut rfbVNCRec§KeyboardLedStateEnabled: c_int§CurrentKeyboardLedState: c_int§canHandleNewFBSize: c_int§HandleTextChat: HandleTextChatProc§HandleKeyboardLedState: HandleKeyboardLedStateProc§HandleCursorPos: HandleCursorPosProc§SoftCursorLockArea: SoftCursorLockAreaProc§SoftCursorUnlockScreen: SoftCursorUnlockScreenProc§GotFrameBufferUpdate: GotFrameBufferUpdateProc§GetPassword: GetPasswordProcthe pointer returned by GetPassword will be freed after use!
MallocFrameBuffer: MallocFrameBufferProc§GotXCutText: GotXCutTextProc§Bell: BellProc§GotCursorShape: GotCursorShapeProc§GotCopyRect: GotCopyRectProc§supportedMessages: rfbSupportedMessagesWhich messages are supported by the server This is a guess for most servers. (If we can even detect the type of server)
If the server supports the “rfbEncodingSupportedMessages” then this will be updated when the encoding is received to accurately reflect the servers capabilities.
major: c_intnegotiated protocol version
minor: c_intnegotiated protocol version
authScheme: u32The selected security types
subAuthScheme: u32The selected security types
tlsSession: *mut c_voidThe TLS session for Anonymous TLS and VeNCrypt
GetCredential: GetCredentialProcTo support security types that requires user input (except VNC password authentication), for example VeNCrypt and MSLogon, this callback function must be set before the authentication. Otherwise, it implicates that the caller application does not support it and related security types should be bypassed.
clientAuthSchemes: *mut u32The 0-terminated security types supported by the client. Set by function SetClientAuthSchemes()
destHost: *mut c_charWhen the server is a repeater, this specifies the final destination
destPort: c_int§QoS_DSCP: c_intthe QoS IP DSCP for this client
HandleXvpMsg: HandleXvpMsgProchook to handle xvp server messages
listenSock: c_int§FinishedFrameBufferUpdate: FinishedFrameBufferUpdateProc§listenAddress: *mut c_char§listen6Sock: c_int§listen6Address: *mut c_char§listen6Port: c_int§outputWindow: c_ulong§LockWriteToTLS: LockWriteToTLSProcThese lock/unlock hooks are not used anymore. LibVNCClient will now use platform-specific synchronization library to protect concurrent TLS R/W.
@deprecated
UnlockWriteToTLS: UnlockWriteToTLSProc§GotFillRect: GotFillRectProcHooks for custom rendering
VNC rendering boils down to 3 activities:
- GotCopyRect: copy an area of the framebuffer
- GotFillRect: fill an area of the framebuffer with a solid color
- GotBitmap: copy the bitmap in the buffer into the framebuffer The client application should either set all three of these or none!
GotBitmap: GotBitmapProc§GotJpeg: GotJpegProcHook for custom JPEG decoding and rendering
saslconn: *mut sasl_conn_t§saslDecoded: *const c_char§saslDecodedLength: c_uint§saslDecodedOffset: c_uint§saslSecret: *mut sasl_secret_t§GetSASLMechanism: GetSASLMechanismProc§GetUser: GetUserProc§tjhnd: *mut c_voidJPEG decoder state.
connectTimeout: c_uint§readTimeout: c_uint§tlsRwMutex: pthread_mutex_tTrait Implementations§
source§impl Clone for _rfbClient
impl Clone for _rfbClient
source§fn clone(&self) -> _rfbClient
fn clone(&self) -> _rfbClient
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more