コード例 #1
0
ファイル: arcode.c プロジェクト: JabirTech/Source
int
main(int argc, const char *argv[])
{
	const char *file = argv[1];
	int fd;
	struct athregrec a;
	int r;

	if (argc < 2) {
		printf("usage: %s <ahq log>\n", argv[0]);
		exit(127);
	}

	fd = open(file, O_RDONLY);
	if (fd < 0) {
		perror("open"); 
		exit(127);
	}

	while (1) {
		r = read(fd, &a, sizeof(a));
		if (r != sizeof(a))
			break;
		switch (a.op) {
			case OP_READ:
				op_read(&a);
				break;
			case OP_WRITE:
				op_write(&a);
				break;
			case OP_DEVICE:
				op_device(&a);
				break;
			case OP_MARK:
				op_mark(&a);
				break;
			default:
				printf("op: %d; reg: 0x%x; val: 0x%x\n",
				    a.op, a.reg, a.val);
		}
	}
	close(fd);
}
コード例 #2
0
ファイル: qw_edit.c プロジェクト: angelortega/qw
qw_op_t qw_edit_op(qw_edit_t *e, qw_event_t *ev)
{
    qw_op_t r = QW_OP_NOP;
    qw_core_t *c = ev->c;

    switch (ev->o) {
    case QW_OP_LEFT:
        op_left(e);
        break;

    case QW_OP_RIGHT:
        op_right(e);
        break;

    case QW_OP_UP:
        op_up(e, ev->f);
        break;

    case QW_OP_DOWN:
        op_down(e, ev->f);
        break;

    case QW_OP_PGUP:
        op_pgup(e, ev->f);
        break;

    case QW_OP_PGDN:
        op_pgdn(e, ev->f);
        break;

    case QW_OP_BOL:
        op_bol(e);
        break;

    case QW_OP_EOL:
        op_eol(e);
        break;

    case QW_OP_BOR:
        op_bor(e, ev->f);
        break;

    case QW_OP_EOR:
        op_eor(e, ev->f);
        break;

    case QW_OP_BOF:
        op_bof(e);
        break;

    case QW_OP_EOF:
        op_eof(e);
        break;

    case QW_OP_CHAR:
        op_char(e, ev->w);
        break;

    case QW_OP_DEL:
        op_del(e);
        break;

    case QW_OP_BACKSPACE:
        op_backspace(e);
        break;

    case QW_OP_NEWLINE:
        op_char(e, L'\n');
        break;

    case QW_OP_TAB:
        op_tab(e, ev->f, c);
        break;

    case QW_OP_HARD_TAB:
        op_char(e, L'\t');
        break;

    case QW_OP_DEL_ROW:
        op_del_row(e, ev->f);
        break;

    case QW_OP_UNDO:
        op_undo(e);
        break;

    case QW_OP_MARK:
        op_mark(e);
        break;

    case QW_OP_UNMARK:
        op_unmark(e);
        break;

    case QW_OP_COPY:
        op_copy(e, c);
        op_unmark(e);

        break;

    case QW_OP_PASTE:
        op_paste(e, c);
        break;

    case QW_OP_CUT:
        op_cut(e, c);
        break;

    case QW_OP_SAVE:
        op_save(e);
        break;

    case QW_OP_SHOW_CODES:
        ev->f->l = L" \xb6"[!!(ev->f->l == L' ')];
        break;

    case QW_OP_SEARCH:
        op_search(e, c);
        break;

    case QW_OP_CLOSE:
        r = QW_OP_DESTROY;
        break;

    case QW_OP_DESTROY:
        r = QW_OP_DESTROY;
        break;

    case QW_OP_NOP:
    case QW_OP_COUNT:
        break;
    }

    return r;
}