Example #1
0
int main() {
  sc_open();

  sc_sprint("test\rme\ntoo",0,0,0);

  sc_close();

  return 0;
}
Example #2
0
static int init() {
  trkname[0] = 0;

  sc_open();

  WAHook = SetWindowsHookEx(WH_CALLWNDPROCRET, HookWinampWnd, NULL,
                            GetWindowThreadProcessId(plugin.hwndParent, NULL));

  return 0;
}
Example #3
0
static int
sc_init(void)
{
	int status;

	status = sc_open();
	if (status == SCARD_ERROR_NOCARD) {
		return SCARD_ERROR_NOCARD;
	}
	if (status < 0 ) {
		error("sc_open failed");
		return status;
	}
	if (sc_enable_applet() < 0) {
		error("sc_enable_applet failed");
		return SCARD_ERROR_APPLET;
	}
	return 0;
}
Example #4
0
int main(void)
{
	int fd;
	int r;
	
	fd = sc_open("/tmp/test", O_RDWR | O_CREAT | O_TRUNC, 0777);
	if (fd == -1) {
		fprintf(stderr, "fail to open file.\n");
		return -1;
	}

	fprintf(stderr, "fd: %d.\n", fd);

	r = sc_write(fd, "Hello.\n", 7);
	fprintf(stderr, "r: %d.\n", r);

	r = sc_close(fd);

	fprintf(stderr, "r: %d.\n", r);
	return 0;
}
Example #5
0
uint32 dcload_open(vfs_handler_t * dummy, const char *fn, int mode)
{
#ifdef BENPATCH
  dcload_handler_t * hdl = 0;
#endif
  int hnd = 0;
  int dcload_mode = 0;
  int oldirq = 0;
  int max_buffer = 0;

/*   dbglog(DBG_DEBUG, */
/* 	 "fs_dcload : open [%s,%d]\n",fn,mode); */
//  printf("open '%s' %d\n", fn, mode);
    
  if (!tool_ip)
    return 0;
  net_lock();
    
  if (mode & O_DIR) {
    if (fn[0] == '\0') {
      fn = "/";
    }
    STOPIRQ;
    hnd = (int) sc_opendir(fn);
    STARTIRQ;
    if (hnd) {
      if (dcload_path)
	free(dcload_path);
      if (fn[strlen(fn)] == '/') {
	dcload_path = malloc(strlen(fn)+1);
	strcpy(dcload_path, fn);
      } else {
	dcload_path = malloc(strlen(fn)+2);
	strcpy(dcload_path, fn);
	strcat(dcload_path, "/");
      }
    }
  } else { /* hack */
    if (mode == O_RDONLY) {
      max_buffer = dcload_buffering;
      dcload_mode = 0;
    } else if (mode == O_RDWR) {
      dcload_mode = 2 | 0x0200;
    } else if (mode == O_WRONLY) {
      dcload_mode = 1 | 0x0200;
    } else if (mode == O_APPEND) {
      dcload_mode =  2 | 8 | 0x0200;
    }
    STOPIRQ;
    hnd = sc_open(fn, dcload_mode, 0644);
    STARTIRQ;
    hnd++; /* KOS uses 0 for error, not -1 */
  }

#ifdef BENPATCH
  hdl = 0;
  if (hnd > 0 && max_buffer) {
    hdl = dcload_new_handler(max_buffer);
    if (hdl) {
      hdl->hdl = hnd;
      hnd = (int) hdl;
    }
    /* if alloc failed, fallback to nornal handle. */
  }
#endif

  net_unlock();

/*   dbglog(DBG_DEBUG, */
/* 	 "fs_dcload : open handler = [%p]\n", hdl); */

  return hnd;
}
Example #6
0
int calculate_track_dr(const char *filename, struct track_info *t, int number) {
	struct stream_context sc;
	struct dr_meter meter;
	int err;

	meter_init(&meter);

	err = sc_open(&sc, filename);
	if (err < 0) { return print_av_error("sc_open", err); }

	if (debug) {
		printf("DEBUG: Codec: %s\n", avcodec_get_name(sc_get_codec_id(&sc)));
	}


	int stream_index = err = av_find_best_stream(
		sc.format_ctx, AVMEDIA_TYPE_AUDIO, -1, -1, NULL, 0);
	if (err < 0) { print_av_error("av_find_best_stream", err); goto cleanup; }

	err = sc_start_stream(&sc, stream_index);
	if (err < 0) { print_av_error("sc_start_stream", err); goto cleanup; }

	t->artist = strdup(sc_get_metadata(&sc, "artist"));
	t->album = strdup(sc_get_metadata(&sc, "album"));
        t->tracknumber = strdup(sc_get_metadata(&sc, "track"));
	t->title = strdup(sc_get_metadata(&sc, "title"));

	AVCodecParameters *codecpar = sc_get_codec_parameters(&sc);
	err = meter_start(&meter, codecpar->channels, codecpar->sample_rate, codecpar->format);
	if (err) { goto cleanup; }

	size_t fragment = 0;
	int throbbler_stage = 0;
	while (!sc_eof(&sc)) {
		err = sc_get_next_frame(&sc);
		if (err < 0) {
			print_av_error("sc_get_next_frame", err);
			goto cleanup;
		}

		err = meter_feed(&meter, sc_get_buf(&sc), sc_get_samples(&sc));
		if (err) { goto cleanup; }

		if (fragment < meter.fragment) {
			fragment = meter.fragment;
			if ((throbbler_stage % 4) == 0) {
				fprintf(stderr, "\033[1K\033[1G"
						"Analyzing track %i... "
						"%c  %2zu:%02zu ",
						number,
						throbbler[throbbler_stage / 4],
						(fragment * 3) / 60,
						(fragment * 3) % 60);
			}
			throbbler_stage += 1;
			throbbler_stage %= 16;
		}
	}

	fprintf(stderr, "\033[1K\033[1G");
	meter_finish(&meter, t);

cleanup:
	meter_free(&meter);
	sc_close(&sc);

	if (err < 0) {
		return err;
	}

	return 0;
}
Example #7
0
int do_calculate_dr(const char *filename) {
	struct stream_context sc;
	struct dr_meter meter;
	int err;

	meter_init(&meter);

	err = sc_open(&sc, filename);
	if (err < 0) { return print_av_error("sc_open", err); }

	int stream_index = err = av_find_best_stream(
		sc.format_ctx, AVMEDIA_TYPE_AUDIO, -1, -1, NULL, 0);
	if (err < 0) { print_av_error("av_find_best_stream", err); goto cleanup; }

	err = sc_start_stream(&sc, stream_index);
	if (err < 0) { print_av_error("sc_start_stream", err); goto cleanup; }

	// Print out the stream info
	AVCodecContext *codec_ctx = sc_get_codec(&sc);
	char codecinfobuf[256];
	avcodec_string(codecinfobuf, sizeof(codecinfobuf), codec_ctx, 0);
	fprintf(stderr, "%.256s\n", codecinfobuf);

	err = meter_start(&meter, codec_ctx->channels, codec_ctx->sample_rate, codec_ctx->sample_fmt);
	if (err) { goto cleanup; }

	fprintf(stderr, "Collecting fragments information...\n");

	size_t fragment = 0;
	int throbbler_stage = 0;
	while (!sc_eof(&sc)) {
		err = sc_get_next_frame(&sc);
		if (err < 0) {
			print_av_error("sc_get_next_frame", err);
			goto cleanup;
		}

		err = meter_feed(&meter, sc.buf, sc.buf_size);
		if (err) { goto cleanup; }

		if (fragment < meter.fragment) {
			fragment = meter.fragment;
			if ((throbbler_stage % 4) == 0) {
				fprintf(stderr, "\033[1K\033[1G %c  %2i:%02i ",
						throbbler[throbbler_stage / 4],
						(fragment * 3) / 60,
						(fragment * 3) % 60);
			}
			throbbler_stage += 1;
			throbbler_stage %= 16;
		}
	}

	meter_finish(&meter);

cleanup:
	meter_free(&meter);
	sc_close(&sc);

	if (err < 0) {
		return err;
	}

	return 0;
}
Example #8
0
int main() {
	struct sched_param param;

        signal(SIGTERM, catch_signal);
        signal(SIGINT, catch_signal);

	param.sched_priority = 49;
        if(sched_setscheduler(0, SCHED_FIFO, &param) == -1) {
                perror("sched_setscheduler failed");
                exit(-1);
        }


        if(mlockall(MCL_CURRENT|MCL_FUTURE) == -1) {
                perror("mlockall failed");
                exit(-2);
        }

	stack_prefault();

	err=config_open("/var/local/rpicopter.config");
	if (err<0) {
            	printf("Failed to initiate config! [%s]\n", strerror(err));	
		return -1;
	}

	err=flog_open("/var/local/");
	if (err<0) {
            	printf("Failed to initiate log! [%s]\n", strerror(err));	
		return -1;
	}

	err = sc_open();
        if (err != 0) {
            printf("Failed to initiate speedcontroller! [%s]\n", strerror(err));	
	    return -1;
	}

	err=ms_open(GYRO_RATE);
        if (err != 0) {
            printf("Failed to initiate gyro! [%s]\n", strerror(err));	
	    return -1;
	}

	err=rec_open();
	if (err<0) {
            	printf("Failed to initiate receiver! [%s]\n", strerror(err));	
		return -1;
	}

/*
	err=bs_open();
	if (err<0) {
            	printf("Failed to initiate pressure sensor! [%s]\n", strerror(err));	
		return -1;
	}
*/
	printf("Waiting for MPU calibration... \n");
	delay_ms(1000);
	controller_stable(NULL);
	return 0;
}
Example #9
0
static void windup(struct sc_stack *stp) {
  stp->top=0;
  sc_open(stp);
}