Lines Matching refs:rpc
173 mad_rpc(const void *port_id, ib_rpc_t *rpc, ib_portid_t *dport, void *payload,
183 if ((len = mad_build_pkt(sndbuf, rpc, dport, 0, payload)) < 0)
187 p->class_agents[rpc->mgtclass],
188 len, rpc->timeout)) < 0) {
202 IBWARN("data offs %d sz %d", rpc->dataoffs, rpc->datasz);
203 xdump(stderr, "mad data\n", mad + rpc->dataoffs, rpc->datasz);
207 memcpy(rcvdata, mad + rpc->dataoffs, rpc->datasz);
213 mad_rpc_rmpp(const void *port_id, ib_rpc_t *rpc, ib_portid_t *dport,
224 if ((len = mad_build_pkt(sndbuf, rpc, dport, rmpp, data)) < 0)
228 p->class_agents[rpc->mgtclass],
229 len, rpc->timeout)) < 0) {
243 IBWARN("data offs %d sz %d", rpc->dataoffs, rpc->datasz);
244 xdump(stderr, "rmpp mad data\n", mad + rpc->dataoffs,
245 rpc->datasz);
263 memcpy(data, mad + rpc->dataoffs, rpc->datasz);
265 rpc->recsz = mad_get_field(mad, 0, IB_SA_ATTROFFS_F);
271 madrpc(ib_rpc_t *rpc, ib_portid_t *dport, void *payload, void *rcvdata)
276 port.class_agents[rpc->mgtclass] = mad_class_agent(rpc->mgtclass);
277 return mad_rpc(&port, rpc, dport, payload, rcvdata);
281 madrpc_rmpp(ib_rpc_t *rpc, ib_portid_t *dport, ib_rmpp_hdr_t *rmpp, void *data)
286 port.class_agents[rpc->mgtclass] = mad_class_agent(rpc->mgtclass);
287 return mad_rpc_rmpp(&port, rpc, dport, rmpp, data);