Пример #1
0
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();
}
Пример #2
0
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;
  }