Changeset fa8e7d2 in mainline for kernel/generic/include/proc/task.h


Ignore:
Timestamp:
2007-01-30T12:51:03Z (18 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
80bcaed
Parents:
b612ded6
Message:

move ipc structures to ipc.h

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/proc/task.h

    rb612ded6 rfa8e7d2  
    3737
    3838#include <cpu.h>
     39#include <ipc/ipc.h>
    3940#include <synch/spinlock.h>
    4041#include <synch/mutex.h>
     
    5253#include <proc/scheduler.h>
    5354
    54 #define IPC_MAX_PHONES  16
    55 
    56 struct answerbox;
    57 struct task;
    5855struct thread;
    59 
    60 typedef enum {
    61         IPC_PHONE_FREE = 0,     /**< Phone is free and can be allocated */
    62         IPC_PHONE_CONNECTING,   /**< Phone is connecting somewhere */
    63         IPC_PHONE_CONNECTED,    /**< Phone is connected */
    64         IPC_PHONE_HUNGUP,       /**< Phone is hung up, waiting for answers to come */
    65         IPC_PHONE_SLAMMED       /**< Phone was hungup from server */
    66 } ipc_phone_state_t;
    67 
    68 /** Structure identifying phone (in TASK structure) */
    69 typedef struct {
    70         SPINLOCK_DECLARE(lock);
    71         link_t link;
    72         struct answerbox *callee;
    73         ipc_phone_state_t state;
    74         atomic_t active_calls;
    75 } phone_t;
    76 
    77 typedef struct answerbox {
    78         SPINLOCK_DECLARE(lock);
    79 
    80         struct task *task;
    81 
    82         waitq_t wq;
    83 
    84         link_t connected_phones;        /**< Phones connected to this answerbox */
    85         link_t calls;                   /**< Received calls */
    86         link_t dispatched_calls;        /* Should be hash table in the future */
    87 
    88         link_t answers;                 /**< Answered calls */
    89 
    90         SPINLOCK_DECLARE(irq_lock);
    91         link_t irq_notifs;              /**< Notifications from IRQ handlers */
    92         link_t irq_head;                /**< IRQs with notifications to this answerbox. */
    93 } answerbox_t;
    9456
    9557/** Task structure. */
Note: See TracChangeset for help on using the changeset viewer.