1 /* ccapi/server/win/WorkQueue.h */ 2 /* 3 * Copyright 2007 Massachusetts Institute of Technology. 4 * All Rights Reserved. 5 * 6 * Export of this software from the United States of America may 7 * require a specific license from the United States Government. 8 * It is the responsibility of any person or organization contemplating 9 * export to obtain such a license before exporting. 10 * 11 * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and 12 * distribute this software and its documentation for any purpose and 13 * without fee is hereby granted, provided that the above copyright 14 * notice appear in all copies and that both that copyright notice and 15 * this permission notice appear in supporting documentation, and that 16 * the name of M.I.T. not be used in advertising or publicity pertaining 17 * to distribution of the software without specific, written prior 18 * permission. Furthermore if you modify this software you must label 19 * your software as modified software and not distribute it in such a 20 * fashion that it might be confused with the original M.I.T. software. 21 * M.I.T. makes no representations about the suitability of 22 * this software for any purpose. It is provided "as is" without express 23 * or implied warranty. 24 */ 25 26 #ifndef _work_queue_h 27 #define _work_queue_h 28 29 #include "windows.h" 30 #include "ccs_pipe.h" 31 32 EXTERN_C int worklist_initialize(void); 33 34 EXTERN_C int worklist_cleanup(void); 35 36 /* Wait for work to be added to the list (via worklist_add) from another thread */ 37 EXTERN_C void worklist_wait(void); 38 39 EXTERN_C BOOL worklist_isEmpty(void); 40 41 EXTERN_C int worklist_add( const long rpcmsg, 42 const ccs_pipe_t pipe, 43 const k5_ipc_stream stream, 44 const time_t serverStartTime); 45 46 EXTERN_C int worklist_remove(long* rpcmsg, 47 ccs_pipe_t* pipe, 48 k5_ipc_stream* stream, 49 time_t* serverStartTime); 50 51 #endif // _work_queue_h 52