4fbe68dd86
This commit was SVN r24855.
82 строки
2.0 KiB
C
82 строки
2.0 KiB
C
/*
|
|
* Copyright (c) 2008 Cisco Systems, Inc. All rights reserved.
|
|
* Copyright (c) 2009 Sandia National Laboratories. All rights reserved.
|
|
*
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
|
|
#ifndef OMPI_BTL_OPENIB_FD_H_
|
|
#define OMPI_BTL_OPENIB_FD_H_
|
|
|
|
#include "ompi_config.h"
|
|
|
|
BEGIN_C_DECLS
|
|
|
|
/**
|
|
* Typedef for fd callback function
|
|
*/
|
|
typedef void *(ompi_btl_openib_fd_event_callback_fn_t)(int fd, int flags,
|
|
void *context);
|
|
|
|
/**
|
|
* Typedef for generic callback function
|
|
*/
|
|
typedef void *(ompi_btl_openib_fd_main_callback_fn_t)(void *context);
|
|
|
|
/**
|
|
* Initialize fd monitoring.
|
|
* Called by the main thread.
|
|
*/
|
|
int ompi_btl_openib_fd_init(void);
|
|
|
|
/**
|
|
* Start monitoring an fd.
|
|
* Called by main or service thread; callback will be in service thread.
|
|
*/
|
|
int ompi_btl_openib_fd_monitor(int fd, int flags,
|
|
ompi_btl_openib_fd_event_callback_fn_t *callback,
|
|
void *context);
|
|
|
|
/**
|
|
* Stop monitoring an fd.
|
|
* Called by main or service thread; callback will be in service thread.
|
|
*/
|
|
int ompi_btl_openib_fd_unmonitor(int fd,
|
|
ompi_btl_openib_fd_event_callback_fn_t *callback,
|
|
void *context);
|
|
|
|
/**
|
|
* Run a function in the service thread.
|
|
* Called by the main thread.
|
|
*/
|
|
int ompi_btl_openib_fd_run_in_service(ompi_btl_openib_fd_main_callback_fn_t callback,
|
|
void *context);
|
|
|
|
/**
|
|
* Run a function in the main thread.
|
|
* Called by the service thread.
|
|
*/
|
|
int ompi_btl_openib_fd_run_in_main(ompi_btl_openib_fd_main_callback_fn_t callback,
|
|
void *context);
|
|
|
|
/**
|
|
* Drain all pending messages from the main thread's pipe.
|
|
* Likely only useful during finalize, when the event library
|
|
* won't fire callbacks.
|
|
*/
|
|
int ompi_btl_openib_fd_main_thread_drain(void);
|
|
|
|
/**
|
|
* Finalize fd monitoring.
|
|
* Called by the main thread.
|
|
*/
|
|
int ompi_btl_openib_fd_finalize(void);
|
|
|
|
END_C_DECLS
|
|
|
|
#endif
|