LinuxJoystick::LinuxJoystick(int which, int doCalibrate) { joy = which; fd = -1; has_z = has_r = 0; naxis = 2; read_def_file(joy ? joydef1 : joydef0 ); if (doCalibrate) calibrate(); active = open(); }
int main (int argc, char **argv) { int work_desired = 1; char *outfbase = NULL; int c; struct def_callbacks funcs = default_def_callbacks; funcs.db_header = db_header_func; funcs.export_function = export_function; set_progname (argv[0]); while ((c = getopt_long (argc, argv, shortopts, longopts, NULL)) >= 0) switch (c) { case 'b': outfbase = optarg; break; case OPTION_HELP: usage (); work_desired = 0; break; case OPTION_VERSION: print_version ("stubgen", "Jp"); work_desired = 0; break; } if (!work_desired) return 0; if (optind + 1 != argc) { usage (); return 0; } deffname = argv[optind]; read_def_file (deffname, &funcs); if (nerrors == 0) { char buffer[FILENAME_MAX]; char *outfname, *eos; if (first_function_entry == NULL) warning ("[%s] no functions exported", deffname); if (outfbase) { strcpy (buffer, outfbase); outfname = buffer; } else { strcpy (buffer, deffname); outfname = basename_with_changed_extension (buffer, ""); } eos = strchr (outfname, '\0'); switch (db_kind) { case DK_SYSLIB: strcpy (eos, "-dispatch.s"); generate_file_from_template (outfname, syslib_dispatch_text, filter); break; case DK_GLIB: strcpy (eos, "-jumps.s"); generate_file_from_template (outfname, glib_jumptable_text, filter); strcpy (eos, "-stubs.c"); generate_file_from_template (outfname, glib_stub_text, filter); break; default: error ("[%s] project is not a shared library", deffname); break; } } return (nerrors == 0)? EXIT_SUCCESS : EXIT_FAILURE; }