}
static inline session_handle_t
-session_make_handle (u32 session_index, u32 thread_index)
+session_make_handle (u32 session_index, u32 data)
{
- return (((u64) thread_index << 32) | (u64) session_index);
+ return (((u64) data << 32) | (u64) session_index);
+}
+
+always_inline u32
+session_handle_index (session_handle_t ho_handle)
+{
+ return (ho_handle & 0xffffffff);
+}
+
+always_inline u32
+session_handle_data (session_handle_t ho_handle)
+{
+ return (ho_handle >> 32);
}
typedef enum
_(REFUSED, "refused") \
_(TIMEDOUT, "timedout") \
_(ALLOC, "obj/memory allocation error") \
+ _(OWNER, "object not owned by application") \
_(NOROUTE, "no route") \
_(NOINTF, "no resolving interface") \
_(NOIP, "no ip for lcl interface") \
_(NOPORT, "no lcl port") \
_(NOSUPPORT, "not supported") \
+ _(NOLISTEN, "not listening") \
+ _(NOSESSION, "session does not exist") \
+ _(NOAPP, "app not attached") \
_(PORTINUSE, "lcl port in use") \
_(IPINUSE, "ip in use") \
_(ALREADY_LISTENING, "ip port pair already listened on") \
_(INVALID_RMT_IP, "invalid remote ip") \
+ _(INVALID_APPWRK, "invalid app worker") \
+ _(INVALID_NS, "invalid namespace") \
_(SEG_NO_SPACE, "Couldn't allocate a fifo pair") \
_(SEG_NO_SPACE2, "Created segment, couldn't allocate a fifo pair") \
_(SEG_CREATE, "Couldn't create a new segment") \