home *** CD-ROM | disk | FTP | other *** search
/ ftp.parl.clemson.edu / 2015-02-07.ftp.parl.clemson.edu.tar / ftp.parl.clemson.edu / pub / pvfs2 / orangefs-2.8.3-20110323.tar.gz / orangefs-2.8.3-20110323.tar / orangefs / src / io / job / thread-mgr.h < prev    next >
C/C++ Source or Header  |  2004-07-28  |  2KB  |  67 lines

  1. /*
  2.  * (C) 2001 Clemson University and The University of Chicago
  3.  *
  4.  * See COPYING in top-level directory.
  5.  */
  6.  
  7. #ifndef __THREAD_MGR_H
  8. #define __THREAD_MGR_H
  9.  
  10. #include "pvfs2-types.h"
  11. #include "bmi.h"
  12. #include "pint-dev.h"
  13.  
  14. /* bmi thread */
  15.  
  16. struct PINT_thread_mgr_bmi_callback
  17. {
  18.     void (*fn)(void* data, PVFS_size actual_size, PVFS_error error_code);
  19.     void* data;
  20. };
  21.  
  22. int PINT_thread_mgr_bmi_cancel(PVFS_id_gen_t id, void* user_ptr);
  23. int PINT_thread_mgr_bmi_start(void);
  24. int PINT_thread_mgr_bmi_stop(void);
  25. int PINT_thread_mgr_bmi_getcontext(PVFS_context_id *context);
  26. int PINT_thread_mgr_bmi_unexp_handler(
  27.     void (*fn)(struct BMI_unexpected_info* unexp));
  28.  
  29. /* trove thread */
  30.  
  31. struct PINT_thread_mgr_trove_callback
  32. {
  33.     void (*fn)(void* data, PVFS_error error_code);
  34.     void* data;
  35. };
  36.  
  37. int PINT_thread_mgr_trove_start(void);
  38. int PINT_thread_mgr_trove_stop(void);
  39. int PINT_thread_mgr_trove_getcontext(PVFS_context_id *context);
  40. int PINT_thread_mgr_trove_cancel(PVFS_id_gen_t id,
  41.                  PVFS_fs_id fs_id, 
  42.                  void* user_ptr);
  43.  
  44. /* dev thread */
  45.  
  46. int PINT_thread_mgr_dev_start(void);
  47. int PINT_thread_mgr_dev_stop(void);
  48. int PINT_thread_mgr_dev_unexp_handler(
  49.     void (*fn)(struct PINT_dev_unexp_info* unexp));
  50.  
  51.  
  52. /* hooks to drive progress without threads */
  53. void PINT_thread_mgr_trove_push(int max_idle_time);
  54. void PINT_thread_mgr_bmi_push(int max_idle_time);
  55. void PINT_thread_mgr_dev_push(int max_idle_time);
  56.  
  57. #endif /* __THREAD_MGR_H */
  58.  
  59. /*
  60.  * Local variables:
  61.  *  c-indent-level: 4
  62.  *  c-basic-offset: 4
  63.  * End:
  64.  *
  65.  * vim: ts=8 sts=4 sw=4 expandtab
  66.  */
  67.