Esempio n. 1
0
File: event.c Progetto: LasDesu/pce
int pri_event_list (pri_img_t *img, const char *type, const char *range)
{
	int                byidx;
	struct pri_event_s par;

	if (pri_event_get_type (type, &par.type)) {
		return (1);
	}

	byidx = 0;

	if (*range == '@') {
		byidx = 1;
		range += 1;
	}

	if (pri_parse_range (range, &par.idx1, &par.idx2, &par.all)) {
		return (1);
	}

	if (byidx) {
		return (pri_for_all_tracks (img, pri_event_list_idx_cb, &par));
	}
	else {
		return (pri_for_all_tracks (img, pri_event_list_pos_cb, &par));
	}
}
Esempio n. 2
0
static
int pri_edit_tracks (pri_img_t *img, const char *what, const char *val)
{
	int           r;
	unsigned long v;
	pri_trk_cb    fct;

	v = strtoul (val, NULL, 0);

	if (strcmp (what, "clock") == 0) {
		fct = pri_edit_clock_cb;
	}
	else if (strcmp (what, "data") == 0) {
		fct = pri_edit_data_cb;
	}
	else if (strcmp (what, "size") == 0) {
		fct = pri_edit_size_cb;
	}
	else {
		fprintf (stderr, "%s: unknown field (%s)\n", arg0, what);
		return (1);
	}

	r = pri_for_all_tracks (img, fct, &v);

	if (r) {
		fprintf (stderr, "%s: editing failed (%s = %lu)\n",
			arg0, what, v
		);
	}

	return (r);
}
Esempio n. 3
0
int pri_decode_gcr_raw (pri_img_t *img, const char *fname)
{
	int  r;
	FILE *fp;

	fp = fopen (fname, "wb");

	if (fp == NULL) {
		return (1);
	}

	r = pri_for_all_tracks (img, pri_decode_gcr_raw_cb, fp);

	fclose (fp);

	return (r);
}
Esempio n. 4
0
File: event.c Progetto: LasDesu/pce
int pri_event_add (pri_img_t *img, const char *type, const char *pos, const char *val)
{
	struct pri_event_s par;

	if (pri_event_get_type (type, &par.type)) {
		return (1);
	}

	errno = 0;

	par.idx1 = strtoul (pos, NULL, 0);
	par.idx2 = strtoul (val, NULL, 0);

	if (errno) {
		return (1);
	}

	return (pri_for_all_tracks (img, pri_event_add_cb, &par));
}
Esempio n. 5
0
static
int pri_rotate_tracks (pri_img_t *img, unsigned long idx)
{
	return (pri_for_all_tracks (img, pri_rotate_track_cb, &idx));
}
Esempio n. 6
0
static
int pri_list_tracks (pri_img_t *img)
{
	return (pri_for_all_tracks (img, pri_list_track_cb, NULL));
}
Esempio n. 7
0
static
int pri_align_gcr_tracks (pri_img_t *img)
{
	return (pri_for_all_tracks (img, pri_align_gcr_track_cb, NULL));
}
Esempio n. 8
0
File: event.c Progetto: LasDesu/pce
int pri_event_clear (pri_img_t *img)
{
	return (pri_for_all_tracks (img, pri_event_clear_cb, NULL));
}