Changeset b3f8fb7 in mainline for kernel/generic/include/ipc/ipc.h


Ignore:
Timestamp:
2007-01-28T13:25:49Z (18 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8e8c1a5
Parents:
1ba41c5
Message:

huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/ipc/ipc.h

    r1ba41c5 rb3f8fb7  
    159159#ifdef KERNEL
    160160
    161 #include <synch/waitq.h>
    162 #include <adt/list.h>
    163 
    164 #define IPC_MAX_PHONES  16
    165 
    166 typedef struct answerbox_s answerbox_t;
    167 typedef struct phone_s phone_t;
     161#include <proc/task.h>
     162
    168163typedef struct {
    169164        unative_t args[IPC_CALL_LEN];
    170165        phone_t *phone;
    171166} ipc_data_t;
    172 
    173 struct answerbox_s {
    174         SPINLOCK_DECLARE(lock);
    175 
    176         task_t *task;
    177 
    178         waitq_t wq;
    179 
    180         link_t connected_phones;        /**< Phones connected to this answerbox */
    181         link_t calls;                   /**< Received calls */
    182         link_t dispatched_calls;        /* Should be hash table in the future */
    183 
    184         link_t answers;                 /**< Answered calls */
    185 
    186         SPINLOCK_DECLARE(irq_lock);
    187         link_t irq_notifs;              /**< Notifications from IRQ handlers */
    188         link_t irq_head;                /**< IRQs with notifications to this answerbox. */
    189 };
    190 
    191 typedef enum {
    192         IPC_PHONE_FREE = 0,     /**< Phone is free and can be allocated */
    193         IPC_PHONE_CONNECTING,   /**< Phone is connecting somewhere */
    194         IPC_PHONE_CONNECTED,    /**< Phone is connected */
    195         IPC_PHONE_HUNGUP,       /**< Phone is hung up, waiting for answers to come */
    196         IPC_PHONE_SLAMMED       /**< Phone was hungup from server */
    197 } ipc_phone_state_t;
    198 
    199 /** Structure identifying phone (in TASK structure) */
    200 struct phone_s {
    201         SPINLOCK_DECLARE(lock);
    202         link_t link;
    203         answerbox_t *callee;
    204         ipc_phone_state_t state;
    205         atomic_t active_calls;
    206 };
    207167
    208168typedef struct {
Note: See TracChangeset for help on using the changeset viewer.