AppGoalTension::AppGoalTension(int argc, char** argv) { bSetup = false; use_graphics = false; add_controller = true; add_blocks = false; add_hills = false; all_terrain = false; timestep_physics = 1.0f/1000.0f; timestep_graphics = 1.0f/60.0f; nEpisodes = 1; nSteps = 60000; nSegments = 6; nTypes = 3; startX = 0; startY = 20; startZ = 0; startAngle = 0; goalAngle = 0; suffix = "default"; handleOptions(argc, argv); tgUtil::seedRandom(); }
AppQuadControl::AppQuadControl(int argc, char** argv) { bSetup = false; use_graphics = false; add_controller = true; add_blocks = false; add_hills = false; all_terrain = false; timestep_physics = 1.0f/1000.0f; timestep_graphics = 1.0f/60.0f; nEpisodes = 1; nSteps = 60000; nSegments = 7; nTypes = 3; startX = 0; startY = 40; //May need adjustment startZ = 0; startAngle = 0; suffix = "default"; lowerPath = "default"; handleOptions(argc, argv); }
int main(int argc, char **argv) { char paramStr[255]; int shmid; struct shmid_ds fwshm; handleOptions(argc, argv); if(command != NOCMD) { if(command == DESTROY) { if((shmid = shmget(SHM_ID, sizeof(struct firewall), 0600)) < 0) { printf("Unable to get shared memory segment\n"); return(-1); } if ((shmctl(shmid, IPC_STAT, &fwshm) == 0)&&(fwshm.shm_nattch == 0)) { printf("Freeing %d bytes for firewall rules\n", sizeof(struct firewall)); return shmctl(shmid, IPC_RMID, 0); } else { if (fwshm.shm_nattch > 0) printf("There are still %d tunnels attached\n", (int) fwshm.shm_nattch); else printf("Unable to get info aboutshared memory segment\n"); return(-1); } } if(pid <= 0) { printf("No tunnel PID specified\n"); exit(5); } if(bindToCtrlSpace(pid) != 0) exit(-1); bzero(paramStr, 255); if((command == SETVERBOSE) || (command == DELETECONNTRACK)) { sprintf(paramStr, "%d", param); sendCommand(paramStr); } else sendCommand(NULL); // Freeing memory for the control interface if(freeCtrlSpace() != 0) printf("Unable to detach shared memory\n"); } else { printf("usctrl v%s: no command specified\n", CURRENTVERSION); printf("Try `usctrl -h' or 'usctrl --help' for more information.\n"); exit(2); } return 0; }
QuickInfo Stage::preview() { m_args.reset(new ProgramArgs); handleOptions(); pushLogLeader(); QuickInfo qi = inspect(); popLogLeader(); return qi; }
/** * @brief This function is main which collects arguments passed in and then * proceeds to open a subscriber application. Each subscriber is a templated * class with in the SubscriberMap factory constructing one CSV for each * message topic. The csv files are names by message type name and a common * timestamp at subscriber spin up. */ int main( int argc, char *argv[] ) { //Load in the Subscriber Factory that builds message types from args SubscriberMap callType; Parameters setParameters; //Set the arguments passed in from command line and error out if empty //or missing atleast one message type if( handleOptions( {argc, argv}, &setParameters ) != 0 ) { return 1; } if( setParameters.messageType.empty() ) { printMissingMessageType(); return 0; } //Subscribe to each message type requested by the user std::vector< std::string >::iterator messageTypeIterator; std::vector< polysync::DataSubscriber* > subscriberType; for( messageTypeIterator = setParameters.messageType.begin(); messageTypeIterator != setParameters.messageType.end(); messageTypeIterator++ ) { subscriberType.push_back(callType.newType( *messageTypeIterator ) ); } //Now that all subscribers are up connect with the polysync bus polysync::Application::getInstance()->connectPolySync(); //Once connection has been left cleanup subscriber classes std::vector< polysync::DataSubscriber* >::iterator subscriberIterator; for( subscriberIterator = subscriberType.begin(); subscriberIterator != subscriberType.end(); subscriberIterator++ ) { delete *subscriberIterator; } return 0; }
void Stage::prepare(PointTableRef table) { m_args.reset(new ProgramArgs); for (size_t i = 0; i < m_inputs.size(); ++i) { Stage *prev = m_inputs[i]; prev->prepare(table); } handleOptions(); pushLogLeader(); l_initialize(table); initialize(table); addDimensions(table.layout()); prepared(table); popLogLeader(); }
int main(int argc, char *argv[]) { int largc; char **largv; osInit(); subsumeImplicitArgs(argc, argv, &largc, &largv); initState(argv[0]); uclSysName = getCfgName(largc, largv); uclOptFile = getCfgFile(largc, largv); if (!uclOptFile) exit(2); loadConfiguration(); handleOptions(largc, largv); if (!setupState()) exit(2); if (dbgLevel > 2) { int i; printf("Command:"); for (i=0; i<largc; i++) { printf(" %s", largv[i]); } printf("\n"); } generateCommands(); if (!executeCommands()) exit(1); exit(0); /* gack */ return 0; }
int handleCommands(FILE *fd) { BYTE buf[BUFLEN + 1]; int rv = 0, i; char *token; OptionStr optionStr; while (fgets (buf, BUFLEN, fd) != NULL) { token = strtokCheckComment(buf); while (token != NULL) { if (token[0] == '#' || strncmp (token, "//", 2) == 0) break; if (strcmp(token, "establish_context") == 0) { // Establish context rv = establish_context(&cardContext); if (rv != OPSP_ERROR_SUCCESS) { printf ("establish_context failed with error %d\n", rv); exit (1); } break; } else if (strcmp(token, "release_context") == 0) { // Release context rv = release_context(cardContext); if (rv != OPSP_ERROR_SUCCESS) { printf ("release_context failed with error %d\n", rv); exit (1); } break; } else if (strcmp(token, "card_connect") == 0) { TCHAR buf[BUFLEN + 1]; DWORD readerStrLen = BUFLEN; // open reader handleOptions(&optionStr); #ifdef DEBUG printf ("optionStr.reader %d\n", optionStr.reader); #endif if (optionStr.reader == NULL) { // get the first reader rv = list_readers (cardContext, buf, &readerStrLen); optionStr.reader = buf; #ifdef DEBUG _tprintf ( _T("reader name %s\n"), optionStr.reader); #endif } rv = card_connect (cardContext, optionStr.reader, &cardHandle, optionStr.protocol); if (rv != 0) { _tprintf (_T("card_connect() returns %d (%s)\n"), rv, stringify_error(rv)); } rv = get_card_status (cardHandle, &cardInfo); if (rv != 0) { _tprintf (_T("get_card_status() returns %d (%s)\n"), rv, stringify_error(rv)); exit (1); } break; } if (strcmp(token, "open_sc") == 0) { // open secure channel handleOptions(&optionStr); /*for (i=0; i<TDES_KEY_LEN; i++) { printf ("%02x ", optionStr.key[i]); }*/ rv = mutual_authentication(cardHandle, optionStr.enc_key, optionStr.mac_key, optionStr.keySetVersion, optionStr.keyIndex, cardInfo, optionStr.securityLevel, &securityInfo); if (rv != 0) { _tprintf (_T("mutual_authentication() returns %d (%s)\n"), rv, stringify_error(rv)); exit (1); } break; } else if (strcmp(token, "select") == 0) { // select instance handleOptions(&optionStr); rv = select_application (cardHandle, cardInfo, optionStr.AID, optionStr.AIDLen); if (rv != 0) { _tprintf (_T("select_application() returns %d (%s)\n"), rv, stringify_error(rv)); exit (1); } break; } else if (strcmp(token, "getdata") == 0) { // Get Data handleOptions(&optionStr); // TODO: get data break; } else if (strcmp(token, "load") == 0) { // Load Applet DWORD receiptDataLen = 0; handleOptions(&optionStr); rv = load_applet(cardHandle, &securityInfo, cardInfo, NULL, 0, optionStr.file, NULL, &receiptDataLen); if (rv != 0) { _tprintf (_T("load_applet() returns %d (%s)\n"), rv, stringify_error(rv)); exit (1); } break; } else if (strcmp(token, "delete") == 0) { // Delete Applet OPSP_AID AIDs[1]; OPSP_RECEIPT_DATA receipt[10]; DWORD receiptLen = 10; handleOptions(&optionStr); memcpy (AIDs[0].AID, optionStr.AID, optionStr.AIDLen); AIDs[0].AIDLength = optionStr.AIDLen; rv = delete_applet(cardHandle, &securityInfo, cardInfo, AIDs, 1, (OPSP_RECEIPT_DATA **)&receipt, &receiptLen); if (rv != 0) { _tprintf (_T("delete_applet() returns %d (%s)\n"), rv, stringify_error(rv)); } break; } else if (strcmp(token, "install_for_load") == 0) { // Install for Load handleOptions(&optionStr); rv = install_for_load(cardHandle, &securityInfo, cardInfo, optionStr.AID, optionStr.AIDLen, optionStr.sdAID, optionStr.sdAIDLen, NULL, NULL, optionStr.nvCodeLimit, optionStr.nvDataLimit, optionStr.vDataLimit); if (rv != 0) { _tprintf (_T("install_for_load() returns %d (%s)\n"), rv, stringify_error(rv)); exit (1); } break; } else if (strcmp(token, "install_for_install") == 0) { OPSP_RECEIPT_DATA receipt; DWORD receiptDataAvailable = 0; char installParam[1]; installParam[0] = 0; // Install for Install handleOptions(&optionStr); rv = install_for_install_and_make_selectable( cardHandle, &securityInfo, cardInfo, optionStr.pkgAID, optionStr.pkgAIDLen, optionStr.AID, optionStr.AIDLen, optionStr.instAID, optionStr.instAIDLen, OPSP_APPLICATION_PRIVILEGE_PIN_CHANGE_PRIVILEGE, // optionStr.vDataLimit, optionStr.nvDataLimit, optionStr.instParam, optionStr.instParamLen, NULL, // No install token &receipt, &receiptDataAvailable); if (rv != 0) { _tprintf (_T("install_for_install_and_make_selectable() returns %d (%s)\n"), rv, stringify_error(rv)); exit (1); } break; } else if (strcmp(token, "card_disconnect") == 0) { // disconnect card card_disconnect(cardHandle); break; } else if (strcmp(token, "put_sc_key") == 0) { handleOptions(&optionStr); rv = put_secure_channel_keys(cardHandle, &securityInfo, cardInfo, optionStr.keySetVersion, optionStr.newKeySetVersion, optionStr.enc_key, optionStr.mac_key, optionStr.kek_key, optionStr.current_kek); if (rv != 0) { _tprintf (_T("put_secure_channel_keys() returns %d (%s)\n"), rv, stringify_error(rv)); exit (1); } break; } else if (strcmp(token, "get_status") == 0) { #define NUM_APPLICATIONS 64 OPSP_APPLICATION_DATA data[NUM_APPLICATIONS]; DWORD numData = NUM_APPLICATIONS; handleOptions(&optionStr); rv = get_status(cardHandle, &securityInfo, cardInfo, optionStr.element, data, &numData); if (rv != 0) { _tprintf (_T("get_status() returns %d (%s)\n"), rv, stringify_error(rv)); exit (1); } #ifdef DEBUG printf ("get_status() returned %d items\n", numData); #endif printf ("\nList of applets (AID state privileges)\n"); for (i=0; i<numData; i++) { int j; for (j=0; j<data[i].AIDLength; j++) { printf ("%02x", data[i].AID[j]); } printf ("\t%x", data[i].lifeCycleState); printf ("\t%x\n", data[i].privileges); } break; } else if (strcmp(token, "send_apdu") == 0) { unsigned char recvAPDU[257]; int recvAPDULen = 257, i; // Install for Load handleOptions(&optionStr); printf ("Send APDU: "); for (i=0; i<optionStr.APDULen; i++) printf ("%02x ", optionStr.APDU[i]); printf ("\n"); rv = send_APDU(cardHandle, optionStr.APDU, optionStr.APDULen, recvAPDU, &recvAPDULen, cardInfo, (optionStr.secureChannel == 0 ? NULL : &securityInfo)); if (rv != 0) { _tprintf (_T("send_APDU() returns %d (%s)\n"), rv, stringify_error(rv)); exit (1); } printf ("Recv APDU: "); for (i=0; i<recvAPDULen; i++) printf ("%02x ", recvAPDU[i]); printf ("\n"); break; } else { printf ("Unknown command %s\n", token); exit (1); } token = strtokCheckComment(NULL); } } return rv; }
int asc_support_main(ATerm *bottomOfStack, int argc, char *argv[], void (*register_all)(), void (*resolve_all)(), void (*init_all)(), unsigned const char* tableBaf, size_t tableSize, ATbool parseInput, ATBhandler handler) { PT_ParseTree pt = NULL; PT_Tree asfix; PT_Tree trm; PT_ParseTree rpt = NULL; ATerm reduct; const char *outputFilename; int numberOfInputs; ATinit(argc, argv, bottomOfStack); initApis(); register_all(); resolve_all(); init_all(); initParsetable(tableBaf, tableSize); SGLR_initialize(); OPT_initialize(); ASC_initializeDefaultOptions(); /* Check whether we're a ToolBus process */ if (toolbusMode(argc, argv)) { ATBinit(argc, argv, bottomOfStack); ATBconnect(NULL, NULL, -1, asf_toolbus_handler); ATBeventloop(); } else { handleOptions(argc, argv, parseInput); numberOfInputs = ASC_getNumberOfParseTrees(); outputFilename = ASC_getOutputFilename(); if (!streq(ASC_getPrefixFunction(),"")) { pt = applyFunction((const char*) ASC_getPrefixFunction(), (const char*) ASC_getResultNonTermName(), numberOfInputs, inputs); } else { if (numberOfInputs == 0) { pt = parsetreeFromFile("-", parseInput); } else if (numberOfInputs == 1) { pt = inputs[0]; } else if (numberOfInputs != 1) { ATerror("Can only process one argument if no -f and -r option " "are supplied.\n" "Did a -s argument eat up your -f or -r option?\n"); return 1; } } if (PT_isValidParseTree(pt)) { trm = PT_getParseTreeTop(pt); if (ASC_getVerboseFlag()) { ATfprintf(stderr,"Reducing ...\n"); } reduct = innermost(trm); if (ASC_getVerboseFlag()) { ATfprintf(stderr,"Reducing finished.\n"); } if (ASC_getStatsFlag()) { printStats(); } if (ASC_getOutputFlag()) { asfix = toasfix(reduct); rpt = PT_makeParseTreeTop(asfix, 0); if (parseInput) { FILE *fp = NULL; if (!strcmp(outputFilename, "-")) { fp = stdout; } else { fp = fopen(outputFilename, "wb"); } if (fp != NULL) { PT_yieldParseTreeToFile(rpt, fp, ATfalse); } else { ATerror("asc-main: unable to open %s for writing\n", outputFilename); } } else { if (ASC_getBafmodeFlag()) { ATwriteToNamedBinaryFile(PT_ParseTreeToTerm(rpt),outputFilename); } else { ATwriteToNamedTextFile(PT_ParseTreeToTerm(rpt),outputFilename); } } } } } return 0; }
bool OperaNotesImporter::import() { QTextStream stream(m_file); stream.setCodec("UTF-8"); QString line = stream.readLine(); if (line != QLatin1String("Opera Hotlist version 2.0")) { return false; } BookmarksItem *note = NULL; OperaNoteEntry type = NoEntry; bool isHeader = true; handleOptions(); while (!stream.atEnd()) { line = stream.readLine(); if (isHeader && (line.isEmpty() || line.at(0) != QLatin1Char('#'))) { continue; } isHeader = false; if (line.startsWith(QLatin1String("#NOTE"))) { note = NotesManager::addNote(BookmarksModel::UrlBookmark, QUrl(), QString(), getCurrentFolder()); type = NoteEntry; } else if (line.startsWith(QLatin1String("#FOLDER"))) { note = NotesManager::addNote(BookmarksModel::FolderBookmark, QUrl(), QString(), getCurrentFolder()); type = FolderStartEntry; } else if (line.startsWith(QLatin1String("#SEPERATOR"))) { note = NotesManager::addNote(BookmarksModel::SeparatorBookmark, QUrl(), QString(), getCurrentFolder()); type = SeparatorEntry; } else if (line == QLatin1String("-")) { type = FolderEndEntry; } else if (line.startsWith(QLatin1String("\tURL=")) && note) { const QUrl url(line.section(QLatin1Char('='), 1, -1)); note->setData(url, BookmarksModel::UrlRole); } else if (line.startsWith(QLatin1String("\tNAME=")) && note) { note->setData(line.section(QLatin1Char('='), 1, -1).replace(QLatin1String("\x02\x02"), QLatin1String("\n")), BookmarksModel::DescriptionRole); } else if (line.startsWith(QLatin1String("\tCREATED=")) && note) { note->setData(QDateTime::fromTime_t(line.section(QLatin1Char('='), 1, -1).toUInt()), BookmarksModel::TimeAddedRole); } else if (line.isEmpty()) { if (note) { if (type == FolderStartEntry) { setCurrentFolder(note); } note = NULL; } else if (type == FolderEndEntry) { goToParent(); } type = NoEntry; } } return true; }
void HPJReader::parseFile() { HCStartFile( _scanner.name() ); int length = _scanner.getLine(); // Get the first line. char section[15]; int i; while( length != 0 ){ // The first line had better be the beginning of a section. if( _scanner[0] != '[' ){ HCWarning( HPJ_NOTSECTION, _scanner.lineNum(), _scanner.name() ); length = skipSection(); continue; } // Read in the name of the section. for( i=1; i < length ; i++ ){ if( _scanner[i] == ']' ) break; section[i-1] = (char) toupper( _scanner[i] ); } // If the section name wasn't terminated properly, skip the section. if( i == length ){ HCWarning( HPJ_BADSECTION, _scanner.lineNum(), _scanner.name() ); length = skipSection(); continue; } section[i-1] = '\0'; // Pass control to the appropriate "section handler". if( strcmp( section, SBaggage ) == 0 ){ length = handleBaggage(); } else if( strcmp( section, SOptions ) == 0 ){ length = handleOptions(); } else if( strcmp( section, SConfig ) == 0 ){ length = handleConfig(); } else if( strcmp( section, SFiles ) == 0 ){ length = handleFiles(); } else if( strcmp( section, SMap ) == 0 ){ length = handleMap(); } else if( strcmp( section, SBitmaps ) == 0 ){ length = handleBitmaps(); } else if( strcmp( section, SWindows ) == 0 ){ length = handleWindows(); } else { HCWarning( HPJ_BADSECTION, _scanner.lineNum(), _scanner.name() ); length = skipSection(); } } if( _rtfFiles == NULL ){ HCError( HPJ_NOFILES ); } // Now parse individual RTF files. StrNode *curfile = _rtfFiles; StrNode *curdir; InFile source; // First, implement phrase replacement if desired. if( _theFiles->_sysFile->isCompressed() ){ _topFile = _rtfFiles; _firstDir = _root; _startDir = _homeDir; _theFiles->_phrFile = new HFPhrases( _dir, &firstFile, &nextFile ); char full_path[_MAX_PATH]; char drive[_MAX_DRIVE]; char dir[_MAX_DIR]; char fname[_MAX_FNAME]; char ext[_MAX_EXT]; _fullpath( full_path, _scanner.name(), _MAX_PATH ); _splitpath( full_path, drive, dir, fname, ext ); _makepath( full_path, drive, dir, fname, PhExt ); if( !_oldPhrases || !_theFiles->_phrFile->oldTable(full_path) ){ _theFiles->_phrFile->readPhrases(); _theFiles->_phrFile->createQueue( full_path ); } } _theFiles->_topFile = new HFTopic( _dir, _theFiles->_phrFile ); // For each file, search the ROOT path, and create a RTFparser // to deal with it. curfile = _rtfFiles; while( curfile != NULL ){ curdir = _root; if( curdir == NULL ){ source.open( curfile->_name ); } else while( curdir != NULL ){ chdir( curdir->_name ); source.open( curfile->_name ); chdir( _homeDir ); if( !source.bad() ) break; curdir = curdir->_next; } if( source.bad() ){ HCWarning( FILE_ERR, curfile->_name ); } else { RTFparser rtfhandler( _theFiles, &source ); rtfhandler.Go(); source.close(); } curfile = curfile->_next; } }
static int handleCommands(FILE *fd) { char buf[BUFLEN + 1], commandLine[BUFLEN + 1]; int rv = EXIT_SUCCESS, i; char *token; OptionStr optionStr; while (fgets (buf, BUFLEN, fd) != NULL) { // copy command line for printing it out later strncpy (commandLine, buf, BUFLEN); token = strtokCheckComment(buf); while (token != NULL) { if (token[0] == '#' || strncmp (token, "//", 2) == 0) break; // print command line printf ("%s", commandLine); if (strcmp(token, "establish_context") == 0) { // Establish context rv = establish_context(&cardContext); if (rv != OPGP_ERROR_SUCCESS) { printf ("establish_context failed with error 0x%08X\n", rv); rv = EXIT_FAILURE; goto end; } break; } else if (strcmp(token, "release_context") == 0) { // Release context rv = release_context(cardContext); if (rv != OPGP_ERROR_SUCCESS) { printf ("release_context failed with error 0x%08X\n", rv); rv = EXIT_FAILURE; goto end; } break; } else if (strcmp(token, "card_connect") == 0) { TCHAR buf[BUFLEN + 1]; DWORD readerStrLen = BUFLEN; // open reader rv = handleOptions(&optionStr); if (rv != EXIT_SUCCESS) { goto end; } if (_tcslen(optionStr.reader) == 0) { int j=0; int k=0; // get all readers rv = list_readers (cardContext, buf, &readerStrLen); for (j=0; j<(int)readerStrLen;) { /* Check for end of readers */ if (buf[j] == _T('\0')) break; _tcsncpy(optionStr.reader, buf+j, READERNAMELEN+1); if (k == optionStr.readerNumber) break; k++; j+=(int)_tcslen(buf+j)+1; } optionStr.reader[READERNAMELEN] = _T('\0'); #ifdef DEBUG _tprintf ( _T("* reader name %s\n"), optionStr.reader); #endif } rv = card_connect (cardContext, optionStr.reader, &cardInfo, optionStr.protocol); if (rv != 0) { _tprintf (_T("card_connect() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); } break; } if (strcmp(token, "open_sc") == 0) { // open secure channel rv = handleOptions(&optionStr); if (rv != EXIT_SUCCESS) { goto end; } if (platform_mode == PLATFORM_MODE_OP_201) { if (gemXpressoPro) { rv = GemXpressoPro_create_daughter_keys(cardInfo, optionStr.key, optionStr.enc_key, optionStr.mac_key, optionStr.kek_key); if (rv != 0) { _tprintf (_T("GemXpressoPro_create_daughter_keys() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); rv = EXIT_FAILURE; goto end; } } rv = OP201_mutual_authentication(cardInfo, optionStr.enc_key, optionStr.mac_key, optionStr.kek_key, optionStr.keySetVersion, optionStr.keyIndex, optionStr.securityLevel, &securityInfo201); } else if (platform_mode == PLATFORM_MODE_GP_211) { if (optionStr.scp == 0 || optionStr.scpImpl == 0) { rv = GP211_get_secure_channel_protocol_details(cardInfo, &optionStr.scp, &optionStr.scpImpl); if (rv != 0) { _tprintf (_T("GP211_get_secure_channel_protocol_details() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); rv = EXIT_FAILURE; goto end; } } rv = GP211_mutual_authentication(cardInfo, optionStr.key, optionStr.enc_key, optionStr.mac_key, optionStr.kek_key, optionStr.keySetVersion, optionStr.keyIndex, optionStr.scp, optionStr.scpImpl, optionStr.securityLevel, &securityInfo211); } if (rv != 0) { _tprintf (_T("mutual_authentication() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); rv = EXIT_FAILURE; goto end; } break; } else if (strcmp(token, "select") == 0) { // select instance rv = handleOptions(&optionStr); if (rv != EXIT_SUCCESS) { goto end; } rv = select_application (cardInfo, (PBYTE)optionStr.AID, optionStr.AIDLen); if (rv != 0) { _tprintf (_T("select_application() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); rv = EXIT_FAILURE; goto end; } break; } else if (strcmp(token, "getdata") == 0) { // Get Data rv = handleOptions(&optionStr); if (rv != EXIT_SUCCESS) { goto end; } // TODO: get data break; } else if (strcmp(token, "load") == 0) { // Load Applet DWORD receiptDataLen = 0; rv = handleOptions(&optionStr); if (rv != EXIT_SUCCESS) { goto end; } if (platform_mode == PLATFORM_MODE_OP_201) { rv = OP201_load(cardInfo, &securityInfo201, NULL, 0, optionStr.file, NULL, &receiptDataLen); } else if (platform_mode == PLATFORM_MODE_GP_211) { rv = GP211_load(cardInfo, &securityInfo211, NULL, 0, optionStr.file, NULL, &receiptDataLen); } if (rv != 0) { _tprintf (_T("load_applet() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); rv = EXIT_FAILURE; goto end; } break; } else if (strcmp(token, "delete") == 0) { // Delete Applet OPGP_AID AIDs[1]; DWORD receiptLen = 10; rv = handleOptions(&optionStr); if (rv != EXIT_SUCCESS) { goto end; } memcpy (AIDs[0].AID, optionStr.AID, optionStr.AIDLen); AIDs[0].AIDLength = optionStr.AIDLen; if (platform_mode == PLATFORM_MODE_OP_201) { OP201_RECEIPT_DATA receipt[10]; rv = OP201_delete_application(cardInfo, &securityInfo201, AIDs, 1, (OP201_RECEIPT_DATA *)receipt, &receiptLen); } else if (platform_mode == PLATFORM_MODE_GP_211) { GP211_RECEIPT_DATA receipt[10]; rv = GP211_delete_application(cardInfo, &securityInfo211, AIDs, 1, (GP211_RECEIPT_DATA *)receipt, &receiptLen); } if (rv != 0) { _tprintf (_T("delete_applet() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); } break; } else if (strcmp(token, "install") == 0) { // One step install OPGP_LOAD_FILE_PARAMETERS loadFileParams; DWORD receiptDataAvailable = 0; DWORD receiptDataLen = 0; char installParam[1]; installParam[0] = 0; rv = handleOptions(&optionStr); if (rv != EXIT_SUCCESS) { goto end; } rv = read_executable_load_file_parameters(optionStr.file, &loadFileParams); if (rv != EXIT_SUCCESS) { _tprintf (_T("read_executable_load_file_parameters() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); rv = EXIT_FAILURE; goto end; } if (optionStr.pkgAIDLen == 0) { optionStr.pkgAIDLen = loadFileParams.loadFileAID.AIDLength; memcpy(optionStr.pkgAID, loadFileParams.loadFileAID.AID, optionStr.pkgAIDLen); } if (optionStr.AIDLen == 0) { optionStr.AIDLen = loadFileParams.appletAIDs[0].AIDLength; memcpy(optionStr.AID, loadFileParams.appletAIDs[0].AID, optionStr.AIDLen); } if (optionStr.instAIDLen == 0) { optionStr.instAIDLen = loadFileParams.appletAIDs[0].AIDLength; memcpy(optionStr.instAID, loadFileParams.appletAIDs[0].AID, optionStr.instAIDLen); } if (optionStr.nvCodeLimit == 0) { optionStr.nvCodeLimit = loadFileParams.loadFileSize; } if (platform_mode == PLATFORM_MODE_OP_201) { if (optionStr.sdAIDLen == 0) { optionStr.sdAIDLen = sizeof(OP201_CARD_MANAGER_AID); memcpy(optionStr.sdAID, OP201_CARD_MANAGER_AID, optionStr.sdAIDLen); } rv = OP201_install_for_load(cardInfo, &securityInfo201, (PBYTE)optionStr.pkgAID, optionStr.pkgAIDLen, (PBYTE)optionStr.sdAID, optionStr.sdAIDLen, NULL, NULL, optionStr.nvCodeLimit, 0, 0); } else if (platform_mode == PLATFORM_MODE_GP_211) { if (optionStr.sdAIDLen == 0) { optionStr.sdAIDLen = sizeof(GP211_CARD_MANAGER_AID); memcpy(optionStr.sdAID, GP211_CARD_MANAGER_AID, optionStr.sdAIDLen); } rv = GP211_install_for_load(cardInfo, &securityInfo211, (PBYTE)optionStr.pkgAID, optionStr.pkgAIDLen, (PBYTE)optionStr.sdAID, optionStr.sdAIDLen, NULL, NULL, optionStr.nvCodeLimit, optionStr.nvDataLimit, optionStr.vDataLimit); } if (rv != 0) { _tprintf (_T("install_for_load() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); rv = EXIT_FAILURE; goto end; } if (platform_mode == PLATFORM_MODE_OP_201) { rv = OP201_load(cardInfo, &securityInfo201, NULL, 0, optionStr.file, NULL, &receiptDataLen); } else if (platform_mode == PLATFORM_MODE_GP_211) { rv = GP211_load(cardInfo, &securityInfo211, NULL, 0, optionStr.file, NULL, &receiptDataLen); } if (rv != 0) { _tprintf (_T("load_applet() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); rv = EXIT_FAILURE; goto end; } if (platform_mode == PLATFORM_MODE_OP_201) { OP201_RECEIPT_DATA receipt; rv = OP201_install_for_install_and_make_selectable( cardInfo, &securityInfo201, (PBYTE)optionStr.pkgAID, optionStr.pkgAIDLen, (PBYTE)optionStr.AID, optionStr.AIDLen, (PBYTE)optionStr.instAID, optionStr.instAIDLen, optionStr.privilege, optionStr.vDataLimit, optionStr.nvDataLimit, (PBYTE)optionStr.instParam, optionStr.instParamLen, NULL, // No install token &receipt, &receiptDataAvailable); } else if (platform_mode == PLATFORM_MODE_GP_211) { GP211_RECEIPT_DATA receipt; rv = GP211_install_for_install_and_make_selectable( cardInfo, &securityInfo211, (PBYTE)optionStr.pkgAID, optionStr.pkgAIDLen, (PBYTE)optionStr.AID, optionStr.AIDLen, (PBYTE)optionStr.instAID, optionStr.instAIDLen, optionStr.privilege, optionStr.vDataLimit, optionStr.nvDataLimit, (PBYTE)optionStr.instParam, optionStr.instParamLen, NULL, // No install token &receipt, &receiptDataAvailable); } if (rv != 0) { _tprintf (_T("install_for_install_and_make_selectable() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); rv = EXIT_FAILURE; goto end; } break; } else if (strcmp(token, "install_for_load") == 0) { // Install for Load rv = handleOptions(&optionStr); if (rv != EXIT_SUCCESS) { goto end; } if (platform_mode == PLATFORM_MODE_OP_201) { if (optionStr.sdAIDLen == 0) { optionStr.sdAIDLen = sizeof(OP201_CARD_MANAGER_AID); memcpy(optionStr.sdAID, OP201_CARD_MANAGER_AID, optionStr.sdAIDLen); } rv = OP201_install_for_load(cardInfo, &securityInfo201, (PBYTE)optionStr.pkgAID, optionStr.pkgAIDLen, (PBYTE)optionStr.sdAID, optionStr.sdAIDLen, NULL, NULL, optionStr.nvCodeLimit, optionStr.nvDataLimit, optionStr.vDataLimit); } else if (platform_mode == PLATFORM_MODE_GP_211) { if (optionStr.sdAIDLen == 0) { optionStr.sdAIDLen = sizeof(GP211_CARD_MANAGER_AID); memcpy(optionStr.sdAID, GP211_CARD_MANAGER_AID, optionStr.sdAIDLen); } rv = GP211_install_for_load(cardInfo, &securityInfo211, (PBYTE)optionStr.pkgAID, optionStr.pkgAIDLen, (PBYTE)optionStr.sdAID, optionStr.sdAIDLen, NULL, NULL, optionStr.nvCodeLimit, optionStr.nvDataLimit, optionStr.vDataLimit); } if (rv != 0) { _tprintf (_T("install_for_load() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); rv = EXIT_FAILURE; goto end; } break; } else if (strcmp(token, "install_for_install") == 0) { DWORD receiptDataAvailable = 0; char installParam[1]; installParam[0] = 0; // Install for Install rv = handleOptions(&optionStr); if (rv != EXIT_SUCCESS) { goto end; } if (platform_mode == PLATFORM_MODE_OP_201) { OP201_RECEIPT_DATA receipt; rv = OP201_install_for_install_and_make_selectable( cardInfo, &securityInfo201, (PBYTE)optionStr.pkgAID, optionStr.pkgAIDLen, (PBYTE)optionStr.AID, optionStr.AIDLen, (PBYTE)optionStr.instAID, optionStr.instAIDLen, optionStr.privilege, optionStr.vDataLimit, optionStr.nvDataLimit, (PBYTE)optionStr.instParam, optionStr.instParamLen, NULL, // No install token &receipt, &receiptDataAvailable); } else if (platform_mode == PLATFORM_MODE_GP_211) { GP211_RECEIPT_DATA receipt; rv = GP211_install_for_install_and_make_selectable( cardInfo, &securityInfo211, (PBYTE)optionStr.pkgAID, optionStr.pkgAIDLen, (PBYTE)optionStr.AID, optionStr.AIDLen, (PBYTE)optionStr.instAID, optionStr.instAIDLen, optionStr.privilege, optionStr.vDataLimit, optionStr.nvDataLimit, (PBYTE)optionStr.instParam, optionStr.instParamLen, NULL, // No install token &receipt, &receiptDataAvailable); } if (rv != 0) { _tprintf (_T("install_for_install_and_make_selectable() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); rv = EXIT_FAILURE; goto end; } break; } else if (strcmp(token, "card_disconnect") == 0) { // disconnect card card_disconnect(cardInfo); break; } else if (strcmp(token, "put_sc_key") == 0) { rv = handleOptions(&optionStr); if (rv != EXIT_SUCCESS) { goto end; } if (platform_mode == PLATFORM_MODE_OP_201) { rv = OP201_put_secure_channel_keys(cardInfo, &securityInfo201, optionStr.keySetVersion, optionStr.newKeySetVersion, optionStr.enc_key, optionStr.mac_key, optionStr.kek_key, optionStr.current_kek); } else if (platform_mode == PLATFORM_MODE_GP_211) { rv = GP211_put_secure_channel_keys(cardInfo, &securityInfo211, optionStr.keySetVersion, optionStr.newKeySetVersion, NULL, optionStr.enc_key, optionStr.mac_key, optionStr.kek_key); } if (rv != 0) { _tprintf (_T("put_secure_channel_keys() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); rv = EXIT_FAILURE; goto end; } break; } else if (strcmp(token, "get_status") == 0) { #define NUM_APPLICATIONS 64 DWORD numData = NUM_APPLICATIONS; rv = handleOptions(&optionStr); if (rv != EXIT_SUCCESS) { goto end; } if (platform_mode == PLATFORM_MODE_OP_201) { OP201_APPLICATION_DATA data[NUM_APPLICATIONS]; rv = OP201_get_status(cardInfo, &securityInfo201, optionStr.element, data, &numData); if (rv != 0) { _tprintf (_T("OP201_get_status() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); rv = EXIT_FAILURE; goto end; } #ifdef DEBUG printf ("OP201_get_status() returned %d items\n", numData); #endif printf ("\nList of applets (AID state privileges)\n"); for (i=0; i<(int)numData; i++) { int j; for (j=0; j<data[i].AIDLength; j++) { printf ("%02x", data[i].AID[j]); } printf ("\t%x", data[i].lifeCycleState); printf ("\t%x\n", data[i].privileges); } } else if (platform_mode == PLATFORM_MODE_GP_211) { GP211_APPLICATION_DATA appData[NUM_APPLICATIONS]; GP211_EXECUTABLE_MODULES_DATA execData[NUM_APPLICATIONS]; rv = GP211_get_status(cardInfo, &securityInfo211, optionStr.element, appData, execData, &numData); if (rv != 0) { _tprintf (_T("GP211_get_status() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); rv = EXIT_FAILURE; goto end; } #ifdef DEBUG printf ("GP211_get_status() returned %d items\n", numData); #endif printf ("\nList of applets (AID state privileges)\n"); for (i=0; i<(int)numData; i++) { int j; for (j=0; j<appData[i].AIDLength; j++) { printf ("%02x", appData[i].AID[j]); } printf ("\t%x", appData[i].lifeCycleState); printf ("\t%x\n", appData[i].privileges); } } if (rv != 0) { _tprintf (_T("get_status() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); rv = EXIT_FAILURE; goto end; } break; } else if (strcmp(token, "send_apdu") == 0) { unsigned char recvAPDU[257]; DWORD recvAPDULen = 257; int i; // Install for Load rv = handleOptions(&optionStr); if (rv != EXIT_SUCCESS) { goto end; } printf ("Send APDU: "); for (i=0; i<optionStr.APDULen; i++) printf ("%02X ", optionStr.APDU[i] & 0xFF); printf ("\n"); if (platform_mode == PLATFORM_MODE_OP_201) { rv = OP201_send_APDU(cardInfo, (optionStr.secureChannel == 0 ? NULL : &securityInfo201), (PBYTE)(optionStr.APDU), optionStr.APDULen, recvAPDU, &recvAPDULen); } else if (platform_mode == PLATFORM_MODE_GP_211) { rv = GP211_send_APDU(cardInfo, (optionStr.secureChannel == 0 ? NULL : &securityInfo211), (PBYTE)(optionStr.APDU), optionStr.APDULen, recvAPDU, &recvAPDULen); } if (rv != 0) { _tprintf (_T("send_APDU() returns 0x%08X (%s)\n"), rv, stringify_error(rv)); rv = EXIT_FAILURE; goto end; } printf ("Recv APDU: "); for (i=0; i<(int)recvAPDULen; i++) printf ("%02x ", recvAPDU[i]); printf ("\n"); break; } else if (strcmp(token, "mode_201") == 0) { platform_mode = PLATFORM_MODE_OP_201; } else if (strcmp(token, "mode_211") == 0) { platform_mode = PLATFORM_MODE_GP_211; } else if (strcmp(token, "enable_trace") == 0) { enableTraceMode(OPGP_TRACE_MODE_ENABLE, NULL); } else if (strcmp(token, "gemXpressoPro") == 0) { gemXpressoPro = 1; } else { printf ("Unknown command %s\n", token); rv = EXIT_FAILURE; goto end; } token = strtokCheckComment(NULL); } } end: return rv; }
bool OperaBookmarksImporter::import() { QTextStream stream(m_file); stream.setCodec("UTF-8"); QString line = stream.readLine(); if (line != QLatin1String("Opera Hotlist version 2.0")) { return false; } BookmarksItem *bookmark = NULL; OperaBookmarkEntry type = NoEntry; bool isHeader = true; handleOptions(); while (!stream.atEnd()) { line = stream.readLine(); if (isHeader && (line.isEmpty() || line.at(0) != QLatin1Char('#'))) { continue; } isHeader = false; if (line.startsWith(QLatin1String("#URL"))) { bookmark = BookmarksManager::addBookmark(BookmarksModel::UrlBookmark, QUrl(), QString(), getCurrentFolder()); type = UrlEntry; } else if (line.startsWith(QLatin1String("#FOLDER"))) { bookmark = BookmarksManager::addBookmark(BookmarksModel::FolderBookmark, QUrl(), QString(), getCurrentFolder()); type = FolderStartEntry; } else if (line.startsWith(QLatin1String("#SEPERATOR"))) { bookmark = BookmarksManager::addBookmark(BookmarksModel::SeparatorBookmark, QUrl(), QString(), getCurrentFolder()); type = SeparatorEntry; } else if (line == QLatin1String("-")) { type = FolderEndEntry; } else if (line.startsWith(QLatin1String("\tURL=")) && bookmark) { const QUrl url(line.section(QLatin1Char('='), 1, -1)); if (!allowDuplicates() && BookmarksManager::hasBookmark(url)) { bookmark->remove(); bookmark = NULL; } else { bookmark->setData(url, BookmarksModel::UrlRole); } } else if (line.startsWith(QLatin1String("\tNAME=")) && bookmark) { bookmark->setData(line.section(QLatin1Char('='), 1, -1), BookmarksModel::TitleRole); } else if (line.startsWith(QLatin1String("\tDESCRIPTION=")) && bookmark) { bookmark->setData(line.section(QLatin1Char('='), 1, -1).replace(QLatin1String("\x02\x02"), QLatin1String("\n")), BookmarksModel::DescriptionRole); } else if (line.startsWith(QLatin1String("\tSHORT NAME=")) && bookmark) { const QString keyword = line.section(QLatin1Char('='), 1, -1); if (!BookmarksManager::hasKeyword(keyword)) { bookmark->setData(keyword, BookmarksModel::KeywordRole); } } else if (line.startsWith(QLatin1String("\tCREATED=")) && bookmark) { bookmark->setData(QDateTime::fromTime_t(line.section(QLatin1Char('='), 1, -1).toUInt()), BookmarksModel::TimeAddedRole); } else if (line.startsWith(QLatin1String("\tVISITED=")) && bookmark) { bookmark->setData(QDateTime::fromTime_t(line.section(QLatin1Char('='), 1, -1).toUInt()), BookmarksModel::TimeVisitedRole); } else if (line.isEmpty()) { if (bookmark) { if (type == FolderStartEntry) { setCurrentFolder(bookmark); } bookmark = NULL; } else if (type == FolderEndEntry) { goToParent(); } type = NoEntry; } } return true; }
RoseToLLVMModule(Rose_STL_Container<std::string> &args) : PaceccModule(Option::roseToLLVMModulePrefix), options(NULL) { handleOptions(args); control = new Control(*options); }
// Main function int main(int argc, char** argv) { //Open call to syslog openlog("hooli_client", LOG_PERROR | LOG_PID | LOG_NDELAY, LOG_USER); // Optional arguments and defaults char* hostname = "localhost"; // HMDS server hostname char* hooli_dir; // Hooli root directory asprintf(&hooli_dir, "%s/hooli/", getenv("HOME")); // Path to "~/hooli/" char* port = "9000"; // Server's port int verbose_flag = 0; // Verbose output flag char* hftp_hostname = "localhost";// HFTP server hostname char* hftp_port = "10000"; // HFTP server port // Required arguments char* username = NULL; // Client's username char* password = NULL; // Client's password handleOptions(argc, argv, &hostname, &port, &hooli_dir, &verbose_flag, &hftp_hostname, &hftp_port); // Set syslog level setlogmask(LOG_UPTO(verbose_flag ? LOG_DEBUG : LOG_INFO)); handleCredentials(argc, argv, &username, &password); logArguments(username, password, hostname, hooli_dir, port, verbose_flag, hftp_hostname, hftp_port); // Scan root Hooli directory hooli_file* file = handleHooliScan(hooli_dir); // If there are were no files in the Hooli directory, exit if(!file) { closelog(); free(hooli_dir); exit(EXIT_SUCCESS); } // Initialize socket file descriptor int sockfd = -1; // Authenticate the user and get a token char* token = handleServerAuth(hostname, port, username, password, &sockfd); // If authentication failed, exit if(NULL == token) { freeHooliFileList(file); free(hooli_dir); exit(EXIT_FAILURE); } // Get the list of files to be uploaded char* upload_list = getUploadList(sockfd, token, file); if(NULL == upload_list) { free(token); freeHooliFileList(file); free(hooli_dir); closelog(); exit(EXIT_FAILURE); } // Copy the upload list and convert it into a list of hooli files char* upload_list_cpy; asprintf(&upload_list_cpy, "%s", upload_list); int numfiles = 0; // Number of files being uploaded hooli_file* uploads = convertUploadList(upload_list_cpy, file, &numfiles); free(upload_list_cpy); if(uploads) { // Log requested files logRequestedFiles(upload_list); // Upload files to HFTP server int uploaded = handleFileUploads(hooli_dir, uploads, token, hftp_hostname, hftp_port, numfiles); syslog(LOG_INFO, "%d files uploaded to server", uploaded); } free(upload_list); free(token); free(hooli_dir); freeHooliFileList(uploads); closelog(); exit(EXIT_SUCCESS); }
int main(int argc, char *argv[]) { s_block *S_block; p_table *P_table=NULL; inode *Inode = NULL; options *Opt; FILE *fs; FILE *output; /*where all the data will be outputed*/ uint32_t part_start; /*beginning file system*/ uint32_t inode_off; /*beginning of inode zone*/ uint32_t zone_size; uint8_t *data; char **path; if ((Opt = handleOptions(argc, argv))==NULL) { printf("minget [-v] [-p part [-s subpart]] imagefile srcpath [dstpath]\n"); exit(EXIT_FAILURE); } FATALCALL((fs = fopen(Opt->imagefile, "rb"))==NULL,"fopen"); /*check super block*/ output = stdout; if (Opt->dstpath) FATALCALL((output = fopen(Opt->dstpath, "w+b"))==NULL,"fopen"); part_start = 0; /*0 is start of image*/ if (Opt->part_num == -1 && Opt->subpart_num == -1) /*no partition or subpartition*/ { if((S_block = getSuperBlock(fs, 0)) == NULL) /*MAGIC NUMBER*/ { free(S_block); exit(EXIT_FAILURE); } zone_size = S_block->block_size << S_block->log_zone_size; inode_off = part_start + (2 + S_block->imap_blocks + S_block->zmap_blocks) * S_block->block_size; } else if (Opt->part && !Opt->subpart) /*partition but no subpartition*/ { P_table = getPartTable(fs, part_start, Opt->part_num); if (P_table == NULL) exit(EXIT_FAILURE); part_start = P_table->lFirst * SECTOR_SIZE; if((S_block = getSuperBlock(fs, 0)) == NULL) /*MAGIC NUMBER*/ { free(S_block); exit(EXIT_FAILURE); } zone_size = S_block->block_size << S_block->log_zone_size; inode_off = part_start + (2 + S_block->imap_blocks + S_block->zmap_blocks) * S_block->block_size; } else if (Opt->part && Opt->subpart) /* partition and subpartition */ { P_table = getPartTable(fs, part_start, Opt->part_num); /*0 is start of image*/ if (P_table == NULL) { free(P_table); exit(EXIT_FAILURE); } part_start = P_table->lFirst * SECTOR_SIZE; free(P_table); P_table = getPartTable(fs, part_start, Opt->subpart_num); if (P_table == NULL) { free(P_table); exit(EXIT_FAILURE); } part_start = P_table->lFirst * SECTOR_SIZE; if((S_block = getSuperBlock(fs, part_start)) == NULL) /*MAGIC NUMBER*/ { free(S_block); exit(EXIT_FAILURE); } zone_size = S_block->block_size << S_block->log_zone_size; inode_off = part_start + (2 + S_block->imap_blocks + S_block->zmap_blocks) * S_block->block_size; } else { exit(EXIT_FAILURE); } path =tokstr(Opt->path, "/"); if ((Inode = getFile(fs, path, inode_off, part_start, zone_size))==NULL) { fprintf(stderr, "File Doesn't Exist\n"); exit(EXIT_FAILURE); } data = getData(fs, Inode, part_start, zone_size); if (Opt->verbose) verbose(S_block, Inode); printFile(output, data, Inode->size); fclose(fs); /*check for errors*/ if(P_table!=NULL) { free(P_table); } free(Opt); free(S_block); return EXIT_SUCCESS; }