コード例 #1
0
ファイル: kill.c プロジェクト: jheiss/nn
int
kill_article(article_header * ah)
{
    register kill_list_entry *kl;
    int             unless_match = 0;

    if (kill_debug) {
        clrdisp();
        pg_init(0, 1);
        pg_next();
        so_printf("\1KILL: %s: %s%-.40s (%d)\1",
                  ah->sender, ah->replies & 0x80 ? "Re: " : "",
                  ah->subject, ah->replies & 0x7f);
    }
    kl = exec_kill((kill_list_entry *) (current_group->kill_list), ah,
                   &unless_match, 0, 0);
    if (kl == NULL && group_regexp_table != NULL) {
        if (current_kill_group != current_group)
            build_regexp_kill();
        kl = exec_kill(regexp_kill_list, ah, &unless_match, 0, 0);
    }
    if (kl == NULL)
        kl = exec_kill(global_kill_list, ah, &unless_match, 0, 0);

    if (kl != NULL) {
        if (kl->kill_flag & AUTO_KILL)
            goto did_kill;

        if (kl->kill_flag & AUTO_SELECT) {
            ah->attr = A_AUTO_SELECT;
            goto did_select;
        }
        goto no_kill;
    }
    if (unless_match)
        goto did_kill;

no_kill:
    if (kill_ref_count && (int) (ah->replies & 0x7f) >= kill_ref_count) {
        if (kill_debug) {
            pg_next();
            tprintf("REFERENCE COUNT (%d) >= %d\n",
                    ah->replies & 0x7f, kill_ref_count);
        }
        goto did_kill;
    }
did_select:
    if (kill_debug && pg_end() < 0)
        kill_debug = 0;
    return 0;

did_kill:
    if (kill_debug && pg_end() < 0)
        kill_debug = 0;
    killed_articles++;
    return 1;
}
コード例 #2
0
ファイル: pg.c プロジェクト: chinnyannieb/empeg-hijack
int     init_module(void)

{       int     err;

#ifdef PARIDE_JUMBO
       { extern paride_init();
         paride_init();
       } 
#endif

	err = pg_init();

	return err;
}
コード例 #3
0
ファイル: kill.c プロジェクト: jheiss/nn
void
dump_kill_list(void)
{
    register kill_list_entry *kl;

    pg_init(0, 1);
    pg_next();

    kl = (kill_list_entry *) (current_group->kill_list);
    if (current_kill_group != current_group)
        build_regexp_kill();

    if (kl == NULL && regexp_kill_list == NULL) {
        tprintf("No kill entries for %s", current_group->group_name);
    } else {
        so_printf("\1GROUP %s kill list entries\1", current_group->group_name);

        pk_prev_and = 0;
        for (; kl; kl = kl->next_kill)
            if (print_kill(kl) < 0)
                goto out;

        pk_prev_and = 0;
        for (kl = regexp_kill_list; kl; kl = kl->next_kill)
            if (print_kill(kl) < 0)
                goto out;

        if (pg_next() < 0)
            goto out;
    }

    if (pg_next() < 0)
        goto out;
    so_printf("\1GLOBAL kill list entries:\1");

    pk_prev_and = 0;
    for (kl = global_kill_list; kl != NULL; kl = kl->next_kill)
        if (print_kill(kl) < 0)
            goto out;

out:
    pg_end();
}
コード例 #4
0
ファイル: main.c プロジェクト: BackupGGCode/arcaneos
int main()
{
//Start video driver (must always be before loading message)
    mm_init();
    pg_init();
    real_init();
    video_init();
    video_setdriver(video_vgatext_getdriver(),0);

//Put loading message
    cli_puts("ArcaneOS Loading...\n");

//Setup kernel
    gdt_init();
    idt_init();
    isr_init();
    irq_init();
    timer_init();
    kb_init();
    ui_init();
    cpuid_init();
    cmos_init();
    rtc_init();
    acpi_init();
    power_init();
    mt_init();
    syscall_init();
    floppy_init();

    __asm__ __volatile__ ("sti");

//Enable ACPI
    acpi_enable();

//Create thread for ui
    mt_create_thread(mt_kernel_process,test,2);

//Endless loop to prevent bugs when all threads are sleeping
    for(;;)
        __asm__ __volatile__ ("hlt");
}