Esempio n. 1
0
int main(int argc, char *argv[]) {
    el *name, *tmp;

    char linebuf[BUFLEN];
    FILE *file;

    if ( (file = fopen( "test11.dat", "r" )) == NULL ) {
        perror("can't open: "); 
        exit(-1);
    }

    while (fgets(linebuf,BUFLEN,file) != NULL) {
        if ( (name = (el*)malloc(sizeof(el))) == NULL) exit(-1);
        strncpy(name->bname,linebuf,BUFLEN);
        DL_APPEND(head, name);
    }
    DL_SORT(head, namecmp);
    DL_FOREACH(head,tmp) printf("%s", tmp->bname);

    /* now delete the list head */
    printf("deleting head %shead->prev: %s", head->bname, head->prev->bname);
    DL_DELETE(head,head);
    DL_FOREACH(head,tmp) printf("%s", tmp->bname);

    fclose(file);

    return 0;
}
Esempio n. 2
0
/*
 * Prepares the terminal for drawing
 */
void
termio_init(void)
{
#ifndef NCURSES
	struct target *t;
	int x, y;

	signal(SIGWINCH, sigwinch);
	x = getmaxx();
	y = getmaxy();
	scrbuffer = malloc(x * y);
	if (scrbuffer != NULL)
		setvbuf(stdout, scrbuffer, _IOFBF, x * y);
	else
		perror("malloc");

	/* Reserve space on terminal */
	cursor_y = 2; /* header */
#ifdef STATS
	cursor_y += 7;
#endif
	cursor_y += 3; /* legend */
	if (o_flag)
		cursor_y = 0;
	DL_FOREACH(list, t)
		cursor_y++;
	scrolldown(cursor_y);

	fprintf(stdout, "%c[7l", 0x1b); /* disable wrapping */
#else /* NCURSES */
	initscr();
#endif /* !NCURSES */
}
Esempio n. 3
0
int main(int argc, char *argv[]) {
    el *name, *elt, *tmp, etmp;
    el *head = NULL; /* important- initialize to NULL! */

    char linebuf[BUFLEN];
    FILE *file;

    file = fopen( "test11.dat", "r" );
    if (file == NULL) {
        perror("can't open: ");
        exit(-1);
    }

    while (fgets(linebuf,BUFLEN,file) != NULL) {
        name = (el*)malloc(sizeof(el));
        if (name == NULL) exit(-1);
        strncpy(name->bname,linebuf,sizeof(name->bname));
        DL_APPEND(head, name);
    }
    DL_SORT(head, namecmp);
    DL_FOREACH(head,elt) printf("%s", elt->bname);

    memcpy(etmp.bname, "WES\n", 5UL);
    DL_SEARCH(head,elt,&etmp,namecmp);
    if (elt != NULL) printf("found %s\n", elt->bname);

    /* now delete each element, use the safe iterator */
    DL_FOREACH_SAFE(head,elt,tmp) {
      DL_DELETE(head,elt);
    }
Esempio n. 4
0
int main(int argc, char *argv[]) {
    el *name, *elt, *tmp, etmp;
    int i;
    example_user_t *user, *users=NULL;

    char linebuf[BUFLEN];
    FILE *file;

    UT_string *s;
    char binary[] = "\xff\xff";

    if ( (file = fopen( "test11.dat", "r" )) == NULL ) {
        perror("can't open: ");
        exit(-1);
    }

    while (fgets(linebuf,BUFLEN,file) != NULL) {
        if ( (name = (el*)malloc(sizeof(el))) == NULL) exit(-1);
        strncpy(name->bname,linebuf,BUFLEN);
        DL_APPEND(head, name);
    }
    DL_SORT(head, namecmp);
    DL_FOREACH(head,elt) printf("%s", elt->bname);

    memcpy(&etmp.bname, "WES\n", 5);
    DL_SEARCH(head,elt,&etmp,namecmp);
    if (elt) printf("found %s\n", elt->bname);

    /* now delete each element, use the safe iterator */
    DL_FOREACH_SAFE(head,elt,tmp) {
      DL_DELETE(head,elt);
    }
Esempio n. 5
0
int main() {
    int i;
    el els[10], *e, *tmp, *tmp2;
    for(i=0;i<10;i++) els[i].id='a'+i;

    /* test LL macros */
    printf("LL macros\n");
    LL_APPEND(head,&els[0]);
    LL_APPEND(head,&els[1]);
    LL_APPEND(head,&els[2]);
    LL_FOREACH(head,e)
        printf("%c ", e->id);
    printf("\n");
    LL_SEARCH_SCALAR(head, e, id, 'b');
    if (e) printf("search scalar found b\n");
    LL_SEARCH(head, e, &els[0], eltcmp);
    if (e) printf("search found %c\n",e->id);
    LL_FOREACH_SAFE(head,e,tmp) LL_DELETE(head,e);

    printf("\n");

    /* test DL macros */
    printf("DL macros\n");
    DL_APPEND(head,&els[0]);
    DL_APPEND(head,&els[1]);
    DL_APPEND(head,&els[2]);
    DL_FOREACH(head,e)
        printf("%c ", e->id);
    printf("\n");
    DL_SEARCH_SCALAR(head, e, id, 'b');
    if (e) printf("search scalar found b\n");
    DL_SEARCH(head, e, &els[0], eltcmp);
    if (e) printf("search found %c\n",e->id);
    DL_FOREACH_SAFE(head,e,tmp) DL_DELETE(head,e);
    printf("\n");

    /* test CDL macros */
    printf("CDL macros\n");
    CDL_PREPEND(head,&els[0]);
    CDL_PREPEND(head,&els[1]);
    CDL_PREPEND(head,&els[2]);
    CDL_FOREACH(head,e)
        printf("%c ", e->id);
    printf("\n");
    CDL_SEARCH_SCALAR(head, e, id, 'b');
    if (e) printf("search scalar found b\n");
    CDL_SEARCH(head, e, &els[0], eltcmp);
    if (e) printf("search found %c\n",e->id);
    CDL_FOREACH_SAFE(head,e,tmp,tmp2) CDL_DELETE(head,e);


    return 0;
}
/*
 * Pretty prints the insts (as in program order) stats in TAs format.
 */
inline void
dis_print_inst_stats(struct dis_input *dis)
{
    struct dis_inst_node *iter = NULL;

    /* First, sort and print all instruction entries with timing info. */
    DL_SORT(dis->list_wback->list, dis_cb_cmp);
    DL_FOREACH(dis->list_wback->list, iter)
        dis_print_inst_entry_stats(dis, iter);

    /* Print L1 cache data, if present. */
    if (dis->l1) {
        cache_print_cache_data(dis->l1);

        /* Print L2 cache data, if present. */
        if (dis->l2) {
            dprint("\n");
            cache_print_cache_data(dis->l2);
        }

        dprint("\n");
    }


    /* Now, the scheduler configuration. */
    dprint("CONFIGURATION\n");
    dprint(" superscalar bandwidth (N) = %u\n", dis->n);
    dprint(" dispatch queue size (2*N) = %u\n", (dis->n * 2));
    dprint(" schedule queue size (S)   = %u\n", dis->s);

    /* Finally, some scheduler performance numbers. */
    dprint("RESULTS\n");
    dprint(" number of instructions = %u\n", dis_get_inst_num());
    dprint(" number of cycles       = %u\n", dis_get_cycle_num() + 1);
    dprint(" IPC                    = %.2f\n",
            (double) ((double) dis_get_inst_num() /
                        (double) (dis_get_cycle_num() + 1)));

    return;
}
Esempio n. 7
0
int main(int argc, char *argv[]) {
    int i;
    el els[10], *e;
    for(i=0;i<10;i++) els[i].id='a'+i;

    /* test CDL macros */
    printf("CDL macros\n");
    CDL_PREPEND(head,&els[0]);
    CDL_PREPEND(head,&els[1]);
    CDL_PREPEND(head,&els[2]);
    CDL_PREPEND(head,&els[3]);
    CDL_FOREACH(head,e) 
        printf("%c ", e->id); 
    printf("\n");

    /* point head to head->next */
    printf("advancing head pointer\n");
    head = head->next;
    CDL_FOREACH(head,e) 
        printf("%c ", e->id); 
    printf("\n");

    /* follow circular loop a few times */
    for(i=0,e=head;e && i<10;i++,e=e->next) 
        printf("%c ", e->id); 
    printf("\n");

    /* follow circular loop backwards a few times */
    for(i=0,e=head;e && i<10;i++,e=e->prev) 
        printf("%c ", e->id); 
    printf("\n");

    printf("deleting b\n");
    CDL_DELETE(head,&els[1]);
    CDL_FOREACH(head,e) printf("%c ", e->id); 
    printf("\n");
    printf("deleting (a)\n");
    CDL_DELETE(head,&els[0]);
    CDL_FOREACH(head,e) 
        printf("%c ", e->id); 
    printf("\n");
    printf("deleting (c)\n");
    CDL_DELETE(head,&els[2]);
    CDL_FOREACH(head,e) 
        printf("%c ", e->id); 
    printf("\n");
    printf("deleting (d)\n");
    CDL_DELETE(head,&els[3]);
    CDL_FOREACH(head,e) 
        printf("%c ", e->id); 
    printf("\n");

    /* test DL macros */
    printf("DL macros\n");
    DL_PREPEND(head,&els[0]);
    DL_PREPEND(head,&els[1]);
    DL_PREPEND(head,&els[2]);
    DL_APPEND(head,&els[3]);
    DL_FOREACH(head,e) 
        printf("%c ", e->id); 
    printf("\n");

    printf("deleting c\n");
    DL_DELETE(head,&els[2]);
    DL_FOREACH(head,e) 
        printf("%c ", e->id); 
    printf("\n");

    printf("deleting a\n");
    DL_DELETE(head,&els[0]);
    DL_FOREACH(head,e) 
        printf("%c ", e->id); 
    printf("\n");

    printf("deleting b\n");
    DL_DELETE(head,&els[1]);
    DL_FOREACH(head,e) 
        printf("%c ", e->id); 
    printf("\n");

    printf("deleting d\n");
    DL_DELETE(head,&els[3]);
    DL_FOREACH(head,e) 
        printf("%c ", e->id); 
    printf("\n");

    /* test LL macros */
    printf("LL macros\n");
    LL_PREPEND(head,&els[0]);
    LL_PREPEND(head,&els[1]);
    LL_PREPEND(head,&els[2]);
    LL_APPEND(head,&els[3]);
    LL_FOREACH(head,e) 
        printf("%c ", e->id); 
    printf("\n");

    printf("deleting c\n");
    LL_DELETE(head,&els[2]);
    LL_FOREACH(head,e) 
        printf("%c ", e->id); 
    printf("\n");

    printf("deleting a\n");
    LL_DELETE(head,&els[0]);
    LL_FOREACH(head,e) 
        printf("%c ", e->id); 
    printf("\n");

    printf("deleting b\n");
    LL_DELETE(head,&els[1]);
    LL_FOREACH(head,e) 
        printf("%c ", e->id); 
    printf("\n");

    printf("deleting d\n");
    LL_DELETE(head,&els[3]);
    LL_FOREACH(head,e) 
        printf("%c ", e->id); 
    printf("\n");

    return 0;
}
Esempio n. 8
0
void cras_hfp_ag_suspend()
{
	struct audio_gateway *ag;
	DL_FOREACH(connected_ags, ag)
		destroy_audio_gateway(ag);
}