31#ifndef EVENT_MACHINE_ERROR_H_
32#define EVENT_MACHINE_ERROR_H_
34#pragma GCC visibility push(default)
68#define EM_ERROR_FATAL_MASK 0x80000000
73#define EM_ERROR_IS_FATAL(error) (!!(EM_ERROR_FATAL_MASK & (error)))
78#define EM_ERROR_SET_FATAL(error) (EM_ERROR_FATAL_MASK | (error))
83#define EM_FATAL(error) EM_ERROR_SET_FATAL((error))
97#define PRI_STAT PRIu32
98#define PRIxSTAT PRIx32
112#define EM_ERROR 0xffffffff
185#define PRI_ESCOPE PRIu32
186#define PRIxESCOPE PRIx32
285 __attribute__((format(printf, 2, 3)));
301#define EM_ESCOPE_BIT (0x80000000u)
306#define EM_ESCOPE_API_TYPE (0xFFu)
310#define EM_ESCOPE_ADDON_API_TYPE (0xFEu)
314#define EM_ESCOPE_INTERNAL_TYPE (0xFCu)
319#define EM_ESCOPE_MASK (0xFF000000)
323#define EM_ESCOPE_API_MASK (EM_ESCOPE_BIT | (EM_ESCOPE_API_TYPE << 24))
327#define EM_ESCOPE_ADDON_API_MASK (EM_ESCOPE_BIT | (EM_ESCOPE_ADDON_API_TYPE << 24))
331#define EM_ESCOPE_INTERNAL_MASK (EM_ESCOPE_BIT | (EM_ESCOPE_INTERNAL_TYPE << 24))
336#define EM_ESCOPE(escope) (EM_ESCOPE_BIT & (escope))
340#define EM_ESCOPE_API(escope) (((escope) & EM_ESCOPE_MASK) == EM_ESCOPE_API_MASK)
344#define EM_ESCOPE_ADDON_API(escope) (((escope) & EM_ESCOPE_MASK) == EM_ESCOPE_ADDON_API_MASK)
348#define EM_ESCOPE_INTERNAL(escope) (((escope) & EM_ESCOPE_MASK) == EM_ESCOPE_INTERNAL_MASK)
353#define EM_ESCOPE_API_FIRST (EM_ESCOPE_API_MASK | 0x0000)
356#define EM_ESCOPE_ATOMIC_GROUP_CREATE (EM_ESCOPE_API_MASK | 0x0001)
357#define EM_ESCOPE_ATOMIC_GROUP_DELETE (EM_ESCOPE_API_MASK | 0x0002)
358#define EM_ESCOPE_ATOMIC_GROUP_FIND (EM_ESCOPE_API_MASK | 0x0003)
359#define EM_ESCOPE_ATOMIC_GROUP_FIRST (EM_ESCOPE_API_MASK | 0x0004)
360#define EM_ESCOPE_ATOMIC_GROUP_NAME (EM_ESCOPE_API_MASK | 0x0005)
361#define EM_ESCOPE_ATOMIC_GROUP_NEXT (EM_ESCOPE_API_MASK | 0x0006)
362#define EM_ESCOPE_ATOMIC_GROUP_QUEUE_FIRST (EM_ESCOPE_API_MASK | 0x0007)
363#define EM_ESCOPE_ATOMIC_GROUP_QUEUE_NEXT (EM_ESCOPE_API_MASK | 0x0008)
364#define EM_ESCOPE_QUEUE_CREATE_AG (EM_ESCOPE_API_MASK | 0x0009)
365#define EM_ESCOPE_QUEUE_CREATE_STATIC_AG (EM_ESCOPE_API_MASK | 0x000A)
367#define EM_ESCOPE_ATOMIC_GROUP_GET_FIRST EM_ESCOPE_ATOMIC_GROUP_FIRST
368#define EM_ESCOPE_ATOMIC_GROUP_GET_NAME EM_ESCOPE_ATOMIC_GROUP_NAME
369#define EM_ESCOPE_ATOMIC_GROUP_GET_NEXT EM_ESCOPE_ATOMIC_GROUP_NEXT
370#define EM_ESCOPE_ATOMIC_GROUP_QUEUE_GET_FIRST EM_ESCOPE_ATOMIC_GROUP_QUEUE_FIRST
371#define EM_ESCOPE_ATOMIC_GROUP_QUEUE_GET_NEXT EM_ESCOPE_ATOMIC_GROUP_QUEUE_NEXT
374#define EM_ESCOPE_CORE_COUNT (EM_ESCOPE_API_MASK | 0x000B)
375#define EM_ESCOPE_CORE_ID (EM_ESCOPE_API_MASK | 0x000C)
378#define EM_ESCOPE_DISPATCH (EM_ESCOPE_API_MASK | 0x000D)
379#define EM_ESCOPE_DISPATCH_DURATION (EM_ESCOPE_API_MASK | 0x000E)
380#define EM_ESCOPE_DISPATCH_EVENTS (EM_ESCOPE_API_MASK | 0x000F)
381#define EM_ESCOPE_DISPATCH_NS (EM_ESCOPE_API_MASK | 0x0010)
382#define EM_ESCOPE_DISPATCH_OPT_INIT (EM_ESCOPE_API_MASK | 0x0011)
383#define EM_ESCOPE_DISPATCH_REGISTER_ENTER_CB (EM_ESCOPE_API_MASK | 0x0012)
384#define EM_ESCOPE_DISPATCH_REGISTER_EXIT_CB (EM_ESCOPE_API_MASK | 0x0013)
385#define EM_ESCOPE_DISPATCH_ROUNDS (EM_ESCOPE_API_MASK | 0x0014)
386#define EM_ESCOPE_DISPATCH_UNREGISTER_ENTER_CB (EM_ESCOPE_API_MASK | 0x0015)
387#define EM_ESCOPE_DISPATCH_UNREGISTER_EXIT_CB (EM_ESCOPE_API_MASK | 0x0016)
390#define EM_ESCOPE_EO_ADD_QUEUE (EM_ESCOPE_API_MASK | 0x0017)
391#define EM_ESCOPE_EO_ADD_QUEUE_SYNC (EM_ESCOPE_API_MASK | 0x0018)
392#define EM_ESCOPE_EO_CONTEXT (EM_ESCOPE_API_MASK | 0x0019)
393#define EM_ESCOPE_EO_CREATE (EM_ESCOPE_API_MASK | 0x001A)
394#define EM_ESCOPE_EO_CREATE_MULTIRCV (EM_ESCOPE_API_MASK | 0x001B)
395#define EM_ESCOPE_EO_CREATE_PARAM (EM_ESCOPE_API_MASK | 0x001C)
396#define EM_ESCOPE_EO_CURRENT (EM_ESCOPE_API_MASK | 0x001D)
397#define EM_ESCOPE_EO_DELETE (EM_ESCOPE_API_MASK | 0x001E)
398#define EM_ESCOPE_EO_FIND (EM_ESCOPE_API_MASK | 0x001F)
399#define EM_ESCOPE_EO_FIRST (EM_ESCOPE_API_MASK | 0x0020)
400#define EM_ESCOPE_EO_MULTIRCV_PARAM_INIT (EM_ESCOPE_API_MASK | 0x0021)
401#define EM_ESCOPE_EO_NAME (EM_ESCOPE_API_MASK | 0x0022)
402#define EM_ESCOPE_EO_NEXT (EM_ESCOPE_API_MASK | 0x0023)
403#define EM_ESCOPE_EO_PARAM_INIT (EM_ESCOPE_API_MASK | 0x0024)
404#define EM_ESCOPE_EO_QUEUE_FIRST (EM_ESCOPE_API_MASK | 0x0025)
405#define EM_ESCOPE_EO_QUEUE_NEXT (EM_ESCOPE_API_MASK | 0x0026)
406#define EM_ESCOPE_EO_REGISTER_ERROR_HANDLER (EM_ESCOPE_API_MASK | 0x0027)
407#define EM_ESCOPE_EO_REMOVE_QUEUE (EM_ESCOPE_API_MASK | 0x0028)
408#define EM_ESCOPE_EO_REMOVE_QUEUE_ALL (EM_ESCOPE_API_MASK | 0x0029)
409#define EM_ESCOPE_EO_REMOVE_QUEUE_ALL_SYNC (EM_ESCOPE_API_MASK | 0x002A)
410#define EM_ESCOPE_EO_REMOVE_QUEUE_SYNC (EM_ESCOPE_API_MASK | 0x002B)
411#define EM_ESCOPE_EO_START (EM_ESCOPE_API_MASK | 0x002C)
412#define EM_ESCOPE_EO_START_SYNC (EM_ESCOPE_API_MASK | 0x002D)
413#define EM_ESCOPE_EO_STATE (EM_ESCOPE_API_MASK | 0x002E)
414#define EM_ESCOPE_EO_STOP (EM_ESCOPE_API_MASK | 0x002F)
415#define EM_ESCOPE_EO_STOP_SYNC (EM_ESCOPE_API_MASK | 0x0030)
416#define EM_ESCOPE_EO_UNREGISTER_ERROR_HANDLER (EM_ESCOPE_API_MASK | 0x0031)
418#define EM_ESCOPE_EO_GET_CONTEXT EM_ESCOPE_EO_CONTEXT
419#define EM_ESCOPE_EO_GET_FIRST EM_ESCOPE_EO_FIRST
420#define EM_ESCOPE_EO_GET_NAME EM_ESCOPE_EO_NAME
421#define EM_ESCOPE_EO_GET_NEXT EM_ESCOPE_EO_NEXT
422#define EM_ESCOPE_EO_GET_STATE EM_ESCOPE_EO_STATE
423#define EM_ESCOPE_EO_QUEUE_GET_FIRST EM_ESCOPE_EO_QUEUE_FIRST
424#define EM_ESCOPE_EO_QUEUE_GET_NEXT EM_ESCOPE_EO_QUEUE_NEXT
427#define EM_ESCOPE_ERROR (EM_ESCOPE_API_MASK | 0x0032)
428#define EM_ESCOPE_REGISTER_ERROR_HANDLER (EM_ESCOPE_API_MASK | 0x0033)
429#define EM_ESCOPE_UNREGISTER_ERROR_HANDLER (EM_ESCOPE_API_MASK | 0x0034)
432#define EM_ESCOPE_EVENT_GROUP_ABORT (EM_ESCOPE_API_MASK | 0x0035)
433#define EM_ESCOPE_EVENT_GROUP_APPLY (EM_ESCOPE_API_MASK | 0x0036)
434#define EM_ESCOPE_EVENT_GROUP_ASSIGN (EM_ESCOPE_API_MASK | 0x0037)
435#define EM_ESCOPE_EVENT_GROUP_CREATE (EM_ESCOPE_API_MASK | 0x0038)
436#define EM_ESCOPE_EVENT_GROUP_CURRENT (EM_ESCOPE_API_MASK | 0x0039)
437#define EM_ESCOPE_EVENT_GROUP_DELETE (EM_ESCOPE_API_MASK | 0x003A)
438#define EM_ESCOPE_EVENT_GROUP_FIRST (EM_ESCOPE_API_MASK | 0x003B)
439#define EM_ESCOPE_EVENT_GROUP_INCREMENT (EM_ESCOPE_API_MASK | 0x003C)
440#define EM_ESCOPE_EVENT_GROUP_IS_READY (EM_ESCOPE_API_MASK | 0x003D)
441#define EM_ESCOPE_EVENT_GROUP_NEXT (EM_ESCOPE_API_MASK | 0x003E)
442#define EM_ESCOPE_EVENT_GROUP_NOTIF (EM_ESCOPE_API_MASK | 0x003F)
443#define EM_ESCOPE_EVENT_GROUP_PROCESSING_END (EM_ESCOPE_API_MASK | 0x0040)
444#define EM_ESCOPE_SEND_GROUP (EM_ESCOPE_API_MASK | 0x0041)
445#define EM_ESCOPE_SEND_GROUP_MULTI (EM_ESCOPE_API_MASK | 0x0042)
447#define EM_ESCOPE_EVENT_GROUP_GET_FIRST EM_ESCOPE_EVENT_GROUP_FIRST
448#define EM_ESCOPE_EVENT_GROUP_GET_NEXT EM_ESCOPE_EVENT_GROUP_NEXT
449#define EM_ESCOPE_EVENT_GROUP_GET_NOTIF EM_ESCOPE_EVENT_GROUP_NOTIF
452#define EM_ESCOPE_ALLOC (EM_ESCOPE_API_MASK | 0x0043)
453#define EM_ESCOPE_ALLOC_MULTI (EM_ESCOPE_API_MASK | 0x0044)
454#define EM_ESCOPE_EVENT_CLONE (EM_ESCOPE_API_MASK | 0x0045)
455#define EM_ESCOPE_EVENT_CLONE_PART (EM_ESCOPE_API_MASK | 0x0046)
456#define EM_ESCOPE_EVENT_HAS_REF (EM_ESCOPE_API_MASK | 0x0047)
457#define EM_ESCOPE_EVENT_MARK_FREE (EM_ESCOPE_API_MASK | 0x0048)
458#define EM_ESCOPE_EVENT_MARK_FREE_MULTI (EM_ESCOPE_API_MASK | 0x0049)
459#define EM_ESCOPE_EVENT_MARK_SEND (EM_ESCOPE_API_MASK | 0x004A)
460#define EM_ESCOPE_EVENT_POINTER (EM_ESCOPE_API_MASK | 0x004B)
461#define EM_ESCOPE_EVENT_POINTER_AND_SIZE (EM_ESCOPE_API_MASK | 0x004C)
462#define EM_ESCOPE_EVENT_POOL (EM_ESCOPE_API_MASK | 0x004D)
463#define EM_ESCOPE_EVENT_POOL_SUBPOOL (EM_ESCOPE_API_MASK | 0x004E)
464#define EM_ESCOPE_EVENT_REF (EM_ESCOPE_API_MASK | 0x004F)
465#define EM_ESCOPE_EVENT_SAME_TYPE_MULTI (EM_ESCOPE_API_MASK | 0x0050)
466#define EM_ESCOPE_EVENT_SET_TYPE (EM_ESCOPE_API_MASK | 0x0051)
467#define EM_ESCOPE_EVENT_SIZE (EM_ESCOPE_API_MASK | 0x0052)
468#define EM_ESCOPE_EVENT_TYPE (EM_ESCOPE_API_MASK | 0x0053)
469#define EM_ESCOPE_EVENT_TYPE_MULTI (EM_ESCOPE_API_MASK | 0x0054)
470#define EM_ESCOPE_EVENT_UAREA (EM_ESCOPE_API_MASK | 0x0055)
471#define EM_ESCOPE_EVENT_UAREA_ID (EM_ESCOPE_API_MASK | 0x0056)
472#define EM_ESCOPE_EVENT_UAREA_ID_SET (EM_ESCOPE_API_MASK | 0x0057)
473#define EM_ESCOPE_EVENT_UAREA_INFO (EM_ESCOPE_API_MASK | 0x0058)
474#define EM_ESCOPE_EVENT_UNMARK_FREE (EM_ESCOPE_API_MASK | 0x0059)
475#define EM_ESCOPE_EVENT_UNMARK_FREE_MULTI (EM_ESCOPE_API_MASK | 0x005A)
476#define EM_ESCOPE_EVENT_UNMARK_SEND (EM_ESCOPE_API_MASK | 0x005B)
477#define EM_ESCOPE_EVENT_VECTOR_FREE (EM_ESCOPE_API_MASK | 0x005C)
478#define EM_ESCOPE_EVENT_VECTOR_INFO (EM_ESCOPE_API_MASK | 0x005D)
479#define EM_ESCOPE_EVENT_VECTOR_MAX_SIZE (EM_ESCOPE_API_MASK | 0x005E)
480#define EM_ESCOPE_EVENT_VECTOR_SIZE (EM_ESCOPE_API_MASK | 0x005F)
481#define EM_ESCOPE_EVENT_VECTOR_SIZE_SET (EM_ESCOPE_API_MASK | 0x0060)
482#define EM_ESCOPE_EVENT_VECTOR_TBL (EM_ESCOPE_API_MASK | 0x0061)
483#define EM_ESCOPE_EVENT_VECTOR_TYPE (EM_ESCOPE_API_MASK | 0x0062)
484#define EM_ESCOPE_EVENT_VECTOR_TYPE_SET (EM_ESCOPE_API_MASK | 0x0063)
485#define EM_ESCOPE_FREE (EM_ESCOPE_API_MASK | 0x0064)
486#define EM_ESCOPE_FREE_MULTI (EM_ESCOPE_API_MASK | 0x0065)
487#define EM_ESCOPE_SEND (EM_ESCOPE_API_MASK | 0x0066)
488#define EM_ESCOPE_SEND_MULTI (EM_ESCOPE_API_MASK | 0x0067)
490#define EM_ESCOPE_EVENT_GET_POOL EM_ESCOPE_EVENT_POOL
491#define EM_ESCOPE_EVENT_GET_POOL_SUBPOOL EM_ESCOPE_EVENT_POOL_SUBPOOL
492#define EM_ESCOPE_EVENT_GET_SIZE EM_ESCOPE_EVENT_SIZE
493#define EM_ESCOPE_EVENT_GET_TYPE EM_ESCOPE_EVENT_TYPE
494#define EM_ESCOPE_EVENT_GET_TYPE_MULTI EM_ESCOPE_EVENT_TYPE_MULTI
495#define EM_ESCOPE_EVENT_UAREA_GET EM_ESCOPE_EVENT_UAREA
496#define EM_ESCOPE_EVENT_UAREA_ID_GET EM_ESCOPE_EVENT_UAREA_ID
499#define EM_ESCOPE_PACKET_HEADROOM (EM_ESCOPE_API_MASK | 0x0068)
500#define EM_ESCOPE_PACKET_POINTER (EM_ESCOPE_API_MASK | 0x0069)
501#define EM_ESCOPE_PACKET_POINTER_AND_SIZE (EM_ESCOPE_API_MASK | 0x006A)
502#define EM_ESCOPE_PACKET_PULL_HEAD (EM_ESCOPE_API_MASK | 0x006B)
503#define EM_ESCOPE_PACKET_PULL_TAIL (EM_ESCOPE_API_MASK | 0x006C)
504#define EM_ESCOPE_PACKET_PUSH_HEAD (EM_ESCOPE_API_MASK | 0x006D)
505#define EM_ESCOPE_PACKET_PUSH_TAIL (EM_ESCOPE_API_MASK | 0x006E)
506#define EM_ESCOPE_PACKET_RESET (EM_ESCOPE_API_MASK | 0x006F)
507#define EM_ESCOPE_PACKET_RESIZE (EM_ESCOPE_API_MASK | 0x0070)
508#define EM_ESCOPE_PACKET_SIZE (EM_ESCOPE_API_MASK | 0x0071)
509#define EM_ESCOPE_PACKET_TAILROOM (EM_ESCOPE_API_MASK | 0x0072)
510#define EM_ESCOPE_PACKET_CONCAT (EM_ESCOPE_API_MASK | 0x0073)
513#define EM_ESCOPE_HOOKS_REGISTER_ALLOC (EM_ESCOPE_API_MASK | 0x0074)
514#define EM_ESCOPE_HOOKS_REGISTER_FREE (EM_ESCOPE_API_MASK | 0x0075)
515#define EM_ESCOPE_HOOKS_REGISTER_SEND (EM_ESCOPE_API_MASK | 0x0076)
516#define EM_ESCOPE_HOOKS_REGISTER_TO_ACTIVE (EM_ESCOPE_API_MASK | 0x0077)
517#define EM_ESCOPE_HOOKS_REGISTER_TO_IDLE (EM_ESCOPE_API_MASK | 0x0078)
518#define EM_ESCOPE_HOOKS_REGISTER_WHILE_IDLE (EM_ESCOPE_API_MASK | 0x0079)
519#define EM_ESCOPE_HOOKS_UNREGISTER_ALLOC (EM_ESCOPE_API_MASK | 0x007A)
520#define EM_ESCOPE_HOOKS_UNREGISTER_FREE (EM_ESCOPE_API_MASK | 0x007B)
521#define EM_ESCOPE_HOOKS_UNREGISTER_SEND (EM_ESCOPE_API_MASK | 0x007C)
522#define EM_ESCOPE_HOOKS_UNREGISTER_TO_ACTIVE (EM_ESCOPE_API_MASK | 0x007D)
523#define EM_ESCOPE_HOOKS_UNREGISTER_TO_IDLE (EM_ESCOPE_API_MASK | 0x007E)
524#define EM_ESCOPE_HOOKS_UNREGISTER_WHILE_IDLE (EM_ESCOPE_API_MASK | 0x007F)
527#define EM_ESCOPE_CONF_INIT (EM_ESCOPE_API_MASK | 0x0080)
528#define EM_ESCOPE_CONF_LOCAL_INIT (EM_ESCOPE_API_MASK | 0x0081)
529#define EM_ESCOPE_CONF_OPTS (EM_ESCOPE_API_MASK | 0x0082)
530#define EM_ESCOPE_CONF_LOCAL_OPTS (EM_ESCOPE_API_MASK | 0x0083)
531#define EM_ESCOPE_INIT (EM_ESCOPE_API_MASK | 0x0084)
532#define EM_ESCOPE_INIT_CORE (EM_ESCOPE_API_MASK | 0x0085)
533#define EM_ESCOPE_INIT_LOCAL (EM_ESCOPE_API_MASK | 0x0086)
534#define EM_ESCOPE_TERM (EM_ESCOPE_API_MASK | 0x0087)
535#define EM_ESCOPE_TERM_CORE (EM_ESCOPE_API_MASK | 0x0088)
536#define EM_ESCOPE_TERM_LOCAL (EM_ESCOPE_API_MASK | 0x0089)
537#define EM_ESCOPE_TERM_LOCAL_INIT (EM_ESCOPE_API_MASK | 0x008A)
538#define EM_ESCOPE_CFGFILE_OPTS (EM_ESCOPE_API_MASK | 0x008B)
541#define EM_ESCOPE_POOL_CFG_INIT (EM_ESCOPE_API_MASK | 0x008C)
542#define EM_ESCOPE_POOL_CREATE (EM_ESCOPE_API_MASK | 0x008D)
543#define EM_ESCOPE_POOL_DELETE (EM_ESCOPE_API_MASK | 0x008E)
544#define EM_ESCOPE_POOL_FIND (EM_ESCOPE_API_MASK | 0x008F)
545#define EM_ESCOPE_POOL_FIRST (EM_ESCOPE_API_MASK | 0x0090)
546#define EM_ESCOPE_POOL_INFO (EM_ESCOPE_API_MASK | 0x0091)
547#define EM_ESCOPE_POOL_NAME (EM_ESCOPE_API_MASK | 0x0092)
548#define EM_ESCOPE_POOL_NEXT (EM_ESCOPE_API_MASK | 0x0093)
549#define EM_ESCOPE_POOL_NUM_SUBPOOLS (EM_ESCOPE_API_MASK | 0x0094)
550#define EM_ESCOPE_POOL_STATS (EM_ESCOPE_API_MASK | 0x0095)
551#define EM_ESCOPE_POOL_STATS_RESET (EM_ESCOPE_API_MASK | 0x0096)
552#define EM_ESCOPE_POOL_STATS_SELECTED (EM_ESCOPE_API_MASK | 0x0097)
553#define EM_ESCOPE_POOL_SUBPOOL_STATS (EM_ESCOPE_API_MASK | 0x0098)
554#define EM_ESCOPE_POOL_SUBPOOL_STATS_RESET (EM_ESCOPE_API_MASK | 0x0099)
555#define EM_ESCOPE_POOL_SUBPOOL_STATS_SELECTED (EM_ESCOPE_API_MASK | 0x009A)
556#define EM_ESCOPE_POOL_STATS_OPT (EM_ESCOPE_API_MASK | 0x009B)
558#define EM_ESCOPE_POOL_GET_FIRST EM_ESCOPE_POOL_FIRST
559#define EM_ESCOPE_POOL_GET_NAME EM_ESCOPE_POOL_NAME
560#define EM_ESCOPE_POOL_GET_NEXT EM_ESCOPE_POOL_NEXT
563#define EM_ESCOPE_QUEUE_GROUP_CREATE (EM_ESCOPE_API_MASK | 0x009C)
564#define EM_ESCOPE_QUEUE_GROUP_CREATE_SYNC (EM_ESCOPE_API_MASK | 0x009D)
565#define EM_ESCOPE_QUEUE_GROUP_DELETE (EM_ESCOPE_API_MASK | 0x009E)
566#define EM_ESCOPE_QUEUE_GROUP_DELETE_SYNC (EM_ESCOPE_API_MASK | 0x009F)
567#define EM_ESCOPE_QUEUE_GROUP_FIND (EM_ESCOPE_API_MASK | 0x00A0)
568#define EM_ESCOPE_QUEUE_GROUP_FIRST (EM_ESCOPE_API_MASK | 0x00A1)
569#define EM_ESCOPE_QUEUE_GROUP_MASK (EM_ESCOPE_API_MASK | 0x00A2)
570#define EM_ESCOPE_QUEUE_GROUP_MODIFY (EM_ESCOPE_API_MASK | 0x00A3)
571#define EM_ESCOPE_QUEUE_GROUP_MODIFY_SYNC (EM_ESCOPE_API_MASK | 0x00A4)
572#define EM_ESCOPE_QUEUE_GROUP_NAME (EM_ESCOPE_API_MASK | 0x00A5)
573#define EM_ESCOPE_QUEUE_GROUP_NEXT (EM_ESCOPE_API_MASK | 0x00A6)
574#define EM_ESCOPE_QUEUE_GROUP_QUEUE_FIRST (EM_ESCOPE_API_MASK | 0x00A7)
575#define EM_ESCOPE_QUEUE_GROUP_QUEUE_NEXT (EM_ESCOPE_API_MASK | 0x00A8)
577#define EM_ESCOPE_QUEUE_GROUP_GET_FIRST EM_ESCOPE_QUEUE_GROUP_FIRST
578#define EM_ESCOPE_QUEUE_GROUP_GET_NAME EM_ESCOPE_QUEUE_GROUP_NAME
579#define EM_ESCOPE_QUEUE_GROUP_GET_NEXT EM_ESCOPE_QUEUE_GROUP_NEXT
580#define EM_ESCOPE_QUEUE_GROUP_QUEUE_GET_FIRST EM_ESCOPE_QUEUE_GROUP_QUEUE_FIRST
581#define EM_ESCOPE_QUEUE_GROUP_QUEUE_GET_NEXT EM_ESCOPE_QUEUE_GROUP_QUEUE_NEXT
584#define EM_ESCOPE_QUEUE_AGGR_CONF_INIT (EM_ESCOPE_API_MASK | 0x00A9)
585#define EM_ESCOPE_QUEUE_AGGR (EM_ESCOPE_API_MASK | 0x00AA)
586#define EM_ESCOPE_QUEUE_AGGR_INFO (EM_ESCOPE_API_MASK | 0x00AB)
587#define EM_ESCOPE_QUEUE_AGGR_LIST (EM_ESCOPE_API_MASK | 0x00AC)
588#define EM_ESCOPE_QUEUE_AGGR_NUM (EM_ESCOPE_API_MASK | 0x00AD)
589#define EM_ESCOPE_QUEUE_AGROUP (EM_ESCOPE_API_MASK | 0x00AE)
590#define EM_ESCOPE_QUEUE_CONTEXT (EM_ESCOPE_API_MASK | 0x00AF)
591#define EM_ESCOPE_QUEUE_CREATE (EM_ESCOPE_API_MASK | 0x00B0)
592#define EM_ESCOPE_QUEUE_CREATE_STATIC (EM_ESCOPE_API_MASK | 0x00B1)
593#define EM_ESCOPE_QUEUE_CREATE_PARAM (EM_ESCOPE_API_MASK | 0x00B2)
594#define EM_ESCOPE_QUEUE_CURRENT (EM_ESCOPE_API_MASK | 0x00B3)
595#define EM_ESCOPE_QUEUE_DELETE (EM_ESCOPE_API_MASK | 0x00B4)
596#define EM_ESCOPE_QUEUE_DEQUEUE (EM_ESCOPE_API_MASK | 0x00B5)
597#define EM_ESCOPE_QUEUE_DEQUEUE_MULTI (EM_ESCOPE_API_MASK | 0x00B6)
598#define EM_ESCOPE_QUEUE_FIND (EM_ESCOPE_API_MASK | 0x00B7)
599#define EM_ESCOPE_QUEUE_FIRST (EM_ESCOPE_API_MASK | 0x00B8)
600#define EM_ESCOPE_QUEUE_INDEX (EM_ESCOPE_API_MASK | 0x00B9)
601#define EM_ESCOPE_QUEUE_NAME (EM_ESCOPE_API_MASK | 0x00BA)
602#define EM_ESCOPE_QUEUE_NEXT (EM_ESCOPE_API_MASK | 0x00BB)
603#define EM_ESCOPE_QUEUE_NUM_PRIO (EM_ESCOPE_API_MASK | 0x00BC)
604#define EM_ESCOPE_QUEUE_PARAM_INIT (EM_ESCOPE_API_MASK | 0x00BD)
605#define EM_ESCOPE_QUEUE_PRIORITY (EM_ESCOPE_API_MASK | 0x00BE)
606#define EM_ESCOPE_QUEUE_QGROUP (EM_ESCOPE_API_MASK | 0x00BF)
607#define EM_ESCOPE_QUEUE_SET_CONTEXT (EM_ESCOPE_API_MASK | 0x00C0)
608#define EM_ESCOPE_QUEUE_TYPE (EM_ESCOPE_API_MASK | 0x00C1)
609#define EM_ESCOPE_QUEUE_STATIC_HANDLE (EM_ESCOPE_API_MASK | 0x00C2)
611#define EM_ESCOPE_ATOMIC_GROUP_GET EM_ESCOPE_QUEUE_AGROUP
612#define EM_ESCOPE_QUEUE_GET_CONTEXT EM_ESCOPE_QUEUE_CONTEXT
613#define EM_ESCOPE_QUEUE_GET_FIRST EM_ESCOPE_QUEUE_FIRST
614#define EM_ESCOPE_QUEUE_GET_GROUP EM_ESCOPE_QUEUE_QGROUP
615#define EM_ESCOPE_QUEUE_GET_INDEX EM_ESCOPE_QUEUE_INDEX
616#define EM_ESCOPE_QUEUE_GET_NAME EM_ESCOPE_QUEUE_NAME
617#define EM_ESCOPE_QUEUE_GET_NEXT EM_ESCOPE_QUEUE_NEXT
618#define EM_ESCOPE_QUEUE_GET_NUM_PRIO EM_ESCOPE_QUEUE_NUM_PRIO
619#define EM_ESCOPE_QUEUE_GET_PRIORITY EM_ESCOPE_QUEUE_PRIORITY
620#define EM_ESCOPE_QUEUE_GET_TYPE EM_ESCOPE_QUEUE_TYPE
623#define EM_ESCOPE_ATOMIC_PROCESSING_END (EM_ESCOPE_API_MASK | 0x00C3)
624#define EM_ESCOPE_ORDERED_PROCESSING_END (EM_ESCOPE_API_MASK | 0x00C4)
625#define EM_ESCOPE_PRESCHEDULE (EM_ESCOPE_API_MASK | 0x00C5)
626#define EM_ESCOPE_SCHED_CONTEXT_TYPE_CURRENT (EM_ESCOPE_API_MASK | 0x00C6)
629#define EM_ESCOPE_TIMER_ALL (EM_ESCOPE_API_MASK | 0x00C7)
630#define EM_ESCOPE_TIMER_ATTR (EM_ESCOPE_API_MASK | 0x00C8)
631#define EM_ESCOPE_TIMER_ATTR_INIT (EM_ESCOPE_API_MASK | 0x00C9)
632#define EM_ESCOPE_TIMER_CAPABILITY (EM_ESCOPE_API_MASK | 0x00CA)
633#define EM_ESCOPE_TIMER_CREATE (EM_ESCOPE_API_MASK | 0x00CB)
634#define EM_ESCOPE_TIMER_CUR_TICK (EM_ESCOPE_API_MASK | 0x00CC)
635#define EM_ESCOPE_TIMER_DELETE (EM_ESCOPE_API_MASK | 0x00CD)
636#define EM_ESCOPE_TIMER_FREQ (EM_ESCOPE_API_MASK | 0x00CE)
637#define EM_ESCOPE_TIMER_NS_TO_TICK (EM_ESCOPE_API_MASK | 0x00CF)
638#define EM_ESCOPE_TIMER_RES_CAPABILITY (EM_ESCOPE_API_MASK | 0x00D0)
639#define EM_ESCOPE_TIMER_RING_CREATE (EM_ESCOPE_API_MASK | 0x00D1)
640#define EM_ESCOPE_TIMER_RING_FREQ_CREATE (EM_ESCOPE_API_MASK | 0x00D2)
641#define EM_ESCOPE_TIMER_TICK_TO_NS (EM_ESCOPE_API_MASK | 0x00D3)
642#define EM_ESCOPE_TMO_ACK (EM_ESCOPE_API_MASK | 0x00D4)
643#define EM_ESCOPE_TMO_CANCEL (EM_ESCOPE_API_MASK | 0x00D5)
644#define EM_ESCOPE_TMO_CREATE (EM_ESCOPE_API_MASK | 0x00D6)
645#define EM_ESCOPE_TMO_CREATE_ARG (EM_ESCOPE_API_MASK | 0x00D7)
646#define EM_ESCOPE_TMO_DELETE (EM_ESCOPE_API_MASK | 0x00D8)
647#define EM_ESCOPE_TMO_SET_ABS (EM_ESCOPE_API_MASK | 0x00D9)
648#define EM_ESCOPE_TMO_SET_PERIODIC (EM_ESCOPE_API_MASK | 0x00DA)
649#define EM_ESCOPE_TMO_SET_PERIODIC_RING (EM_ESCOPE_API_MASK | 0x00DB)
650#define EM_ESCOPE_TMO_SET_REL (EM_ESCOPE_API_MASK | 0x00DC)
651#define EM_ESCOPE_TMO_STATE (EM_ESCOPE_API_MASK | 0x00DD)
652#define EM_ESCOPE_TMO_STATS (EM_ESCOPE_API_MASK | 0x00DE)
653#define EM_ESCOPE_TMO_TIMER (EM_ESCOPE_API_MASK | 0x00DF)
654#define EM_ESCOPE_TMO_TYPE (EM_ESCOPE_API_MASK | 0x00E0)
655#define EM_ESCOPE_TMO_USERPTR (EM_ESCOPE_API_MASK | 0x00E1)
656#define EM_ESCOPE_TMO_RING_ACK (EM_ESCOPE_API_MASK | 0x00E2)
657#define EM_ESCOPE_TMO_SET_PERIODIC_RING_FREQ (EM_ESCOPE_API_MASK | 0x00E3)
659#define EM_ESCOPE_TIMER_GET_ALL EM_ESCOPE_TIMER_ALL
660#define EM_ESCOPE_TIMER_GET_ATTR EM_ESCOPE_TIMER_ATTR
661#define EM_ESCOPE_TIMER_GET_FREQ EM_ESCOPE_TIMER_FREQ
662#define EM_ESCOPE_TMO_GET_STATE EM_ESCOPE_TMO_STATE
663#define EM_ESCOPE_TMO_GET_STATS EM_ESCOPE_TMO_STATS
664#define EM_ESCOPE_TMO_GET_TIMER EM_ESCOPE_TMO_TIMER
665#define EM_ESCOPE_TMO_GET_TYPE EM_ESCOPE_TMO_TYPE
666#define EM_ESCOPE_TMO_GET_USERPTR EM_ESCOPE_TMO_USERPTR
668#define EM_ESCOPE_API_LAST (EM_ESCOPE_API_MASK | 0x00FF)
674#define EM_ESCOPE_ADD_ON_API_BASE (EM_ESCOPE_ADDON_API_MASK | 0x0000)
679#define EM_ESCOPE_INTERNAL_FIRST (EM_ESCOPE_INTERNAL_MASK | 0x0000)
682#define EM_ESCOPE_EVENT_SEND_DEVICE (EM_ESCOPE_INTERNAL_MASK | 0x0001)
683#define EM_ESCOPE_EVENT_SEND_DEVICE_MULTI (EM_ESCOPE_INTERNAL_MASK | 0x0002)
686#define EM_ESCOPE_EVENT_GROUP_UPDATE (EM_ESCOPE_INTERNAL_MASK | 0x0003)
687#define EM_ESCOPE_EVENT_GROUP_UPDATE_PRECNT (EM_ESCOPE_INTERNAL_MASK | 0x0004)
688#define EM_ESCOPE_EVENT_GROUP_UPDATE_POSTCNT (EM_ESCOPE_INTERNAL_MASK | 0x0005)
691#define EM_ESCOPE_EO_LOCAL_FUNC_CALL_REQ (EM_ESCOPE_INTERNAL_MASK | 0x0006)
692#define EM_ESCOPE_EO_REMOVE_QUEUE_ALL_DONE_CB (EM_ESCOPE_INTERNAL_MASK | 0x0007)
693#define EM_ESCOPE_EO_REMOVE_QUEUE_ALL_SYNC_DONE_CB (EM_ESCOPE_INTERNAL_MASK | 0x0008)
694#define EM_ESCOPE_EO_REMOVE_QUEUE_DONE_CB (EM_ESCOPE_INTERNAL_MASK | 0x0009)
695#define EM_ESCOPE_EO_REMOVE_QUEUE_SYNC_DONE_CB (EM_ESCOPE_INTERNAL_MASK | 0x000A)
696#define EM_ESCOPE_EO_START_DONE_CB (EM_ESCOPE_INTERNAL_MASK | 0x000B)
697#define EM_ESCOPE_EO_START_SYNC_DONE_CB (EM_ESCOPE_INTERNAL_MASK | 0x000C)
698#define EM_ESCOPE_EO_STOP_DONE_CB (EM_ESCOPE_INTERNAL_MASK | 0x000D)
699#define EM_ESCOPE_EO_STOP_SYNC_DONE_CB (EM_ESCOPE_INTERNAL_MASK | 0x000E)
702#define EM_ESCOPE_QUEUE_DISABLE (EM_ESCOPE_INTERNAL_MASK | 0x000F)
703#define EM_ESCOPE_QUEUE_DISABLE_ALL (EM_ESCOPE_INTERNAL_MASK | 0x0010)
704#define EM_ESCOPE_QUEUE_ENABLE (EM_ESCOPE_INTERNAL_MASK | 0x0011)
705#define EM_ESCOPE_QUEUE_ENABLE_ALL (EM_ESCOPE_INTERNAL_MASK | 0x0012)
706#define EM_ESCOPE_QUEUE_STATE_CHANGE (EM_ESCOPE_INTERNAL_MASK | 0x0013)
709#define EM_ESCOPE_QUEUE_GROUP_ADD_CORE (EM_ESCOPE_INTERNAL_MASK | 0x0014)
710#define EM_ESCOPE_QUEUE_GROUP_REM_CORE (EM_ESCOPE_INTERNAL_MASK | 0x0015)
713#define EM_ESCOPE_DELETE_CTRL_QUEUES (EM_ESCOPE_INTERNAL_MASK | 0x0016)
714#define EM_ESCOPE_EVENT_INTERNAL_DONE (EM_ESCOPE_INTERNAL_MASK | 0x0017)
715#define EM_ESCOPE_EVENT_INTERNAL_LFUNC_CALL (EM_ESCOPE_INTERNAL_MASK | 0x0018)
716#define EM_ESCOPE_INTERNAL_DONE_W_NOTIF_REQ (EM_ESCOPE_INTERNAL_MASK | 0x0019)
717#define EM_ESCOPE_INTERNAL_EVENT_RECV_FUNC (EM_ESCOPE_INTERNAL_MASK | 0x001A)
718#define EM_ESCOPE_INTERNAL_NOTIF (EM_ESCOPE_INTERNAL_MASK | 0x001B)
719#define EM_ESCOPE_SEND_CTRL_QUEUE (EM_ESCOPE_INTERNAL_MASK | 0x001C)
724#define EM_ESCOPE_ODP_EXT (EM_ESCOPE_INTERNAL_MASK | 0x001D)
727#define EM_ESCOPE_INTERNAL_LAST (EM_ESCOPE_INTERNAL_MASK | 0x001E)
736#pragma GCC visibility pop
em_status_t(* em_error_handler_t)(em_eo_t eo, em_status_t error, em_escope_t escope, va_list args)
void em_error(em_status_t error, em_escope_t escope,...)
em_status_t em_unregister_error_handler(void)
int(* em_log_func_t)(em_log_level_t level, const char *fmt,...) __attribute__((format(printf
int(*) typedef int(* em_vlog_func_t)(em_log_level_t level, const char *fmt, va_list args)
em_status_t em_register_error_handler(em_error_handler_t handler)
@ EM_ERR_OPERATION_FAILED