eprintf("%d %d %d %d %llu %llu %s\n", nlh->nlmsg_len,
eprintf("%d %d %d %d %" PRIx64 " %" PRIx64 " %s\n", nlh->nlmsg_len,
int ipc_mgmt(char *sbuf, char *rbuf){	struct nlmsghdr *nlh = (struct nlmsghdr *) sbuf;	struct tgtadm_req *req;	struct tgtadm_res *res;	int err = -EINVAL, rlen = 0;	char *params;	req = NLMSG_DATA(nlh);	params = (char *) req + sizeof(*req);	eprintf("%d %d %d %d %llu %llu %s\n", nlh->nlmsg_len,		req->set, req->op, req->tid, req->sid, req->lun, params);	if (req->set & SET_USER)		err = user_mgmt(req, params, rbuf, &rlen);	else if (req->set & SET_DEVICE)		err = device_mgmt(req, params, rbuf, &rlen);	else if (req->set & SET_CONNECTION)		err = conn_mgmt(req, params, rbuf, &rlen);	else if (req->set & SET_SESSION)		err = session_mgmt(req, params, rbuf, &rlen);	else if (req->set & SET_TARGET)		err = target_mgmt(req, params, rbuf, &rlen);	else if (!req->set)		err = system_mgmt(req, params, rbuf, &rlen);	nlh = (struct nlmsghdr *) rbuf;	nlh->nlmsg_len = NLMSG_LENGTH(rlen);	res = NLMSG_DATA(nlh);	res->err = err;	return err;}