work_queue_internal.h

00001 /*
00002 Copyright (C) 2008- The University of Notre Dame
00003 This software is distributed under the GNU General Public License.
00004 See the file COPYING for details.
00005 */
00006 
00007 #include "work_queue.h"
00008 #include "work_queue_resources.h"
00009 
00010 #include "list.h"
00011 
00012 struct work_queue_file {
00013         int type;               // WORK_QUEUE_FILE, WORK_QUEUE_BUFFER, WORK_QUEUE_REMOTECMD, WORK_QUEUE_FILE_PIECE
00014         int flags;              // WORK_QUEUE_CACHE or others in the future.
00015         int length;             // length of payload
00016         off_t offset;           // file offset for WORK_QUEUE_FILE_PIECE
00017         off_t piece_length;     // file piece length for WORK_QUEUE_FILE_PIECE
00018         void *payload;          // name on master machine or buffer of data.
00019         char *remote_name;      // name on remote machine.
00020 };
00021 
00022 enum wq_file_types {
00023         WORK_QUEUE_FILE = 1,
00024         WORK_QUEUE_BUFFER,
00025         WORK_QUEUE_REMOTECMD,
00026         WORK_QUEUE_FILE_PIECE,
00027         WORK_QUEUE_DIRECTORY
00028 };
00029 
00030 
00031 struct work_queue_task *work_queue_wait_internal(struct work_queue *q, int timeout, struct link *master_link, int *master_active);
00032 
00033 void work_queue_get_resources( struct work_queue *q, struct work_queue_resources *r );
00034 
00040 void work_queue_enable_process_module(struct work_queue *q);
00041 
00042 

Generated on 31 Jul 2013 for cctools by  doxygen 1.4.7