00001 /* Gearman server and library 00002 * Copyright (C) 2008 Brian Aker, Eric Day 00003 * All rights reserved. 00004 * 00005 * Use and distribution licensed under the BSD license. See 00006 * the COPYING file in the parent directory for full text. 00007 */ 00008 00014 #ifndef __GEARMAN_SERVER_THREAD_H__ 00015 #define __GEARMAN_SERVER_THREAD_H__ 00016 00017 #ifdef __cplusplus 00018 extern "C" { 00019 #endif 00020 00036 GEARMAN_API 00037 gearman_server_thread_st * 00038 gearman_server_thread_create(gearman_server_st *server, 00039 gearman_server_thread_st *thread); 00040 00046 GEARMAN_API 00047 void gearman_server_thread_free(gearman_server_thread_st *thread); 00048 00055 GEARMAN_API 00056 const char *gearman_server_thread_error(gearman_server_thread_st *thread); 00057 00064 GEARMAN_API 00065 int gearman_server_thread_errno(gearman_server_thread_st *thread); 00066 00074 GEARMAN_API 00075 void gearman_server_thread_set_event_watch(gearman_server_thread_st *thread, 00076 gearman_event_watch_fn *event_watch, 00077 void *event_watch_arg); 00078 00087 GEARMAN_API 00088 void gearman_server_thread_set_log_fn(gearman_server_thread_st *thread, 00089 gearman_log_fn *function, 00090 const void *context, 00091 gearman_verbose_t verbose); 00092 00100 GEARMAN_API 00101 void gearman_server_thread_set_run(gearman_server_thread_st *thread, 00102 gearman_server_thread_run_fn *run_fn, 00103 void *run_arg); 00104 00112 GEARMAN_API 00113 gearman_server_con_st * 00114 gearman_server_thread_run(gearman_server_thread_st *thread, 00115 gearman_return_t *ret_ptr); 00116 00119 #ifdef __cplusplus 00120 } 00121 #endif 00122 00123 #endif /* __GEARMAN_SERVER_THREAD_H__ */