コード例 #1
0
ファイル: main.c プロジェクト: 610bob/ThinSwype
int main(int argc, char** argv) {
    
    memset(&mtDump, 0x00, sizeof(mtDump));
    Credentials crd;
    char cmd[200];
    
    signal(SIGINT, stop_polling);
    
    
    nfc_init(&RT.context);
    
    if (RT.context == NULL) {
          ERR("Unable to init libnfc (malloc)");
          exit(EXIT_FAILURE);
        }
        TagInit(&RT);
      
    while(run){
        
            if(ScanForTag(&RT)){
                if(N_read_card(RT,&mtDump)){
                    if(NDDEF_DEGenerate(&crd, &mtDump)){
                        if(Credentials_Check(&crd)){
                            printf("\nGood\n");
                            memset(cmd, 0x00, sizeof(cmd));
                            //snprintf(cmd,200,"startx /usr/bin/nice -n 18 /usr/bin/rdesktop -a 24 -x 6 -P -r sound:local -u %s -p %s -f %s",crd.user,crd.password, crd.VM);
                            //printf("%s",cmd);
                            //system(cmd);
                            printf("Waiting for card removing...");
                            sleep(1);
                            while (0 == nfc_initiator_target_is_present(RT.device, NULL)) {}
                            nfc_perror(RT.device, "nfc_initiator_target_is_present");
                            printf("done.\n");
                        }
                    }
                }
            }
        
        //nfc_idle(RT.device);
        //nfc_exit(RT.context);
        sleep(1);
    }
    if (RT.device != NULL)
        nfc_abort_command(RT.device);
    else {
      nfc_exit(RT.context);
      exit(EXIT_SUCCESS);
    }
}
コード例 #2
0
ファイル: lbxdix.c プロジェクト: aosm/X11
void
LbxDixInit(void)
{
    TagInit();
    lbx_font_private = AllocateFontPrivateIndex();
}