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 / flow / flow-ref.h < prev    next >
C/C++ Source or Header  |  2004-07-28  |  1KB  |  50 lines

  1. /*
  2.  * (C) 2001 Clemson University and The University of Chicago
  3.  *
  4.  * See COPYING in top-level directory.
  5.  */
  6.  
  7. /* This header contains contains the interface for keeping up with
  8.  * flow references (which handle mapping incoming flows to the correct
  9.  * protocol)
  10.  */
  11.  
  12. #ifndef __FLOW_REF_H
  13. #define __FLOW_REF_H
  14.  
  15. #include "quicklist.h"
  16. #include "flow.h"
  17.  
  18. /* struct used to map pairs of endpoints to particular flow protocols */
  19. struct flow_ref_entry
  20. {
  21.     enum flow_endpoint_type src_endpoint;
  22.     enum flow_endpoint_type dest_endpoint;
  23.     int flowproto_id;
  24.     struct qlist_head flow_ref_link;
  25. };
  26.  
  27. typedef struct qlist_head *flow_ref_p;
  28.  
  29. flow_ref_p flow_ref_new(void);
  30. int flow_ref_add(flow_ref_p frp,
  31.          enum flow_endpoint_type src_endpoint,
  32.          enum flow_endpoint_type dest_endpoint,
  33.          int flowproto_id);
  34. struct flow_ref_entry *flow_ref_search(flow_ref_p frp,
  35.                        enum flow_endpoint_type src_endpoint,
  36.                        enum flow_endpoint_type dest_endpoint);
  37. void flow_ref_remove(struct flow_ref_entry *entry);
  38. void flow_ref_cleanup(flow_ref_p frp);
  39.  
  40. #endif /* __FLOW_REF_H */
  41.  
  42. /*
  43.  * Local variables:
  44.  *  c-indent-level: 4
  45.  *  c-basic-offset: 4
  46.  * End:
  47.  *
  48.  * vim: ts=8 sts=4 sw=4 expandtab
  49.  */
  50.