ib_mcast.h
Go to the documentation of this file.00001 #ifndef _GPXE_IB_MCAST_H
00002 #define _GPXE_IB_MCAST_H
00003
00004
00005
00006
00007
00008
00009
00010 FILE_LICENCE ( GPL2_OR_LATER );
00011
00012 #include <gpxe/infiniband.h>
00013
00014 struct ib_mad_transaction;
00015
00016
00017 struct ib_mc_membership {
00018
00019 struct ib_queue_pair *qp;
00020
00021 struct ib_gid gid;
00022
00023 struct ib_mad_transaction *madx;
00024
00025
00026
00027
00028
00029
00030
00031
00032 void ( * complete ) ( struct ib_device *ibdev, struct ib_queue_pair *qp,
00033 struct ib_mc_membership *membership, int rc,
00034 union ib_mad *mad );
00035 };
00036
00037 extern int ib_mcast_join ( struct ib_device *ibdev, struct ib_queue_pair *qp,
00038 struct ib_mc_membership *membership,
00039 struct ib_gid *gid,
00040 void ( * joined ) ( struct ib_device *ibdev,
00041 struct ib_queue_pair *qp,
00042 struct ib_mc_membership *memb,
00043 int rc, union ib_mad *mad ) );
00044
00045 extern void ib_mcast_leave ( struct ib_device *ibdev, struct ib_queue_pair *qp,
00046 struct ib_mc_membership *membership );
00047
00048 #endif