+ return (const void*)(1+(intptr_t)(context->api_key));
+}
+
+static inline void *loa2ptr(unsigned loa)
+{
+ return (void*)(intptr_t)loa;
+}
+
+static inline unsigned ptr2loa(void *ptr)
+{
+ return (unsigned)(intptr_t)ptr;
+}
+
+int afb_context_change_loa(struct afb_context *context, unsigned loa)
+{
+ if (!context->validated || loa > 7) {
+ errno = EINVAL;
+ return -1;
+ }
+
+ return afb_session_set_cookie(context->session, loa_key(context), loa2ptr(loa), NULL);
+}
+
+unsigned afb_context_get_loa(struct afb_context *context)
+{
+ assert(context->session != NULL);
+ return ptr2loa(afb_session_get_cookie(context->session, loa_key(context)));