Ignore:
File:
1 edited

Legend:

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

    rfd1210a r2c0e5d2  
    5151/** This is answer to a call */
    5252#define IPC_CALL_ANSWERED       (1 << 0)
     53/** This call will not be freed on error */
     54#define IPC_CALL_STATIC_ALLOC   (1 << 1)
    5355/** Answer will not be passed to userspace, will be discarded */
    54 #define IPC_CALL_DISCARD_ANSWER (1 << 1)
     56#define IPC_CALL_DISCARD_ANSWER (1 << 2)
    5557/** Call was forwarded */
    56 #define IPC_CALL_FORWARDED      (1 << 2)
     58#define IPC_CALL_FORWARDED      (1 << 3)
    5759/** Identify connect_me_to answer */
    58 #define IPC_CALL_CONN_ME_TO     (1 << 3)
     60#define IPC_CALL_CONN_ME_TO     (1 << 4)
    5961/** Interrupt notification */
    60 #define IPC_CALL_NOTIF          (1 << 4)
     62#define IPC_CALL_NOTIF          (1 << 5)
    6163
    6264/*
     
    265267        waitq_t wq;
    266268
    267         /** Linkage for the list of task's synchronous answerboxes. */
    268         link_t sync_box_link;
    269 
    270269        /** Phones connected to this answerbox. */
    271270        link_t connected_phones;
     
    317316} call_t;
    318317
    319 
    320 extern answerbox_t *ipc_phone_0;
    321 
    322 
    323318extern void ipc_init(void);
    324 
    325 extern call_t * ipc_call_alloc(int);
    326 extern void ipc_call_free(call_t *);
    327 
     319extern call_t * ipc_wait_for_call(answerbox_t *, uint32_t, int);
     320extern void ipc_answer(answerbox_t *, call_t *);
    328321extern int ipc_call(phone_t *, call_t *);
    329322extern int ipc_call_sync(phone_t *, call_t *);
    330 extern call_t * ipc_wait_for_call(answerbox_t *, uint32_t, int);
    331 extern int ipc_forward(call_t *, phone_t *, answerbox_t *, int);
    332 extern void ipc_answer(answerbox_t *, call_t *);
    333 
    334323extern void ipc_phone_init(phone_t *);
    335324extern void ipc_phone_connect(phone_t *, answerbox_t *);
     325extern void ipc_call_free(call_t *);
     326extern call_t * ipc_call_alloc(int);
     327extern void ipc_answerbox_init(answerbox_t *, struct task *);
     328extern void ipc_call_static_init(call_t *);
     329extern void task_print_list(void);
     330extern int ipc_forward(call_t *, phone_t *, answerbox_t *, int);
     331extern void ipc_cleanup(void);
    336332extern int ipc_phone_hangup(phone_t *);
    337 
    338 extern void ipc_answerbox_init(answerbox_t *, struct task *);
    339 
    340 extern void ipc_cleanup(void);
    341333extern void ipc_backsend_err(phone_t *, call_t *, unative_t);
     334extern void ipc_print_task(task_id_t);
    342335extern void ipc_answerbox_slam_phones(answerbox_t *, bool);
    343336extern void ipc_cleanup_call_list(link_t *);
    344337
    345 extern void ipc_print_task(task_id_t);
     338extern answerbox_t *ipc_phone_0;
    346339
    347340#endif
Note: See TracChangeset for help on using the changeset viewer.