QRCodeV2::QRCodeV2() : QRCode() { Version = 2; Modules = 25; REMINDER_BIT_COUNT = 7; InitCapabilities(); InitECInfo(); InitAlignementPatterns(); }
QRCodeV36::QRCodeV36() : QRCode() { Version = 36; Modules = 161; REMINDER_BIT_COUNT = 0; VersionInfoRequired = true; InitCapabilities(); InitECInfo(); InitAlignementPatterns(); }
QRCodeV22::QRCodeV22() : QRCode() { Version = 22; Modules = 105; REMINDER_BIT_COUNT = 4; VersionInfoRequired = true; InitCapabilities(); InitECInfo(); InitAlignementPatterns(); }
void InitSuppServices( void ) { if( InitCoreSupp() ) { InitFileSupp(); InitFileInfoSupp(); InitEnvSupp(); InitThreadSupp(); InitRunThreadSupp(); InitOvlSupp(); InitAsyncSupp(); InitCapabilities(); } }
Bool InitialiseRFBConnection(void) { rfbProtocolVersionMsg pv; int server_major, server_minor; int viewer_major, viewer_minor; rfbClientInitMsg ci; int secType; /* if the connection is immediately closed, don't report anything, so that pmw's monitor can make test connections */ if (listenSpecified) errorMessageOnReadFailure = False; if (!ReadFromRFBServer(pv, sz_rfbProtocolVersionMsg)) return False; errorMessageOnReadFailure = True; pv[sz_rfbProtocolVersionMsg] = 0; if (sscanf(pv, rfbProtocolVersionFormat, &server_major, &server_minor) != 2) { fprintf(stderr,"Not a valid VNC server\n"); return False; } viewer_major = rfbProtocolMajorVersion; if (server_major == 3 && server_minor >= rfbProtocolMinorVersion) { /* the server supports at least the standard protocol 3.7 */ viewer_minor = rfbProtocolMinorVersion; } else { /* any other server version, request the standard 3.3 */ viewer_minor = rfbProtocolFallbackMinorVersion; } fprintf(stderr, "Connected to RFB server, using protocol version %d.%d\n", viewer_major, viewer_minor); sprintf(pv, rfbProtocolVersionFormat, viewer_major, viewer_minor); if (!WriteExact(rfbsock, pv, sz_rfbProtocolVersionMsg)) return False; /* Read or select the security type. */ if (viewer_minor == rfbProtocolMinorVersion) { secType = SelectSecurityType(); } else { secType = ReadSecurityType(); } if (secType == rfbSecTypeInvalid) return False; switch (secType) { case rfbSecTypeNone: fprintf(stderr, "No authentication needed\n"); break; case rfbSecTypeVncAuth: if (!AuthenticateVNC()) return False; break; case rfbSecTypeTight: tightVncProtocol = True; InitCapabilities(); if (!SetupTunneling()) return False; if (!PerformAuthenticationTight()) return False; break; default: /* should never happen */ fprintf(stderr, "Internal error: Invalid security type\n"); return False; } ci.shared = (appData.shareDesktop ? 1 : 0); if (!WriteExact(rfbsock, (char *)&ci, sz_rfbClientInitMsg)) return False; if (!ReadFromRFBServer((char *)&si, sz_rfbServerInitMsg)) return False; si.framebufferWidth = Swap16IfLE(si.framebufferWidth); si.framebufferHeight = Swap16IfLE(si.framebufferHeight); si.format.redMax = Swap16IfLE(si.format.redMax); si.format.greenMax = Swap16IfLE(si.format.greenMax); si.format.blueMax = Swap16IfLE(si.format.blueMax); si.nameLength = Swap32IfLE(si.nameLength); /* FIXME: Check arguments to malloc() calls. */ desktopName = malloc(si.nameLength + 1); if (!desktopName) { fprintf(stderr, "Error allocating memory for desktop name, %lu bytes\n", (unsigned long)si.nameLength); return False; } if (!ReadFromRFBServer(desktopName, si.nameLength)) return False; desktopName[si.nameLength] = 0; fprintf(stderr,"Desktop name \"%s\"\n",desktopName); fprintf(stderr,"VNC server default format:\n"); PrintPixelFormat(&si.format); if (tightVncProtocol) { /* Read interaction capabilities (protocol 3.7t) */ if (!ReadInteractionCaps()) return False; } return True; }