struct rsocket *rs;
int ret;
- rs = idm_at(&idm, socket);
+ rs = idm_lookup(&idm, socket);
+ if (!rs)
+ return ERR(EBADF);
if (rs->type == SOCK_STREAM) {
ret = rdma_bind_addr(rs->cm_id, (struct sockaddr *) addr);
if (!ret)
struct rsocket *rs;
int ret;
- rs = idm_at(&idm, socket);
+ rs = idm_lookup(&idm, socket);
+ if (!rs)
+ return ERR(EBADF);
ret = rdma_listen(rs->cm_id, backlog);
if (!ret)
rs->state = rs_listening;
struct rs_conn_data *creq, cresp;
int ret;
- rs = idm_at(&idm, socket);
+ rs = idm_lookup(&idm, socket);
+ if (!rs)
+ return ERR(EBADF);
new_rs = rs_alloc(rs, rs->type);
if (!new_rs)
return ERR(ENOMEM);
struct rsocket *rs;
int ret;
- rs = idm_at(&idm, socket);
+ rs = idm_lookup(&idm, socket);
+ if (!rs)
+ return ERR(EBADF);
if (rs->type == SOCK_STREAM) {
memcpy(&rs->cm_id->route.addr.dst_addr, addr, addrlen);
ret = rs_do_connect(rs);
struct rsocket *rs;
int ctrl, ret = 0;
- rs = idm_at(&idm, socket);
+ rs = idm_lookup(&idm, socket);
+ if (!rs)
+ return ERR(EBADF);
if (rs->opts & RS_OPT_SVC_ACTIVE)
rs_notify_svc(&tcp_svc, rs, RS_SVC_REM_KEEPALIVE);
{
struct rsocket *rs;
- rs = idm_at(&idm, socket);
+ rs = idm_lookup(&idm, socket);
+ if (!rs)
+ return EBADF;
if (rs->type == SOCK_STREAM) {
if (rs->state & rs_connected)
rshutdown(socket, SHUT_RDWR);
{
struct rsocket *rs;
- rs = idm_at(&idm, socket);
+ rs = idm_lookup(&idm, socket);
+ if (!rs)
+ return ERR(EBADF);
if (rs->type == SOCK_STREAM) {
rs_copy_addr(addr, rdma_get_peer_addr(rs->cm_id), addrlen);
return 0;
{
struct rsocket *rs;
- rs = idm_at(&idm, socket);
+ rs = idm_lookup(&idm, socket);
+ if (!rs)
+ return ERR(EBADF);
if (rs->type == SOCK_STREAM) {
rs_copy_addr(addr, rdma_get_local_addr(rs->cm_id), addrlen);
return 0;
uint64_t *opts = NULL;
ret = ERR(ENOTSUP);
- rs = idm_at(&idm, socket);
+ rs = idm_lookup(&idm, socket);
+ if (!rs)
+ return ERR(EBADF);
if (rs->type == SOCK_DGRAM && level != SOL_RDMA) {
ret = setsockopt(rs->udp_sock, level, optname, optval, optlen);
if (ret)
struct rsocket *rs;
int ret = 0;
- rs = idm_at(&idm, socket);
+ rs = idm_lookup(&idm, socket);
+ if (!rs)
+ return ERR(EBADF);
switch (level) {
case SOL_SOCKET:
switch (optname) {
long param;
int ret = 0;
- rs = idm_at(&idm, socket);
+ rs = idm_lookup(&idm, socket);
+ if (!rs)
+ return ERR(EBADF);
va_start(args, cmd);
switch (cmd) {
case F_GETFL: