Remote Interface
Remote API
remote.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2012-2014,2016,2017,2019-2022,2023 Qualcomm Technologies, Inc.
3  * All Rights Reserved.
4  * Confidential and Proprietary - Qualcomm Technologies, Inc.
5  */
6 #ifndef REMOTE_H
7 #define REMOTE_H
8 
9 #include <stdint.h>
10 #include <sys/types.h>
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 #ifndef __QAIC_REMOTE
17 #define __QAIC_REMOTE(ff) ff
18 #endif
19 
20 #ifndef __QAIC_REMOTE_EXPORT
21 #ifdef _WIN32
22 #ifdef _USRDLL
23 #define __QAIC_REMOTE_EXPORT __declspec(dllexport)
24 #elif defined(STATIC_LIB)
25 #define __QAIC_REMOTE_EXPORT
26 #else
27 #define __QAIC_REMOTE_EXPORT __declspec(dllimport)
28 #endif
29 #else
30 #define __QAIC_REMOTE_EXPORT
31 #endif
32 #endif
33 
34 #ifndef __QAIC_RETURN
35 #ifdef _WIN32
36 #define __QAIC_RETURN _Success_(return == 0)
37 #else
38 #define __QAIC_RETURN
39 #endif
40 #endif
41 
42 #ifndef __QAIC_IN
43 #ifdef _WIN32
44 #define __QAIC_IN _In_
45 #else
46 #define __QAIC_IN
47 #endif
48 #endif
49 
50 #ifndef __QAIC_IN_CHAR
51 #ifdef _WIN32
52 #define __QAIC_IN_CHAR _In_z_
53 #else
54 #define __QAIC_IN_CHAR
55 #endif
56 #endif
57 
58 #ifndef __QAIC_IN_LEN
59 #ifdef _WIN32
60 #define __QAIC_IN_LEN(len) _Inout_updates_bytes_all_(len)
61 #else
62 #define __QAIC_IN_LEN(len)
63 #endif
64 #endif
65 
66 #ifndef __QAIC_OUT
67 #ifdef _WIN32
68 #define __QAIC_OUT _Out_
69 #else
70 #define __QAIC_OUT
71 #endif
72 #endif
73 
74 #ifndef __QAIC_INT64PTR
75 #ifdef _WIN32
76 #define __QAIC_INT64PTR uintptr_t
77 #else
78 #define __QAIC_INT64PTR uint64_t
79 #endif
80 #endif
81 
82 #ifndef __QAIC_REMOTE_ATTRIBUTE
83 #define __QAIC_REMOTE_ATTRIBUTE
84 #endif
85 
86 
87 #define REMOTE_SCALARS_METHOD_ATTR(dwScalars) (((dwScalars) >> 29) & 0x7)
88 
90 #define REMOTE_SCALARS_METHOD(dwScalars) (((dwScalars) >> 24) & 0x1f)
91 
93 #define REMOTE_SCALARS_INBUFS(dwScalars) (((dwScalars) >> 16) & 0x0ff)
94 
96 #define REMOTE_SCALARS_OUTBUFS(dwScalars) (((dwScalars) >> 8) & 0x0ff)
97 
99 #define REMOTE_SCALARS_INHANDLES(dwScalars) (((dwScalars) >> 4) & 0x0f)
100 
102 #define REMOTE_SCALARS_OUTHANDLES(dwScalars) ((dwScalars) & 0x0f)
103 
105 #define REMOTE_SCALARS_MAKEX(nAttr,nMethod,nIn,nOut,noIn,noOut) \
106  ((((uint32_t) (nAttr) & 0x7) << 29) | \
107  (((uint32_t) (nMethod) & 0x1f) << 24) | \
108  (((uint32_t) (nIn) & 0xff) << 16) | \
109  (((uint32_t) (nOut) & 0xff) << 8) | \
110  (((uint32_t) (noIn) & 0x0f) << 4) | \
111  ((uint32_t) (noOut) & 0x0f))
112 
113 #define REMOTE_SCALARS_MAKE(nMethod,nIn,nOut) REMOTE_SCALARS_MAKEX(0,nMethod,nIn,nOut,0,0)
114 
116 #define REMOTE_SCALARS_LENGTH(sc) (REMOTE_SCALARS_INBUFS(sc) +\
117  REMOTE_SCALARS_OUTBUFS(sc) +\
118  REMOTE_SCALARS_INHANDLES(sc) +\
119  REMOTE_SCALARS_OUTHANDLES(sc))
120 
122 #define ADSP_DOMAIN_ID 0
123 #define MDSP_DOMAIN_ID 1
124 #define SDSP_DOMAIN_ID 2
125 #define CDSP_DOMAIN_ID 3
126 #define CDSP1_DOMAIN_ID 4
127 
129 #define ADSP_DOMAIN_NAME "adsp"
130 #define MDSP_DOMAIN_NAME "mdsp"
131 #define SDSP_DOMAIN_NAME "sdsp"
132 #define CDSP_DOMAIN_NAME "cdsp"
133 #define CDSP1_DOMAIN_NAME "cdsp1"
134 
136 #define ADSP_DOMAIN "&_dom=adsp"
137 #define MDSP_DOMAIN "&_dom=mdsp"
138 #define SDSP_DOMAIN "&_dom=sdsp"
139 #define CDSP_DOMAIN "&_dom=cdsp"
140 #define CDSP1_DOMAIN "&_dom=cdsp1"
141 
143 #define ITRANSPORT_PREFIX "'\":;./\\"
144 
146 #define MAX_DOMAIN_URI_SIZE 12
147 
149 #define FASTRPC_URI_PRIORITY_TOKEN "&_hpriority="
150 
152 #define FASTRPC_HANDLE_PRIORITY_LEVEL(priority) \
153  FASTRPC_URI_PRIORITY_TOKEN #priority
154 
164 #define FASTRPC_HANDLE_PRIORITY_MIN 7
165 #define FASTRPC_HANDLE_PRIORITY_MAX 1
166 
168 typedef struct domain_t {
170  int id;
173 } domain;
174 
176 typedef uint32_t remote_handle;
177 
179 typedef uint64_t remote_handle64;
180 
182 typedef struct {
184  void *pv;
186  size_t nLen;
187 } remote_buf;
188 
190 typedef struct {
192  uint64_t pv;
194  int64_t nLen;
195 } remote_buf64;
196 
198 typedef struct {
200  int32_t fd;
202  uint32_t offset;
204 
206 typedef struct {
208  int32_t fd;
210  uint32_t offset;
212  uint32_t len;
214 
216 typedef union {
220  remote_handle h;
222  remote_handle64 h64;
225 } remote_arg;
226 
228 typedef union {
232  remote_handle h;
234  remote_handle64 h64;
237 } remote_arg64;
238 
243 
246 
249 
251 };
252 
254 typedef uint64_t fastrpc_async_jobid;
255 
257 typedef struct fastrpc_async_callback {
259  void (*fn)(fastrpc_async_jobid jobid, void* context, int result);
261  void *context;
263 
265 typedef struct fastrpc_async_descriptor {
269  fastrpc_async_jobid jobid;
273 
274 
281 
284 
289 
294 
302 };
303 
310  uint32_t enable;
311 
324  uint32_t latency;
325 };
326 
331 typedef struct remote_dsp_capability {
333  uint32_t domain;
335  uint32_t attribute_ID;
337  uint32_t capability;
339 
340 
354 
358 
361 
364 
367 
370 
373 
376 
379 
382 
385 
388 
391 
394 
396 };
397 
401 #define FASTRPC_WAKELOCK_CONTROL_SUPPORTED 1
402 
409  uint32_t enable;
410 };
411 
419 typedef struct remote_rpc_get_domain {
421  int domain;
423 
430  int32_t value_size;
432  const char* path;
434  char* value;
435 };
436 
443 
446 
449 
452 
455 
458 
461 
462 };
463 
470  int domain;
472  int prio;
475 };
476 
483  int domain;
485  int enable;
486 };
487 
494  int domain;
501 };
502 
514  int domain;
515 };
516 
523  int domain;
524 };
525 
533  int domain;
535  int enable;
536 };
537 
544 
553 
556 
557 };
558 
568  int domain;
571 };
572 
581 
584 
587 
590 
593 
595 
606 typedef int (*fastrpc_notif_fn_t)(void *context, int domain, int session, remote_rpc_status_flags_t status);
607 
608 
616  void *context;
618  int domain;
622 
630  int domain;
633  uint32_t pd_initmem_size;
634 };
635 
645  char *domain_name;
647  uint32_t domain_name_len;
662  uint32_t session_id;
664 
672  char *domain_name;
674  uint32_t domain_name_len;
676  uint32_t session_id;
680 
686 typedef struct remote_rpc_get_uri {
688  char *domain_name;
690  uint32_t domain_name_len;
692  uint32_t session_id;
694  char *module_uri ;
696  uint32_t module_uri_len;
702  char *uri ;
704  uint32_t uri_len;
706 
711 typedef struct fastrpc_context_create {
715  uint32_t *effec_domain_ids;
716 
719  uint32_t num_domain_ids;
720 
722  uint64_t flags;
723 
725  uint64_t ctx;
727 
729 typedef struct fastrpc_context_destroy {
731  uint64_t ctx;
732 
734  uint64_t flags;
736 
744  int domain;
746  unsigned int max_num_threads;
747 };
748 
755 
758 
761 
764 
767 
770 
773 
776 
779 
782 
785 
788 
791 
794 
797 
800 
803 
806 
809 };
810 
811 
830 
832  };
833 
846 
849 
857 
866 
880 
886 
894 
896 };
897 
898 #define MAX_DOMAIN_NAMELEN 30
899 
900 /* Position of domain type in flags */
901 #define DOMAINS_LIST_FLAGS_TYPE_POS 5
902 
903 /* Helper macro to set domain type in flags */
904 #define DOMAINS_LIST_FLAGS_SET_TYPE(flags, type) (flags | (type & ((1 << DOMAINS_LIST_FLAGS_TYPE_POS) - 1)))
905 
910 typedef enum {
919 
924 typedef struct {
934  int id;
935 
942  char name[MAX_DOMAIN_NAMELEN];
943 
947  fastrpc_domain_type type;
948 
953  int status;
954 
958  uint32_t card;
959 
963  uint32_t soc_id;
965 
971 typedef struct {
980 
987 
994 
1002  uint64_t flags;
1004 
1009 typedef enum {
1012 } system_req_id;
1013 
1018 typedef struct {
1020  union {
1022  };
1024 
1032 
1036 #define FASTRPC_ATTR_NONE 0
1037 #define FASTRPC_ATTR_NON_COHERENT 2
1039 #define FASTRPC_ATTR_COHERENT 4
1042 #define FASTRPC_ATTR_KEEP_MAP 8
1044 #define FASTRPC_ATTR_NOMAP 16
1046 #define FASTRPC_ATTR_FORCE_NOFLUSH 32
1048 #define FASTRPC_ATTR_FORCE_NOINVALIDATE 64
1050 #define FASTRPC_ATTR_TRY_MAP_STATIC 128
1069 #define REMOTE_MODE_PARALLEL 0
1070 
1077 #define REMOTE_MODE_SERIAL 1
1078 
1079 
1080 #ifdef _WIN32
1081 #include "remote_wos_ext.h"
1082 #endif
1083 
1084 
1092 
1093 
1102 
1103 
1110 
1111 
1122 __QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE(remote_handle64_control)(__QAIC_IN remote_handle64 h, __QAIC_IN uint32_t req, __QAIC_IN_LEN(datalen) void* data, __QAIC_IN uint32_t datalen) __QAIC_REMOTE_ATTRIBUTE;
1123 
1124 
1138 
1139 
1152 
1153 
1172 __QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE(fastrpc_async_get_status)(__QAIC_IN fastrpc_async_jobid jobid,__QAIC_IN int timeout_us,__QAIC_OUT int *result);
1173 
1174 
1186 
1187 
1199 __QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE(remote_mmap)(__QAIC_IN int fd, __QAIC_IN uint32_t flags, __QAIC_IN uint32_t vaddrin, __QAIC_IN int size, __QAIC_OUT uint32_t* vaddrout) __QAIC_REMOTE_ATTRIBUTE;
1200 
1201 
1211 
1212 
1226 __QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE(remote_mem_map)(__QAIC_IN int domain, __QAIC_IN int fd, __QAIC_IN int flags, __QAIC_IN uint64_t virtAddr, __QAIC_IN size_t size, __QAIC_OUT uint64_t* remoteVirtAddr) __QAIC_REMOTE_ATTRIBUTE;
1227 
1228 
1239 
1240 
1253 
1254 
1264 
1265 
1286 
1287 
1304 
1305 
1328 
1329 
1349 
1350 
1370 
1371 
1385 
1386 
1406 
1424 
1425 
1426 #ifdef __cplusplus
1427 }
1428 #endif
1429 
1430 #endif
int domain
Definition: remote.h:483
Definition: remote.h:754
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle64_open(__QAIC_IN_CHAR const char *name, __QAIC_OUT remote_handle64 *ph) __QAIC_REMOTE_ATTRIBUTE
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle_close(__QAIC_IN remote_handle h) __QAIC_REMOTE_ATTRIBUTE
Definition: remote.h:384
Definition: remote.h:372
struct remote_rpc_effective_domain_id remote_rpc_effective_domain_id_t
Definition: remote.h:451
struct remote_rpc_get_uri remote_rpc_get_uri_t
int id
Definition: remote.h:934
fastrpc_async_notify_type
Definition: remote.h:240
Definition: remote.h:799
Definition: remote.h:757
Definition: remote.h:419
Definition: remote.h:870
fastrpc_domain_type type
Definition: remote.h:947
char uri[MAX_DOMAIN_URI_SIZE]
Definition: remote.h:172
Definition: remote.h:293
Definition: remote.h:442
int domain
Definition: remote.h:630
Definition: remote.h:614
int domain
Definition: remote.h:421
remote_buf buf
Definition: remote.h:218
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle64_control(__QAIC_IN remote_handle64 h, __QAIC_IN uint32_t req, __QAIC_IN_LEN(datalen) void *data, __QAIC_IN uint32_t datalen) __QAIC_REMOTE_ATTRIBUTE
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle64_close(__QAIC_IN remote_handle64 h) __QAIC_REMOTE_ATTRIBUTE
Definition: remote.h:769
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle64_invoke_async(__QAIC_IN remote_handle64 h, __QAIC_IN fastrpc_async_descriptor_t *desc, __QAIC_IN uint32_t dwScalars, __QAIC_IN remote_arg *pra) __QAIC_REMOTE_ATTRIBUTE
#define __QAIC_OUT
Definition: remote.h:70
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_mem_unmap(__QAIC_IN int domain, __QAIC_IN uint64_t remoteVirtAddr, __QAIC_IN size_t size) __QAIC_REMOTE_ATTRIBUTE
int(* fastrpc_notif_fn_t)(void *context, int domain, int session, remote_rpc_status_flags_t status)
Definition: remote.h:606
int remote_system_request(system_req_payload *req)
uint32_t session_id
Definition: remote.h:676
remote_rpc_status_flags
Definition: remote.h:578
fastrpc_domains_info sys
Definition: remote.h:1021
uint64_t pv
Definition: remote.h:192
Definition: remote.h:387
struct remote_rpc_notif_register remote_rpc_notif_register_t
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_munmap64(__QAIC_IN __QAIC_INT64PTR vaddrout, __QAIC_IN int64_t size) __QAIC_REMOTE_ATTRIBUTE
uint32_t * effec_domain_ids
Definition: remote.h:715
const char * path
Definition: remote.h:432
Definition: remote.h:566
Definition: remote.h:586
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_session_control(__QAIC_IN uint32_t req, __QAIC_IN_LEN(datalen) void *data, __QAIC_IN uint32_t datalen) __QAIC_REMOTE_ATTRIBUTE
fastrpc_async_callback_t cb
Definition: remote.h:271
void * context
Definition: remote.h:616
uint32_t capability
Definition: remote.h:337
char * value
Definition: remote.h:434
int domain
Definition: remote.h:523
Describes the details of each domain.
Definition: remote.h:924
#define __QAIC_IN
Definition: remote.h:46
Definition: remote.h:521
remote_dma_handle dma
Definition: remote.h:224
Definition: remote.h:228
Definition: remote.h:445
Definition: remote.h:460
__QAIC_REMOTE_EXPORT __QAIC_RETURN void *__QAIC_REMOTE() remote_register_fd(__QAIC_IN int fd, __QAIC_IN int size) __QAIC_REMOTE_ATTRIBUTE
Definition: remote.h:793
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_mmap(__QAIC_IN int fd, __QAIC_IN uint32_t flags, __QAIC_IN uint32_t vaddrin, __QAIC_IN int size, __QAIC_OUT uint32_t *vaddrout) __QAIC_REMOTE_ATTRIBUTE
Definition: remote.h:784
Definition: remote.h:481
#define MAX_DOMAIN_NAMELEN
Definition: remote.h:898
__QAIC_REMOTE_EXPORT __QAIC_RETURN void __QAIC_REMOTE() remote_register_buf_attr(__QAIC_IN_LEN(size) void *buf, __QAIC_IN int size, __QAIC_IN int fd, __QAIC_IN int attr) __QAIC_REMOTE_ATTRIBUTE
Definition: remote.h:206
int prio
Definition: remote.h:472
uint32_t len
Definition: remote.h:212
struct fastrpc_async_callback fastrpc_async_callback_t
uint64_t ctx
Definition: remote.h:725
Definition: remote.h:357
int domain
Definition: remote.h:514
char * domain_name
Definition: remote.h:688
Definition: remote.h:711
int domain
Definition: remote.h:744
session_control_req_id
Definition: remote.h:752
Definition: remote.h:766
Definition: remote.h:796
Definition: remote.h:583
Definition: remote.h:971
Definition: remote.h:512
fastrpc_async_jobid jobid
Definition: remote.h:269
uint32_t enable
Definition: remote.h:409
uint64_t ctx
Definition: remote.h:731
Definition: remote.h:872
char * domain_name
Definition: remote.h:645
Definition: remote.h:331
Definition: remote.h:876
Definition: remote.h:288
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle_invoke_async(__QAIC_IN remote_handle h, __QAIC_IN fastrpc_async_descriptor_t *desc, __QAIC_IN uint32_t dwScalars, __QAIC_IN remote_arg *pra) __QAIC_REMOTE_ATTRIBUTE
int num_domains
Definition: remote.h:993
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_munmap(__QAIC_IN uint32_t vaddrout, __QAIC_IN int size) __QAIC_REMOTE_ATTRIBUTE
uint32_t uri_len
Definition: remote.h:704
uint32_t session_name_len
Definition: remote.h:651
char * domain_name
Definition: remote.h:672
void * pv
Definition: remote.h:184
#define __QAIC_REMOTE(ff)
Definition: remote.h:17
Definition: remote.h:198
Definition: remote.h:245
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() fastrpc_munmap(__QAIC_IN int domain, __QAIC_IN int fd, __QAIC_IN void *addr, __QAIC_IN size_t length) __QAIC_REMOTE_ATTRIBUTE
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_mmap64(__QAIC_IN int fd, __QAIC_IN uint32_t flags, __QAIC_IN __QAIC_INT64PTR vaddrin, __QAIC_IN int64_t size, __QAIC_OUT __QAIC_INT64PTR *vaddrout) __QAIC_REMOTE_ATTRIBUTE
Definition: remote.h:366
int domain
Definition: remote.h:533
int64_t nLen
Definition: remote.h:194
Definition: remote.h:760
Definition: remote.h:805
Definition: remote.h:360
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle_invoke(__QAIC_IN remote_handle h, __QAIC_IN uint32_t dwScalars, __QAIC_IN remote_arg *pra) __QAIC_REMOTE_ATTRIBUTE
struct fastrpc_context_create fastrpc_context_create
int stack_size
Definition: remote.h:474
int id
Definition: remote.h:170
uint32_t module_uri_len
Definition: remote.h:696
Definition: remote.h:772
handle_control_req_id
Definition: remote.h:440
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_register_dma_handle_attr(__QAIC_IN int fd, __QAIC_IN uint32_t len, __QAIC_IN uint32_t attr) __QAIC_REMOTE_ATTRIBUTE
Definition: remote.h:363
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() fastrpc_release_async_job(__QAIC_IN fastrpc_async_jobid jobid)
#define __QAIC_IN_LEN(len)
Definition: remote.h:62
Definition: remote.h:802
Definition: remote.h:643
#define MAX_DOMAIN_URI_SIZE
Definition: remote.h:146
uint32_t offset
Definition: remote.h:210
uint64_t fastrpc_async_jobid
Definition: remote.h:254
uint32_t pd_initmem_size
Definition: remote.h:633
#define __QAIC_INT64PTR
Definition: remote.h:78
Definition: remote.h:790
uint64_t flags
Definition: remote.h:1002
Definition: remote.h:885
struct domain_t domain
remote_dsp_attributes
Different types of DSP capabilities queried via remote_handle_control using DSPRPC_GET_DSP_INFO reque...
Definition: remote.h:350
uint32_t card
Definition: remote.h:958
system_req_id
Requst ID to obtain information of available domains.
Definition: remote.h:1009
Definition: remote.h:216
int32_t value_size
Definition: remote.h:430
Definition: remote.h:916
Definition: remote.h:589
Definition: remote.h:182
uint32_t soc_id
Definition: remote.h:963
unsigned int max_num_threads
Definition: remote.h:746
Definition: remote.h:848
Definition: remote.h:775
uint32_t num_domain_ids
Definition: remote.h:719
char * session_name
Definition: remote.h:649
uint64_t flags
Definition: remote.h:734
uint64_t remote_handle64
Definition: remote.h:179
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() fastrpc_mmap(__QAIC_IN int domain, __QAIC_IN int fd, __QAIC_IN void *addr, __QAIC_IN int offset, __QAIC_IN size_t length, __QAIC_IN enum fastrpc_map_flags flags) __QAIC_REMOTE_ATTRIBUTE
Payload for remote_system_request API.
Definition: remote.h:1018
fastrpc_domain * domains
Definition: remote.h:979
Definition: remote.h:378
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_mem_map(__QAIC_IN int domain, __QAIC_IN int fd, __QAIC_IN int flags, __QAIC_IN uint64_t virtAddr, __QAIC_IN size_t size, __QAIC_OUT uint64_t *remoteVirtAddr) __QAIC_REMOTE_ATTRIBUTE
Definition: remote.h:877
Definition: remote.h:353
int domain
Definition: remote.h:494
__QAIC_REMOTE_EXPORT __QAIC_RETURN void *__QAIC_REMOTE() remote_register_fd2(__QAIC_IN int fd, __QAIC_IN size_t size) __QAIC_REMOTE_ATTRIBUTE
#define __QAIC_REMOTE_EXPORT
__QAIC_REMOTE
Definition: remote.h:30
Definition: remote.h:873
struct remote_dsp_capability fastrpc_capability
int domain
Definition: remote.h:568
int32_t fd
Definition: remote.h:200
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle_control(__QAIC_IN uint32_t req, __QAIC_IN_LEN(datalen) void *data, __QAIC_IN uint32_t datalen) __QAIC_REMOTE_ATTRIBUTE
Definition: remote.h:265
fastrpc_map_flags
Types of maps with cache maintenance.
Definition: remote.h:838
uint32_t remote_handle
Definition: remote.h:176
Definition: remote.h:879
#define __QAIC_IN_CHAR
Definition: remote.h:54
Definition: remote.h:531
int enable
Definition: remote.h:485
Definition: remote.h:917
Definition: remote.h:763
uint32_t offset
Definition: remote.h:202
Definition: remote.h:915
uint32_t domain
Definition: remote.h:333
remote_handle64 h64
Definition: remote.h:234
__QAIC_REMOTE_EXPORT __QAIC_RETURN void __QAIC_REMOTE() remote_register_buf(__QAIC_IN_LEN(size) void *buf, __QAIC_IN int size, __QAIC_IN int fd) __QAIC_REMOTE_ATTRIBUTE
remote_handle h
Definition: remote.h:220
remote_buf64 buf
Definition: remote.h:230
Definition: remote.h:552
Definition: remote.h:393
Definition: remote.h:555
uint64_t flags
Definition: remote.h:722
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_set_mode(__QAIC_IN uint32_t mode) __QAIC_REMOTE_ATTRIBUTE
int max_domains
Definition: remote.h:986
__QAIC_REMOTE_EXPORT __QAIC_RETURN void __QAIC_REMOTE() remote_register_buf_attr2(__QAIC_IN_LEN(size) void *buf, __QAIC_IN size_t size, __QAIC_IN int fd, __QAIC_IN int attr) __QAIC_REMOTE_ATTRIBUTE
Definition: remote.h:1011
Definition: remote.h:878
Definition: remote.h:492
Definition: remote.h:190
Definition: remote.h:390
struct fastrpc_async_descriptor fastrpc_async_descriptor_t
system_req_id id
Definition: remote.h:1019
Definition: remote.h:242
int status
Definition: remote.h:953
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() fastrpc_async_get_status(__QAIC_IN fastrpc_async_jobid jobid, __QAIC_IN int timeout_us, __QAIC_OUT int *result)
struct remote_rpc_get_domain remote_rpc_get_domain_t
Definition: remote.h:914
int32_t fd
Definition: remote.h:208
Definition: remote.h:778
int enable
Definition: remote.h:535
char * uri
Definition: remote.h:702
void * context
Definition: remote.h:261
size_t nLen
Definition: remote.h:186
Definition: remote.h:875
int relative_thread_priority
Definition: remote.h:500
uint32_t domain_name_len
Definition: remote.h:674
Definition: remote.h:592
remote_dma_handle64 dma
Definition: remote.h:236
uint32_t attribute_ID
Definition: remote.h:335
uint32_t domain_name_len
Definition: remote.h:690
Definition: remote.h:454
Definition: remote.h:248
Definition: remote.h:457
char * module_uri
Definition: remote.h:694
Definition: remote.h:428
remote_rpc_latency_flags
Definition: remote.h:280
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_register_dma_handle(__QAIC_IN int fd, __QAIC_IN uint32_t len) __QAIC_REMOTE_ATTRIBUTE
uint32_t session_id
Definition: remote.h:692
uint32_t domain_name_len
Definition: remote.h:647
Definition: remote.h:580
Definition: remote.h:308
Definition: remote.h:808
Definition: remote.h:856
remote_handle h
Definition: remote.h:232
Definition: remote.h:448
struct fastrpc_context_destroy fastrpc_context_destroy
uint32_t session_id
Definition: remote.h:662
#define __QAIC_RETURN
Definition: remote.h:38
fastrpc_process_type
Definition: remote.h:550
Definition: remote.h:865
Definition: remote.h:407
Definition: remote.h:670
Definition: remote.h:375
uint32_t effective_domain_id
Definition: remote.h:678
Definition: remote.h:257
Definition: remote.h:686
remote_mem_map_flags
Definition: remote.h:815
Definition: remote.h:381
int domain
Definition: remote.h:618
Definition: remote.h:168
uint32_t effective_domain_id
Definition: remote.h:656
Definition: remote.h:912
enum remote_rpc_status_flags remote_rpc_status_flags_t
Definition: remote.h:845
Definition: remote.h:868
uint32_t latency
Definition: remote.h:324
Definition: remote.h:742
Definition: remote.h:871
Definition: remote.h:369
Definition: remote.h:628
Definition: remote.h:869
fastrpc_domain_type
Indicates the type of domains (DSPs) present in the system.
Definition: remote.h:910
Definition: remote.h:729
Definition: remote.h:468
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle_open(__QAIC_IN_CHAR const char *name, __QAIC_OUT remote_handle *ph) __QAIC_REMOTE_ATTRIBUTE
Definition: remote.h:913
Definition: remote.h:781
int domain
Definition: remote.h:470
remote_handle64 h64
Definition: remote.h:222
Definition: remote.h:874
Definition: remote.h:829
Definition: remote.h:893
uint32_t enable
Definition: remote.h:310
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle64_invoke(__QAIC_IN remote_handle64 h, __QAIC_IN uint32_t dwScalars, __QAIC_IN remote_arg *pra) __QAIC_REMOTE_ATTRIBUTE
struct remote_rpc_reserve_new_session remote_rpc_reserve_new_session_t
Definition: remote.h:301
#define __QAIC_REMOTE_ATTRIBUTE
Definition: remote.h:83
Definition: remote.h:283
int process_type
Definition: remote.h:570
Definition: remote.h:892
fastrpc_notif_fn_t notifier_fn
Definition: remote.h:620