1pub const EOS_USE_DLLEXPORT: u32 = 1;
9pub const EOS_TRUE: u32 = 1;
10pub const EOS_FALSE: u32 = 0;
11pub const EOS_EPICACCOUNTID_MAX_LENGTH: u32 = 32;
12pub const EOS_PRODUCTUSERID_MAX_LENGTH: u32 = 32;
13pub const EOS_OPT_Unknown: u32 = 0;
14pub const EOS_OPT_Epic: u32 = 100;
15pub const EOS_OPT_PSN: u32 = 1000;
16pub const EOS_OPT_Nintendo: u32 = 2000;
17pub const EOS_OPT_XBL: u32 = 3000;
18pub const EOS_OPT_Steam: u32 = 4000;
19pub const EOS_IPT_Steam: &[u8; 6] = b"STEAM\0";
20pub const EOS_INTEGRATEDPLATFORM_OPTIONS_API_LATEST: u32 = 1;
21pub const EOS_INTEGRATEDPLATFORM_STEAM_OPTIONS_API_LATEST: u32 = 3;
22pub const EOS_INTEGRATEDPLATFORM_STEAM_MAX_STEAMAPIINTERFACEVERSIONSARRAY_SIZE: u32 = 4096;
23pub const EOS_INTEGRATEDPLATFORM_CREATEINTEGRATEDPLATFORMOPTIONSCONTAINER_API_LATEST: u32 = 1;
24pub const EOS_INTEGRATEDPLATFORMOPTIONSCONTAINER_ADD_API_LATEST: u32 = 1;
25pub const EOS_INTEGRATEDPLATFORM_SETUSERLOGINSTATUS_API_LATEST: u32 = 1;
26pub const EOS_INTEGRATEDPLATFORM_ADDNOTIFYUSERLOGINSTATUSCHANGED_API_LATEST: u32 = 1;
27pub const EOS_INTEGRATEDPLATFORM_SETUSERPRELOGOUTCALLBACK_API_LATEST: u32 = 1;
28pub const EOS_INTEGRATEDPLATFORM_CLEARUSERPRELOGOUTCALLBACK_API_LATEST: u32 = 1;
29pub const EOS_INTEGRATEDPLATFORM_FINALIZEDEFERREDUSERLOGOUT_API_LATEST: u32 = 1;
30pub const EOS_PLATFORM_CLIENTCREDENTIALS_CLIENTID_MAX_LENGTH: u32 = 64;
31pub const EOS_PLATFORM_CLIENTCREDENTIALS_CLIENTSECRET_MAX_LENGTH: u32 = 64;
32pub const EOS_PLATFORM_RTCOPTIONS_API_LATEST: u32 = 3;
33pub const EOS_COUNTRYCODE_MAX_LENGTH: u32 = 4;
34pub const EOS_COUNTRYCODE_MAX_BUFFER_LEN: u32 = 5;
35pub const EOS_LOCALECODE_MAX_LENGTH: u32 = 9;
36pub const EOS_LOCALECODE_MAX_BUFFER_LEN: u32 = 10;
37pub const EOS_PLATFORM_OPTIONS_API_LATEST: u32 = 15;
38pub const EOS_PF_LOADING_IN_EDITOR: u32 = 1;
39pub const EOS_PF_DISABLE_OVERLAY: u32 = 2;
40pub const EOS_PF_DISABLE_SOCIAL_OVERLAY: u32 = 4;
41pub const EOS_PF_RESERVED1: u32 = 8;
42pub const EOS_PF_WINDOWS_ENABLE_OVERLAY_D3D9: u32 = 16;
43pub const EOS_PF_WINDOWS_ENABLE_OVERLAY_D3D10: u32 = 32;
44pub const EOS_PF_WINDOWS_ENABLE_OVERLAY_OPENGL: u32 = 64;
45pub const EOS_PF_CONSOLE_ENABLE_OVERLAY_AUTOMATIC_UNLOADING: u32 = 128;
46pub const EOS_PF_ENABLE_OVERLAY_DEBUG_LOGGING: u32 = 256;
47pub const EOS_PLATFORM_OPTIONS_PRODUCTID_MAX_LENGTH: u32 = 64;
48pub const EOS_PLATFORM_OPTIONS_SANDBOXID_MAX_LENGTH: u32 = 64;
49pub const EOS_PLATFORM_OPTIONS_ENCRYPTIONKEY_LENGTH: u32 = 64;
50pub const EOS_PLATFORM_OPTIONS_DEPLOYMENTID_MAX_LENGTH: u32 = 64;
51pub const EOS_PLATFORM_GETDESKTOPCROSSPLAYSTATUS_API_LATEST: u32 = 1;
52pub const EOS_PLATFORM_CHECKFORLAUNCHERANDRESTART_ENV_VAR: &[u8; 21] = b"EOS_LAUNCHED_BY_EPIC\0";
53pub const EOS_INITIALIZE_THREADAFFINITY_API_LATEST: u32 = 4;
54pub const EOS_INITIALIZE_API_LATEST: u32 = 5;
55pub const EOS_INITIALIZEOPTIONS_PRODUCTNAME_MAX_LENGTH: u32 = 64;
56pub const EOS_INITIALIZEOPTIONS_PRODUCTVERSION_MAX_LENGTH: u32 = 64;
57pub const EOS_METRICS_BEGINPLAYERSESSION_API_LATEST: u32 = 1;
58pub const EOS_METRICS_ENDPLAYERSESSION_API_LATEST: u32 = 1;
59pub const EOS_AUTH_ACCOUNTFEATURERESTRICTEDINFO_API_LATEST: u32 = 1;
60pub const EOS_AUTH_TOKEN_API_LATEST: u32 = 2;
61pub const EOS_AUTH_CREDENTIALS_API_LATEST: u32 = 4;
62pub const EOS_AUTH_PINGRANTINFO_API_LATEST: u32 = 2;
63pub const EOS_LF_NO_USER_INTERFACE: u32 = 1;
64pub const EOS_AUTH_LOGIN_API_LATEST: u32 = 3;
65pub const EOS_AUTH_LOGOUT_API_LATEST: u32 = 1;
66pub const EOS_AUTH_LINKACCOUNT_API_LATEST: u32 = 1;
67pub const EOS_AUTH_VERIFYUSERAUTH_API_LATEST: u32 = 1;
68pub const EOS_AUTH_COPYUSERAUTHTOKEN_API_LATEST: u32 = 1;
69pub const EOS_AUTH_COPYIDTOKEN_API_LATEST: u32 = 1;
70pub const EOS_AUTH_IDTOKEN_API_LATEST: u32 = 1;
71pub const EOS_AUTH_QUERYIDTOKEN_API_LATEST: u32 = 1;
72pub const EOS_AUTH_VERIFYIDTOKEN_API_LATEST: u32 = 1;
73pub const EOS_AUTH_ADDNOTIFYLOGINSTATUSCHANGED_API_LATEST: u32 = 1;
74pub const EOS_AUTH_DELETEPERSISTENTAUTH_API_LATEST: u32 = 2;
75pub const EOS_ECOM_ENTITLEMENT_API_LATEST: u32 = 2;
76pub const EOS_ECOM_ENTITLEMENT_ENDTIMESTAMP_UNDEFINED: i32 = -1;
77pub const EOS_ECOM_ITEMOWNERSHIP_API_LATEST: u32 = 1;
78pub const EOS_ECOM_CATALOGITEM_API_LATEST: u32 = 1;
79pub const EOS_ECOM_CATALOGITEM_ENTITLEMENTENDTIMESTAMP_UNDEFINED: i32 = -1;
80pub const EOS_ECOM_CATALOGITEMID_MAX_LENGTH: u32 = 32;
81pub const EOS_ECOM_CATALOGOFFER_API_LATEST: u32 = 5;
82pub const EOS_ECOM_CATALOGOFFER_EXPIRATIONTIMESTAMP_UNDEFINED: i32 = -1;
83pub const EOS_ECOM_CATALOGOFFER_RELEASEDATETIMESTAMP_UNDEFINED: i32 = -1;
84pub const EOS_ECOM_CATALOGOFFER_EFFECTIVEDATETIMESTAMP_UNDEFINED: i32 = -1;
85pub const EOS_ECOM_CATALOGOFFERID_MAX_LENGTH: u32 = 32;
86pub const EOS_ECOM_KEYIMAGEINFO_API_LATEST: u32 = 1;
87pub const EOS_ECOM_CATALOGRELEASE_API_LATEST: u32 = 1;
88pub const EOS_ECOM_CHECKOUTENTRY_API_LATEST: u32 = 1;
89pub const EOS_ECOM_QUERYOWNERSHIP_API_LATEST: u32 = 2;
90pub const EOS_ECOM_QUERYOWNERSHIP_MAX_CATALOG_IDS: u32 = 400;
91pub const EOS_ECOM_QUERYOWNERSHIPBYSANDBOXIDSOPTIONS_API_LATEST: u32 = 1;
92pub const EOS_ECOM_QUERYOWNERSHIP_MAX_SANDBOX_IDS: u32 = 10;
93pub const EOS_ECOM_QUERYOWNERSHIPTOKEN_API_LATEST: u32 = 2;
94pub const EOS_ECOM_QUERYOWNERSHIPTOKEN_MAX_CATALOGITEM_IDS: u32 = 32;
95pub const EOS_ECOM_QUERYENTITLEMENTS_API_LATEST: u32 = 3;
96pub const EOS_ECOM_QUERYENTITLEMENTS_MAX_ENTITLEMENT_IDS: u32 = 256;
97pub const EOS_ECOM_QUERYENTITLEMENTTOKEN_API_LATEST: u32 = 1;
98pub const EOS_ECOM_QUERYENTITLEMENTTOKEN_MAX_ENTITLEMENT_IDS: u32 = 32;
99pub const EOS_ECOM_QUERYOFFERS_API_LATEST: u32 = 1;
100pub const EOS_ECOM_CHECKOUT_API_LATEST: u32 = 2;
101pub const EOS_ECOM_CHECKOUT_MAX_ENTRIES: u32 = 10;
102pub const EOS_ECOM_TRANSACTIONID_MAXIMUM_LENGTH: u32 = 64;
103pub const EOS_ECOM_TRANSACTIONID_MAX_LENGTH: u32 = 64;
104pub const EOS_ECOM_REDEEMENTITLEMENTS_API_LATEST: u32 = 2;
105pub const EOS_ECOM_REDEEMENTITLEMENTS_MAX_IDS: u32 = 32;
106pub const EOS_ECOM_ENTITLEMENTID_MAX_LENGTH: u32 = 32;
107pub const EOS_ECOM_GETLASTREDEEMEDENTITLEMENTSCOUNT_API_LATEST: u32 = 1;
108pub const EOS_ECOM_COPYLASTREDEEMEDENTITLEMENTBYINDEX_API_LATEST: u32 = 1;
109pub const EOS_ECOM_GETLASTREDEEMENTITLEMENTSRESULTCOUNT_API_LATEST: u32 = 1;
110pub const EOS_ECOM_COPYLASTREDEEMENTITLEMENTSRESULTBYINDEX_API_LATEST: u32 = 1;
111pub const EOS_ECOM_GETENTITLEMENTSCOUNT_API_LATEST: u32 = 1;
112pub const EOS_ECOM_GETENTITLEMENTSBYNAMECOUNT_API_LATEST: u32 = 1;
113pub const EOS_ECOM_COPYENTITLEMENTBYINDEX_API_LATEST: u32 = 1;
114pub const EOS_ECOM_COPYENTITLEMENTBYNAMEANDINDEX_API_LATEST: u32 = 1;
115pub const EOS_ECOM_COPYENTITLEMENTBYID_API_LATEST: u32 = 2;
116pub const EOS_ECOM_GETOFFERCOUNT_API_LATEST: u32 = 1;
117pub const EOS_ECOM_COPYOFFERBYINDEX_API_LATEST: u32 = 3;
118pub const EOS_ECOM_COPYOFFERBYID_API_LATEST: u32 = 3;
119pub const EOS_ECOM_GETOFFERITEMCOUNT_API_LATEST: u32 = 1;
120pub const EOS_ECOM_COPYOFFERITEMBYINDEX_API_LATEST: u32 = 1;
121pub const EOS_ECOM_COPYITEMBYID_API_LATEST: u32 = 1;
122pub const EOS_ECOM_GETOFFERIMAGEINFOCOUNT_API_LATEST: u32 = 1;
123pub const EOS_ECOM_COPYOFFERIMAGEINFOBYINDEX_API_LATEST: u32 = 1;
124pub const EOS_ECOM_GETITEMIMAGEINFOCOUNT_API_LATEST: u32 = 1;
125pub const EOS_ECOM_COPYITEMIMAGEINFOBYINDEX_API_LATEST: u32 = 1;
126pub const EOS_ECOM_GETITEMRELEASECOUNT_API_LATEST: u32 = 1;
127pub const EOS_ECOM_COPYITEMRELEASEBYINDEX_API_LATEST: u32 = 1;
128pub const EOS_ECOM_GETTRANSACTIONCOUNT_API_LATEST: u32 = 1;
129pub const EOS_ECOM_COPYTRANSACTIONBYINDEX_API_LATEST: u32 = 1;
130pub const EOS_ECOM_COPYTRANSACTIONBYID_API_LATEST: u32 = 1;
131pub const EOS_ECOM_TRANSACTION_GETENTITLEMENTSCOUNT_API_LATEST: u32 = 1;
132pub const EOS_ECOM_TRANSACTION_COPYENTITLEMENTBYINDEX_API_LATEST: u32 = 1;
133pub const EOS_UI_EVENTID_INVALID: u32 = 0;
134pub const EOS_UI_SHOWFRIENDS_API_LATEST: u32 = 1;
135pub const EOS_UI_HIDEFRIENDS_API_LATEST: u32 = 1;
136pub const EOS_UI_GETFRIENDSVISIBLE_API_LATEST: u32 = 1;
137pub const EOS_UI_GETFRIENDSEXCLUSIVEINPUT_API_LATEST: u32 = 1;
138pub const EOS_UI_ADDNOTIFYDISPLAYSETTINGSUPDATED_API_LATEST: u32 = 1;
139pub const EOS_UI_SETTOGGLEFRIENDSKEY_API_LATEST: u32 = 1;
140pub const EOS_UI_GETTOGGLEFRIENDSKEY_API_LATEST: u32 = 1;
141pub const EOS_UI_SETTOGGLEFRIENDSBUTTON_API_LATEST: u32 = 1;
142pub const EOS_UI_GETTOGGLEFRIENDSBUTTON_API_LATEST: u32 = 1;
143pub const EOS_UI_SETDISPLAYPREFERENCE_API_LATEST: u32 = 1;
144pub const EOS_UI_ACKNOWLEDGEEVENTID_API_LATEST: u32 = 1;
145pub const EOS_UI_ACKNOWLEDGECORRELATIONID_API_LATEST: u32 = 1;
146pub const EOS_UI_REPORTINPUTSTATE_API_LATEST: u32 = 2;
147pub const EOS_UI_PREPRESENT_API_LATEST: u32 = 1;
148pub const EOS_UI_SHOWBLOCKPLAYER_API_LATEST: u32 = 1;
149pub const EOS_UI_SHOWREPORTPLAYER_API_LATEST: u32 = 1;
150pub const EOS_UI_SHOWNATIVEPROFILE_API_LATEST: u32 = 1;
151pub const EOS_UI_PAUSESOCIALOVERLAY_API_LATEST: u32 = 1;
152pub const EOS_UI_ISSOCIALOVERLAYPAUSED_API_LATEST: u32 = 1;
153pub const EOS_UI_RECT_API_LATEST: u32 = 1;
154pub const EOS_UI_ADDNOTIFYMEMORYMONITOR_API_LATEST: u32 = 1;
155pub const EOS_UI_ADDNOTIFYMEMORYMONITOROPTIONS_API_LATEST: u32 = 1;
156pub const EOS_UI_CONFIGUREONSCREENKEYBOARD_API_LATEST: u32 = 1;
157pub const EOS_UI_ADDNOTIFYONSCREENKEYBOARDREQUESTED_API_LATEST: u32 = 1;
158pub const EOS_FRIENDS_QUERYFRIENDS_API_LATEST: u32 = 1;
159pub const EOS_FRIENDS_SENDINVITE_API_LATEST: u32 = 1;
160pub const EOS_FRIENDS_ACCEPTINVITE_API_LATEST: u32 = 1;
161pub const EOS_FRIENDS_REJECTINVITE_API_LATEST: u32 = 1;
162pub const EOS_FRIENDS_GETFRIENDSCOUNT_API_LATEST: u32 = 1;
163pub const EOS_FRIENDS_GETFRIENDATINDEX_API_LATEST: u32 = 1;
164pub const EOS_FRIENDS_GETSTATUS_API_LATEST: u32 = 1;
165pub const EOS_FRIENDS_ADDNOTIFYFRIENDSUPDATE_API_LATEST: u32 = 1;
166pub const EOS_FRIENDS_GETBLOCKEDUSERSCOUNT_API_LATEST: u32 = 1;
167pub const EOS_FRIENDS_GETBLOCKEDUSERATINDEX_API_LATEST: u32 = 1;
168pub const EOS_FRIENDS_ADDNOTIFYBLOCKEDUSERSUPDATE_API_LATEST: u32 = 1;
169pub const EOS_PRESENCE_DATARECORD_API_LATEST: u32 = 1;
170pub const EOS_PRESENCE_INFO_API_LATEST: u32 = 3;
171pub const EOS_PRESENCE_QUERYPRESENCE_API_LATEST: u32 = 1;
172pub const EOS_PRESENCE_HASPRESENCE_API_LATEST: u32 = 1;
173pub const EOS_PRESENCE_COPYPRESENCE_API_LATEST: u32 = 3;
174pub const EOS_PRESENCE_CREATEPRESENCEMODIFICATION_API_LATEST: u32 = 1;
175pub const EOS_PRESENCE_SETPRESENCE_API_LATEST: u32 = 1;
176pub const EOS_PRESENCE_ADDNOTIFYONPRESENCECHANGED_API_LATEST: u32 = 1;
177pub const EOS_PRESENCE_ADDNOTIFYJOINGAMEACCEPTED_API_LATEST: u32 = 2;
178pub const EOS_PRESENCE_GETJOININFO_API_LATEST: u32 = 1;
179pub const EOS_PRESENCEMODIFICATION_SETJOININFO_API_LATEST: u32 = 1;
180pub const EOS_PRESENCE_DATA_MAX_KEYS: u32 = 32;
181pub const EOS_PRESENCE_DATA_MAX_KEY_LENGTH: u32 = 64;
182pub const EOS_PRESENCE_DATA_MAX_VALUE_LENGTH: u32 = 255;
183pub const EOS_PRESENCE_RICH_TEXT_MAX_VALUE_LENGTH: u32 = 255;
184pub const EOS_PRESENCE_KEY_PLATFORM_PRESENCE: &[u8; 21] = b"EOS_PlatformPresence\0";
185pub const EOS_PRESENCEMODIFICATION_SETSTATUS_API_LATEST: u32 = 1;
186pub const EOS_PRESENCE_SETSTATUS_API_LATEST: u32 = 1;
187pub const EOS_PRESENCEMODIFICATION_SETRAWRICHTEXT_API_LATEST: u32 = 1;
188pub const EOS_PRESENCE_SETRAWRICHTEXT_API_LATEST: u32 = 1;
189pub const EOS_PRESENCEMODIFICATION_SETDATA_API_LATEST: u32 = 1;
190pub const EOS_PRESENCE_SETDATA_API_LATEST: u32 = 1;
191pub const EOS_PRESENCEMODIFICATION_DATARECORDID_API_LATEST: u32 = 1;
192pub const EOS_PRESENCEMODIFICATION_DELETEDATA_API_LATEST: u32 = 1;
193pub const EOS_PRESENCE_DELETEDATA_API_LATEST: u32 = 1;
194pub const EOS_P2P_MAX_PACKET_SIZE: u32 = 1170;
195pub const EOS_P2P_MAX_CONNECTIONS: u32 = 32;
196pub const EOS_P2P_SOCKETID_API_LATEST: u32 = 1;
197pub const EOS_P2P_SOCKETID_SOCKETNAME_SIZE: u32 = 33;
198pub const EOS_P2P_SENDPACKET_API_LATEST: u32 = 3;
199pub const EOS_P2P_GETNEXTRECEIVEDPACKETSIZE_API_LATEST: u32 = 2;
200pub const EOS_P2P_RECEIVEPACKET_API_LATEST: u32 = 2;
201pub const EOS_P2P_ADDNOTIFYPEERCONNECTIONREQUEST_API_LATEST: u32 = 1;
202pub const EOS_P2P_ADDNOTIFYPEERCONNECTIONESTABLISHED_API_LATEST: u32 = 1;
203pub const EOS_P2P_ADDNOTIFYPEERCONNECTIONINTERRUPTED_API_LATEST: u32 = 1;
204pub const EOS_P2P_ADDNOTIFYPEERCONNECTIONCLOSED_API_LATEST: u32 = 1;
205pub const EOS_P2P_ACCEPTCONNECTION_API_LATEST: u32 = 1;
206pub const EOS_P2P_CLOSECONNECTION_API_LATEST: u32 = 1;
207pub const EOS_P2P_CLOSECONNECTIONS_API_LATEST: u32 = 1;
208pub const EOS_P2P_QUERYNATTYPE_API_LATEST: u32 = 1;
209pub const EOS_P2P_GETNATTYPE_API_LATEST: u32 = 1;
210pub const EOS_P2P_SETRELAYCONTROL_API_LATEST: u32 = 1;
211pub const EOS_P2P_GETRELAYCONTROL_API_LATEST: u32 = 1;
212pub const EOS_P2P_SETPORTRANGE_API_LATEST: u32 = 1;
213pub const EOS_P2P_GETPORTRANGE_API_LATEST: u32 = 1;
214pub const EOS_P2P_MAX_QUEUE_SIZE_UNLIMITED: u32 = 0;
215pub const EOS_P2P_SETPACKETQUEUESIZE_API_LATEST: u32 = 1;
216pub const EOS_P2P_GETPACKETQUEUEINFO_API_LATEST: u32 = 1;
217pub const EOS_P2P_ADDNOTIFYINCOMINGPACKETQUEUEFULL_API_LATEST: u32 = 1;
218pub const EOS_P2P_CLEARPACKETQUEUE_API_LATEST: u32 = 1;
219pub const EOS_SESSIONMODIFICATION_MAX_SESSION_ATTRIBUTES: u32 = 64;
220pub const EOS_SESSIONMODIFICATION_MAX_SESSION_ATTRIBUTE_LENGTH: u32 = 64;
221pub const EOS_SESSIONMODIFICATION_MIN_SESSIONIDOVERRIDE_LENGTH: u32 = 16;
222pub const EOS_SESSIONMODIFICATION_MAX_SESSIONIDOVERRIDE_LENGTH: u32 = 64;
223pub const EOS_SESSIONS_CREATESESSIONMODIFICATION_API_LATEST: u32 = 5;
224pub const EOS_SESSIONS_UPDATESESSIONMODIFICATION_API_LATEST: u32 = 1;
225pub const EOS_SESSIONS_INVITEID_MAX_LENGTH: u32 = 64;
226pub const EOS_SESSIONS_SENDINVITE_API_LATEST: u32 = 1;
227pub const EOS_SESSIONS_REJECTINVITE_API_LATEST: u32 = 1;
228pub const EOS_SESSIONS_QUERYINVITES_API_LATEST: u32 = 1;
229pub const EOS_SESSIONS_GETINVITECOUNT_API_LATEST: u32 = 1;
230pub const EOS_SESSIONS_GETINVITEIDBYINDEX_API_LATEST: u32 = 1;
231pub const EOS_SESSIONS_CREATESESSIONSEARCH_API_LATEST: u32 = 1;
232pub const EOS_SESSIONS_UPDATESESSION_API_LATEST: u32 = 1;
233pub const EOS_SESSIONS_DESTROYSESSION_API_LATEST: u32 = 1;
234pub const EOS_SESSIONS_JOINSESSION_API_LATEST: u32 = 2;
235pub const EOS_SESSIONS_STARTSESSION_API_LATEST: u32 = 1;
236pub const EOS_SESSIONS_ENDSESSION_API_LATEST: u32 = 1;
237pub const EOS_SESSIONS_REGISTERPLAYERS_API_LATEST: u32 = 3;
238pub const EOS_SESSIONS_UNREGISTERPLAYERS_API_LATEST: u32 = 2;
239pub const EOS_SESSIONMODIFICATION_SETBUCKETID_API_LATEST: u32 = 1;
240pub const EOS_SESSIONMODIFICATION_SETHOSTADDRESS_API_LATEST: u32 = 1;
241pub const EOS_SESSIONMODIFICATION_SETPERMISSIONLEVEL_API_LATEST: u32 = 1;
242pub const EOS_SESSIONMODIFICATION_SETJOININPROGRESSALLOWED_API_LATEST: u32 = 1;
243pub const EOS_SESSIONS_MAXREGISTEREDPLAYERS: u32 = 1000;
244pub const EOS_SESSIONMODIFICATION_SETMAXPLAYERS_API_LATEST: u32 = 1;
245pub const EOS_SESSIONMODIFICATION_SETINVITESALLOWED_API_LATEST: u32 = 1;
246pub const EOS_SESSIONMODIFICATION_SETALLOWEDPLATFORMIDS_API_LATEST: u32 = 1;
247pub const EOS_SESSIONS_SEARCH_BUCKET_ID: &[u8; 7] = b"bucket\0";
248pub const EOS_SESSIONS_SEARCH_EMPTY_SERVERS_ONLY: &[u8; 10] = b"emptyonly\0";
249pub const EOS_SESSIONS_SEARCH_NONEMPTY_SERVERS_ONLY: &[u8; 13] = b"nonemptyonly\0";
250pub const EOS_SESSIONS_SEARCH_MINSLOTSAVAILABLE: &[u8; 18] = b"minslotsavailable\0";
251pub const EOS_SESSIONS_ATTRIBUTEDATA_API_LATEST: u32 = 1;
252pub const EOS_SESSIONS_SESSIONATTRIBUTEDATA_API_LATEST: u32 = 1;
253pub const EOS_ACTIVESESSION_COPYINFO_API_LATEST: u32 = 1;
254pub const EOS_ACTIVESESSION_GETREGISTEREDPLAYERCOUNT_API_LATEST: u32 = 1;
255pub const EOS_ACTIVESESSION_GETREGISTEREDPLAYERBYINDEX_API_LATEST: u32 = 1;
256pub const EOS_SESSIONDETAILS_ATTRIBUTE_API_LATEST: u32 = 1;
257pub const EOS_SESSIONS_SESSIONATTRIBUTE_API_LATEST: u32 = 1;
258pub const EOS_SESSIONMODIFICATION_ADDATTRIBUTE_API_LATEST: u32 = 2;
259pub const EOS_SESSIONMODIFICATION_REMOVEATTRIBUTE_API_LATEST: u32 = 1;
260pub const EOS_SESSIONS_MAX_SEARCH_RESULTS: u32 = 200;
261pub const EOS_SESSIONSEARCH_SETMAXSEARCHRESULTS_API_LATEST: u32 = 1;
262pub const EOS_SESSIONSEARCH_FIND_API_LATEST: u32 = 2;
263pub const EOS_SESSIONSEARCH_GETSEARCHRESULTCOUNT_API_LATEST: u32 = 1;
264pub const EOS_SESSIONSEARCH_COPYSEARCHRESULTBYINDEX_API_LATEST: u32 = 1;
265pub const EOS_SESSIONSEARCH_SETSESSIONID_API_LATEST: u32 = 1;
266pub const EOS_SESSIONSEARCH_SETTARGETUSERID_API_LATEST: u32 = 1;
267pub const EOS_SESSIONSEARCH_SETPARAMETER_API_LATEST: u32 = 1;
268pub const EOS_SESSIONSEARCH_REMOVEPARAMETER_API_LATEST: u32 = 1;
269pub const EOS_SESSIONDETAILS_SETTINGS_API_LATEST: u32 = 4;
270pub const EOS_SESSIONDETAILS_INFO_API_LATEST: u32 = 2;
271pub const EOS_SESSIONDETAILS_COPYINFO_API_LATEST: u32 = 1;
272pub const EOS_SESSIONDETAILS_GETSESSIONATTRIBUTECOUNT_API_LATEST: u32 = 1;
273pub const EOS_SESSIONDETAILS_COPYSESSIONATTRIBUTEBYINDEX_API_LATEST: u32 = 1;
274pub const EOS_SESSIONDETAILS_COPYSESSIONATTRIBUTEBYKEY_API_LATEST: u32 = 1;
275pub const EOS_ACTIVESESSION_INFO_API_LATEST: u32 = 1;
276pub const EOS_SESSIONS_COPYACTIVESESSIONHANDLE_API_LATEST: u32 = 1;
277pub const EOS_SESSIONS_ADDNOTIFYSESSIONINVITERECEIVED_API_LATEST: u32 = 1;
278pub const EOS_SESSIONS_ADDNOTIFYSESSIONINVITEACCEPTED_API_LATEST: u32 = 1;
279pub const EOS_SESSIONS_ADDNOTIFYSESSIONINVITEREJECTED_API_LATEST: u32 = 1;
280pub const EOS_SESSIONS_ADDNOTIFYJOINSESSIONACCEPTED_API_LATEST: u32 = 1;
281pub const EOS_SESSIONS_COPYSESSIONHANDLEBYINVITEID_API_LATEST: u32 = 1;
282pub const EOS_SESSIONS_COPYSESSIONHANDLEBYUIEVENTID_API_LATEST: u32 = 1;
283pub const EOS_SESSIONS_COPYSESSIONHANDLEFORPRESENCE_API_LATEST: u32 = 1;
284pub const EOS_SESSIONS_ISUSERINSESSION_API_LATEST: u32 = 1;
285pub const EOS_SESSIONS_DUMPSESSIONSTATE_API_LATEST: u32 = 1;
286pub const EOS_SESSIONS_ADDNOTIFYLEAVESESSIONREQUESTED_API_LATEST: u32 = 1;
287pub const EOS_SESSIONS_ADDNOTIFYSENDSESSIONNATIVEINVITEREQUESTED_API_LATEST: u32 = 1;
288pub const EOS_LOBBY_MAX_LOBBIES: u32 = 16;
289pub const EOS_LOBBY_MAX_LOBBY_MEMBERS: u32 = 64;
290pub const EOS_LOBBY_MAX_SEARCH_RESULTS: u32 = 200;
291pub const EOS_LOBBY_MIN_LOBBYIDOVERRIDE_LENGTH: u32 = 4;
292pub const EOS_LOBBY_MAX_LOBBYIDOVERRIDE_LENGTH: u32 = 60;
293pub const EOS_LOBBYMODIFICATION_MAX_ATTRIBUTES: u32 = 64;
294pub const EOS_LOBBYMODIFICATION_MAX_ATTRIBUTE_LENGTH: u32 = 64;
295pub const EOS_LOBBYDETAILS_INFO_API_LATEST: u32 = 3;
296pub const EOS_LOBBY_LOCALRTCOPTIONS_API_LATEST: u32 = 2;
297pub const EOS_LOBBY_CREATELOBBY_API_LATEST: u32 = 10;
298pub const EOS_LOBBY_DESTROYLOBBY_API_LATEST: u32 = 1;
299pub const EOS_LOBBY_JOINLOBBY_API_LATEST: u32 = 5;
300pub const EOS_LOBBY_JOINLOBBYBYID_API_LATEST: u32 = 3;
301pub const EOS_LOBBY_LEAVELOBBY_API_LATEST: u32 = 1;
302pub const EOS_LOBBY_UPDATELOBBYMODIFICATION_API_LATEST: u32 = 1;
303pub const EOS_LOBBY_UPDATELOBBY_API_LATEST: u32 = 1;
304pub const EOS_LOBBY_JOINRTCROOM_API_LATEST: u32 = 1;
305pub const EOS_LOBBY_LEAVERTCROOM_API_LATEST: u32 = 1;
306pub const EOS_LOBBY_PROMOTEMEMBER_API_LATEST: u32 = 1;
307pub const EOS_LOBBY_KICKMEMBER_API_LATEST: u32 = 1;
308pub const EOS_LOBBY_HARDMUTEMEMBER_API_LATEST: u32 = 1;
309pub const EOS_LOBBY_ADDNOTIFYLOBBYUPDATERECEIVED_API_LATEST: u32 = 1;
310pub const EOS_LOBBY_ADDNOTIFYLOBBYMEMBERUPDATERECEIVED_API_LATEST: u32 = 1;
311pub const EOS_LOBBY_ADDNOTIFYLOBBYMEMBERSTATUSRECEIVED_API_LATEST: u32 = 1;
312pub const EOS_LOBBY_INVITEID_MAX_LENGTH: u32 = 64;
313pub const EOS_LOBBY_ADDNOTIFYLOBBYINVITERECEIVED_API_LATEST: u32 = 1;
314pub const EOS_LOBBY_ADDNOTIFYLOBBYINVITEACCEPTED_API_LATEST: u32 = 1;
315pub const EOS_LOBBY_ADDNOTIFYJOINLOBBYACCEPTED_API_LATEST: u32 = 1;
316pub const EOS_LOBBY_ADDNOTIFYLOBBYINVITEREJECTED_API_LATEST: u32 = 1;
317pub const EOS_LOBBY_ADDNOTIFYSENDLOBBYNATIVEINVITEREQUESTED_API_LATEST: u32 = 1;
318pub const EOS_LOBBY_COPYLOBBYDETAILSHANDLEBYINVITEID_API_LATEST: u32 = 1;
319pub const EOS_LOBBY_COPYLOBBYDETAILSHANDLEBYUIEVENTID_API_LATEST: u32 = 1;
320pub const EOS_LOBBY_CREATELOBBYSEARCH_API_LATEST: u32 = 1;
321pub const EOS_LOBBY_SENDINVITE_API_LATEST: u32 = 1;
322pub const EOS_LOBBY_REJECTINVITE_API_LATEST: u32 = 1;
323pub const EOS_LOBBY_QUERYINVITES_API_LATEST: u32 = 1;
324pub const EOS_LOBBY_GETINVITECOUNT_API_LATEST: u32 = 1;
325pub const EOS_LOBBY_GETINVITEIDBYINDEX_API_LATEST: u32 = 1;
326pub const EOS_LOBBY_COPYLOBBYDETAILSHANDLE_API_LATEST: u32 = 1;
327pub const EOS_LOBBY_GETRTCROOMNAME_API_LATEST: u32 = 1;
328pub const EOS_LOBBY_ISRTCROOMCONNECTED_API_LATEST: u32 = 1;
329pub const EOS_LOBBY_ADDNOTIFYRTCROOMCONNECTIONCHANGED_API_LATEST: u32 = 2;
330pub const EOS_LOBBY_SEARCH_BUCKET_ID: &[u8; 7] = b"bucket\0";
331pub const EOS_LOBBY_SEARCH_MINCURRENTMEMBERS: &[u8; 18] = b"mincurrentmembers\0";
332pub const EOS_LOBBY_SEARCH_MINSLOTSAVAILABLE: &[u8; 18] = b"minslotsavailable\0";
333pub const EOS_LOBBY_ATTRIBUTEDATA_API_LATEST: u32 = 1;
334pub const EOS_LOBBY_ATTRIBUTE_API_LATEST: u32 = 1;
335pub const EOS_LOBBY_GETCONNECTSTRING_API_LATEST: u32 = 1;
336pub const EOS_LOBBY_GETCONNECTSTRING_BUFFER_SIZE: u32 = 256;
337pub const EOS_LOBBY_PARSECONNECTSTRING_API_LATEST: u32 = 1;
338pub const EOS_LOBBY_PARSECONNECTSTRING_BUFFER_SIZE: u32 = 256;
339pub const EOS_LOBBYMODIFICATION_SETBUCKETID_API_LATEST: u32 = 1;
340pub const EOS_LOBBYMODIFICATION_SETPERMISSIONLEVEL_API_LATEST: u32 = 1;
341pub const EOS_LOBBYMODIFICATION_SETMAXMEMBERS_API_LATEST: u32 = 1;
342pub const EOS_LOBBYMODIFICATION_SETINVITESALLOWED_API_LATEST: u32 = 1;
343pub const EOS_LOBBYMODIFICATION_ADDATTRIBUTE_API_LATEST: u32 = 2;
344pub const EOS_LOBBYMODIFICATION_REMOVEATTRIBUTE_API_LATEST: u32 = 1;
345pub const EOS_LOBBYMODIFICATION_ADDMEMBERATTRIBUTE_API_LATEST: u32 = 2;
346pub const EOS_LOBBYMODIFICATION_REMOVEMEMBERATTRIBUTE_API_LATEST: u32 = 1;
347pub const EOS_LOBBYMODIFICATION_SETALLOWEDPLATFORMIDS_API_LATEST: u32 = 1;
348pub const EOS_LOBBYDETAILS_GETLOBBYOWNER_API_LATEST: u32 = 1;
349pub const EOS_LOBBYDETAILS_COPYINFO_API_LATEST: u32 = 1;
350pub const EOS_LOBBYDETAILS_GETATTRIBUTECOUNT_API_LATEST: u32 = 1;
351pub const EOS_LOBBYDETAILS_COPYATTRIBUTEBYINDEX_API_LATEST: u32 = 1;
352pub const EOS_LOBBYDETAILS_COPYATTRIBUTEBYKEY_API_LATEST: u32 = 1;
353pub const EOS_LOBBYDETAILS_GETMEMBERATTRIBUTECOUNT_API_LATEST: u32 = 1;
354pub const EOS_LOBBYDETAILS_COPYMEMBERATTRIBUTEBYINDEX_API_LATEST: u32 = 1;
355pub const EOS_LOBBYDETAILS_COPYMEMBERATTRIBUTEBYKEY_API_LATEST: u32 = 1;
356pub const EOS_LOBBYDETAILS_GETMEMBERCOUNT_API_LATEST: u32 = 1;
357pub const EOS_LOBBYDETAILS_GETMEMBERBYINDEX_API_LATEST: u32 = 1;
358pub const EOS_LOBBYSEARCH_FIND_API_LATEST: u32 = 1;
359pub const EOS_LOBBYSEARCH_SETLOBBYID_API_LATEST: u32 = 1;
360pub const EOS_LOBBYSEARCH_SETTARGETUSERID_API_LATEST: u32 = 1;
361pub const EOS_LOBBYSEARCH_SETPARAMETER_API_LATEST: u32 = 1;
362pub const EOS_LOBBYSEARCH_REMOVEPARAMETER_API_LATEST: u32 = 1;
363pub const EOS_LOBBYSEARCH_SETMAXRESULTS_API_LATEST: u32 = 1;
364pub const EOS_LOBBYSEARCH_GETSEARCHRESULTCOUNT_API_LATEST: u32 = 1;
365pub const EOS_LOBBYSEARCH_COPYSEARCHRESULTBYINDEX_API_LATEST: u32 = 1;
366pub const EOS_LOBBYDETAILS_COPYMEMBERINFO_API_LATEST: u32 = 1;
367pub const EOS_LOBBYDETAILS_MEMBERINFO_API_LATEST: u32 = 1;
368pub const EOS_LOBBY_ADDNOTIFYLEAVELOBBYREQUESTED_API_LATEST: u32 = 1;
369pub const EOS_USERINFO_QUERYUSERINFO_API_LATEST: u32 = 1;
370pub const EOS_USERINFO_QUERYUSERINFOBYDISPLAYNAME_API_LATEST: u32 = 1;
371pub const EOS_USERINFO_QUERYUSERINFOBYEXTERNALACCOUNT_API_LATEST: u32 = 1;
372pub const EOS_USERINFO_MAX_DISPLAYNAME_CHARACTERS: u32 = 16;
373pub const EOS_USERINFO_MAX_DISPLAYNAME_UTF8_LENGTH: u32 = 64;
374pub const EOS_USERINFO_COPYUSERINFO_API_LATEST: u32 = 3;
375pub const EOS_USERINFO_EXTERNALUSERINFO_API_LATEST: u32 = 2;
376pub const EOS_USERINFO_GETEXTERNALUSERINFOCOUNT_API_LATEST: u32 = 1;
377pub const EOS_USERINFO_COPYEXTERNALUSERINFOBYINDEX_API_LATEST: u32 = 1;
378pub const EOS_USERINFO_COPYEXTERNALUSERINFOBYACCOUNTTYPE_API_LATEST: u32 = 1;
379pub const EOS_USERINFO_COPYEXTERNALUSERINFOBYACCOUNTID_API_LATEST: u32 = 1;
380pub const EOS_USERINFO_BESTDISPLAYNAME_API_LATEST: u32 = 1;
381pub const EOS_USERINFO_COPYBESTDISPLAYNAME_API_LATEST: u32 = 1;
382pub const EOS_USERINFO_COPYBESTDISPLAYNAMEWITHPLATFORM_API_LATEST: u32 = 1;
383pub const EOS_USERINFO_GETLOCALPLATFORMTYPE_API_LATEST: u32 = 1;
384pub const EOS_PLAYERDATASTORAGE_FILENAME_MAX_LENGTH_BYTES: u32 = 64;
385pub const EOS_PLAYERDATASTORAGE_TIME_UNDEFINED: i32 = -1;
386pub const EOS_PLAYERDATASTORAGE_FILEMETADATA_API_LATEST: u32 = 3;
387pub const EOS_PLAYERDATASTORAGE_QUERYFILE_API_LATEST: u32 = 1;
388pub const EOS_PLAYERDATASTORAGE_QUERYFILEOPTIONS_API_LATEST: u32 = 1;
389pub const EOS_PLAYERDATASTORAGE_QUERYFILELIST_API_LATEST: u32 = 2;
390pub const EOS_PLAYERDATASTORAGE_QUERYFILELISTOPTIONS_API_LATEST: u32 = 2;
391pub const EOS_PLAYERDATASTORAGE_GETFILEMETADATACOUNT_API_LATEST: u32 = 1;
392pub const EOS_PLAYERDATASTORAGE_GETFILEMETADATACOUNTOPTIONS_API_LATEST: u32 = 1;
393pub const EOS_PLAYERDATASTORAGE_COPYFILEMETADATAATINDEX_API_LATEST: u32 = 1;
394pub const EOS_PLAYERDATASTORAGE_COPYFILEMETADATAATINDEXOPTIONS_API_LATEST: u32 = 1;
395pub const EOS_PLAYERDATASTORAGE_COPYFILEMETADATABYFILENAME_API_LATEST: u32 = 1;
396pub const EOS_PLAYERDATASTORAGE_COPYFILEMETADATABYFILENAMEOPTIONS_API_LATEST: u32 = 1;
397pub const EOS_PLAYERDATASTORAGE_DUPLICATEFILE_API_LATEST: u32 = 1;
398pub const EOS_PLAYERDATASTORAGE_DUPLICATEFILEOPTIONS_API_LATEST: u32 = 1;
399pub const EOS_PLAYERDATASTORAGE_DELETEFILE_API_LATEST: u32 = 1;
400pub const EOS_PLAYERDATASTORAGE_DELETEFILEOPTIONS_API_LATEST: u32 = 1;
401pub const EOS_PLAYERDATASTORAGE_READFILE_API_LATEST: u32 = 2;
402pub const EOS_PLAYERDATASTORAGE_READFILEOPTIONS_API_LATEST: u32 = 2;
403pub const EOS_PLAYERDATASTORAGE_WRITEFILE_API_LATEST: u32 = 2;
404pub const EOS_PLAYERDATASTORAGE_WRITEFILEOPTIONS_API_LATEST: u32 = 2;
405pub const EOS_PLAYERDATASTORAGE_DELETECACHE_API_LATEST: u32 = 1;
406pub const EOS_PLAYERDATASTORAGE_DELETECACHEOPTIONS_API_LATEST: u32 = 1;
407pub const EOS_TITLESTORAGE_FILENAME_MAX_LENGTH_BYTES: u32 = 64;
408pub const EOS_TITLESTORAGE_FILEMETADATA_API_LATEST: u32 = 2;
409pub const EOS_TITLESTORAGE_QUERYFILE_API_LATEST: u32 = 1;
410pub const EOS_TITLESTORAGE_QUERYFILEOPTIONS_API_LATEST: u32 = 1;
411pub const EOS_TITLESTORAGE_QUERYFILELIST_API_LATEST: u32 = 1;
412pub const EOS_TITLESTORAGE_QUERYFILELISTOPTIONS_API_LATEST: u32 = 1;
413pub const EOS_TITLESTORAGE_GETFILEMETADATACOUNT_API_LATEST: u32 = 1;
414pub const EOS_TITLESTORAGE_GETFILEMETADATACOUNTOPTIONS_API_LATEST: u32 = 1;
415pub const EOS_TITLESTORAGE_COPYFILEMETADATAATINDEX_API_LATEST: u32 = 1;
416pub const EOS_TITLESTORAGE_COPYFILEMETADATAATINDEXOPTIONS_API_LATEST: u32 = 1;
417pub const EOS_TITLESTORAGE_COPYFILEMETADATABYFILENAME_API_LATEST: u32 = 1;
418pub const EOS_TITLESTORAGE_COPYFILEMETADATABYFILENAMEOPTIONS_API_LATEST: u32 = 1;
419pub const EOS_TITLESTORAGE_READFILE_API_LATEST: u32 = 2;
420pub const EOS_TITLESTORAGE_READFILEOPTIONS_API_LATEST: u32 = 2;
421pub const EOS_TITLESTORAGE_DELETECACHE_API_LATEST: u32 = 1;
422pub const EOS_TITLESTORAGE_DELETECACHEOPTIONS_API_LATEST: u32 = 1;
423pub const EOS_CONNECT_EXTERNAL_ACCOUNT_ID_MAX_LENGTH: u32 = 256;
424pub const EOS_CONNECT_CREDENTIALS_API_LATEST: u32 = 1;
425pub const EOS_CONNECT_USERLOGININFO_DISPLAYNAME_MAX_LENGTH: u32 = 32;
426pub const EOS_CONNECT_USERLOGININFO_API_LATEST: u32 = 2;
427pub const EOS_CONNECT_LOGIN_API_LATEST: u32 = 2;
428pub const EOS_CONNECT_LOGOUT_API_LATEST: u32 = 1;
429pub const EOS_CONNECT_CREATEUSER_API_LATEST: u32 = 1;
430pub const EOS_CONNECT_LINKACCOUNT_API_LATEST: u32 = 1;
431pub const EOS_CONNECT_UNLINKACCOUNT_API_LATEST: u32 = 1;
432pub const EOS_CONNECT_CREATEDEVICEID_API_LATEST: u32 = 1;
433pub const EOS_CONNECT_CREATEDEVICEID_DEVICEMODEL_MAX_LENGTH: u32 = 64;
434pub const EOS_CONNECT_DELETEDEVICEID_API_LATEST: u32 = 1;
435pub const EOS_CONNECT_TRANSFERDEVICEIDACCOUNT_API_LATEST: u32 = 1;
436pub const EOS_CONNECT_QUERYEXTERNALACCOUNTMAPPINGS_API_LATEST: u32 = 1;
437pub const EOS_CONNECT_QUERYEXTERNALACCOUNTMAPPINGS_MAX_ACCOUNT_IDS: u32 = 128;
438pub const EOS_CONNECT_GETEXTERNALACCOUNTMAPPING_API_LATEST: u32 = 1;
439pub const EOS_CONNECT_GETEXTERNALACCOUNTMAPPINGS_API_LATEST: u32 = 1;
440pub const EOS_CONNECT_QUERYPRODUCTUSERIDMAPPINGS_API_LATEST: u32 = 2;
441pub const EOS_CONNECT_GETPRODUCTUSERIDMAPPING_API_LATEST: u32 = 1;
442pub const EOS_CONNECT_GETPRODUCTUSEREXTERNALACCOUNTCOUNT_API_LATEST: u32 = 1;
443pub const EOS_CONNECT_COPYPRODUCTUSEREXTERNALACCOUNTBYINDEX_API_LATEST: u32 = 1;
444pub const EOS_CONNECT_COPYPRODUCTUSEREXTERNALACCOUNTBYACCOUNTTYPE_API_LATEST: u32 = 1;
445pub const EOS_CONNECT_COPYPRODUCTUSEREXTERNALACCOUNTBYACCOUNTID_API_LATEST: u32 = 1;
446pub const EOS_CONNECT_COPYPRODUCTUSERINFO_API_LATEST: u32 = 1;
447pub const EOS_CONNECT_TIME_UNDEFINED: i32 = -1;
448pub const EOS_CONNECT_EXTERNALACCOUNTINFO_API_LATEST: u32 = 1;
449pub const EOS_CONNECT_ADDNOTIFYAUTHEXPIRATION_API_LATEST: u32 = 1;
450pub const EOS_CONNECT_ADDNOTIFYLOGINSTATUSCHANGED_API_LATEST: u32 = 1;
451pub const EOS_CONNECT_IDTOKEN_API_LATEST: u32 = 1;
452pub const EOS_CONNECT_COPYIDTOKEN_API_LATEST: u32 = 1;
453pub const EOS_CONNECT_VERIFYIDTOKEN_API_LATEST: u32 = 1;
454pub const EOS_ACHIEVEMENTS_QUERYDEFINITIONS_API_LATEST: u32 = 3;
455pub const EOS_ACHIEVEMENTS_STATTHRESHOLDS_API_LATEST: u32 = 1;
456pub const EOS_ACHIEVEMENTS_STATTHRESHOLD_API_LATEST: u32 = 1;
457pub const EOS_ACHIEVEMENTS_PLAYERSTATINFO_API_LATEST: u32 = 1;
458pub const EOS_ACHIEVEMENTS_DEFINITIONV2_API_LATEST: u32 = 2;
459pub const EOS_ACHIEVEMENTS_GETACHIEVEMENTDEFINITIONCOUNT_API_LATEST: u32 = 1;
460pub const EOS_ACHIEVEMENTS_COPYACHIEVEMENTDEFINITIONV2BYINDEX_API_LATEST: u32 = 2;
461pub const EOS_ACHIEVEMENTS_COPYDEFINITIONV2BYINDEX_API_LATEST: u32 = 2;
462pub const EOS_ACHIEVEMENTS_COPYACHIEVEMENTDEFINITIONV2BYACHIEVEMENTID_API_LATEST: u32 = 2;
463pub const EOS_ACHIEVEMENTS_COPYDEFINITIONV2BYACHIEVEMENTID_API_LATEST: u32 = 2;
464pub const EOS_ACHIEVEMENTS_QUERYPLAYERACHIEVEMENTS_API_LATEST: u32 = 2;
465pub const EOS_ACHIEVEMENTS_ACHIEVEMENT_UNLOCKTIME_UNDEFINED: i32 = -1;
466pub const EOS_ACHIEVEMENTS_PLAYERACHIEVEMENT_API_LATEST: u32 = 2;
467pub const EOS_ACHIEVEMENTS_GETPLAYERACHIEVEMENTCOUNT_API_LATEST: u32 = 1;
468pub const EOS_ACHIEVEMENTS_COPYPLAYERACHIEVEMENTBYINDEX_API_LATEST: u32 = 2;
469pub const EOS_ACHIEVEMENTS_COPYPLAYERACHIEVEMENTBYACHIEVEMENTID_API_LATEST: u32 = 2;
470pub const EOS_ACHIEVEMENTS_UNLOCKACHIEVEMENTS_API_LATEST: u32 = 1;
471pub const EOS_ACHIEVEMENTS_ADDNOTIFYACHIEVEMENTSUNLOCKEDV2_API_LATEST: u32 = 2;
472pub const EOS_ACHIEVEMENTS_DEFINITION_API_LATEST: u32 = 1;
473pub const EOS_ACHIEVEMENTS_COPYDEFINITIONBYINDEX_API_LATEST: u32 = 1;
474pub const EOS_ACHIEVEMENTS_COPYDEFINITIONBYACHIEVEMENTID_API_LATEST: u32 = 1;
475pub const EOS_ACHIEVEMENTS_UNLOCKEDACHIEVEMENT_API_LATEST: u32 = 1;
476pub const EOS_ACHIEVEMENTS_GETUNLOCKEDACHIEVEMENTCOUNT_API_LATEST: u32 = 1;
477pub const EOS_ACHIEVEMENTS_COPYUNLOCKEDACHIEVEMENTBYINDEX_API_LATEST: u32 = 1;
478pub const EOS_ACHIEVEMENTS_COPYUNLOCKEDACHIEVEMENTBYACHIEVEMENTID_API_LATEST: u32 = 1;
479pub const EOS_ACHIEVEMENTS_ADDNOTIFYACHIEVEMENTSUNLOCKED_API_LATEST: u32 = 1;
480pub const EOS_STATS_INGESTDATA_API_LATEST: u32 = 1;
481pub const EOS_STATS_MAX_INGEST_STATS: u32 = 3000;
482pub const EOS_STATS_INGESTSTAT_API_LATEST: u32 = 3;
483pub const EOS_STATS_MAX_QUERY_STATS: u32 = 1000;
484pub const EOS_STATS_QUERYSTATS_API_LATEST: u32 = 3;
485pub const EOS_STATS_TIME_UNDEFINED: i32 = -1;
486pub const EOS_STATS_STAT_API_LATEST: u32 = 1;
487pub const EOS_STATS_GETSTATSCOUNT_API_LATEST: u32 = 1;
488pub const EOS_STATS_GETSTATCOUNT_API_LATEST: u32 = 1;
489pub const EOS_STATS_COPYSTATBYINDEX_API_LATEST: u32 = 1;
490pub const EOS_STATS_COPYSTATBYNAME_API_LATEST: u32 = 1;
491pub const EOS_LEADERBOARDS_TIME_UNDEFINED: i32 = -1;
492pub const EOS_LEADERBOARDS_QUERYLEADERBOARDDEFINITIONS_API_LATEST: u32 = 2;
493pub const EOS_LEADERBOARDS_DEFINITION_API_LATEST: u32 = 1;
494pub const EOS_LEADERBOARDS_GETLEADERBOARDDEFINITIONCOUNT_API_LATEST: u32 = 1;
495pub const EOS_LEADERBOARDS_COPYLEADERBOARDDEFINITIONBYINDEX_API_LATEST: u32 = 1;
496pub const EOS_LEADERBOARDS_COPYLEADERBOARDDEFINITIONBYLEADERBOARDID_API_LATEST: u32 = 1;
497pub const EOS_LEADERBOARDS_USERSCORESQUERYSTATINFO_API_LATEST: u32 = 1;
498pub const EOS_LEADERBOARDS_QUERYLEADERBOARDUSERSCORES_API_LATEST: u32 = 2;
499pub const EOS_LEADERBOARDS_LEADERBOARDUSERSCORE_API_LATEST: u32 = 1;
500pub const EOS_LEADERBOARDS_GETLEADERBOARDUSERSCORECOUNT_API_LATEST: u32 = 1;
501pub const EOS_LEADERBOARDS_COPYLEADERBOARDUSERSCOREBYINDEX_API_LATEST: u32 = 1;
502pub const EOS_LEADERBOARDS_COPYLEADERBOARDUSERSCOREBYUSERID_API_LATEST: u32 = 1;
503pub const EOS_LEADERBOARDS_QUERYLEADERBOARDRANKS_API_LATEST: u32 = 2;
504pub const EOS_LEADERBOARDS_LEADERBOARDRECORD_API_LATEST: u32 = 2;
505pub const EOS_LEADERBOARDS_GETLEADERBOARDRECORDCOUNT_API_LATEST: u32 = 1;
506pub const EOS_LEADERBOARDS_COPYLEADERBOARDRECORDBYINDEX_API_LATEST: u32 = 2;
507pub const EOS_LEADERBOARDS_COPYLEADERBOARDRECORDBYUSERID_API_LATEST: u32 = 2;
508pub const EOS_MOD_IDENTIFIER_API_LATEST: u32 = 1;
509pub const EOS_MODS_INSTALLMOD_API_LATEST: u32 = 1;
510pub const EOS_MODS_UNINSTALLMOD_API_LATEST: u32 = 1;
511pub const EOS_MODS_ENUMERATEMODS_API_LATEST: u32 = 1;
512pub const EOS_MODS_COPYMODINFO_API_LATEST: u32 = 1;
513pub const EOS_MODS_MODINFO_API_LATEST: u32 = 1;
514pub const EOS_MODS_UPDATEMOD_API_LATEST: u32 = 1;
515pub const EOS_ANTICHEATCOMMON_SETCLIENTDETAILS_API_LATEST: u32 = 1;
516pub const EOS_ANTICHEATCOMMON_SETGAMESESSIONID_API_LATEST: u32 = 1;
517pub const EOS_ANTICHEATCOMMON_REGISTEREVENT_CUSTOMEVENTBASE: u32 = 268435456;
518pub const EOS_ANTICHEATCOMMON_REGISTEREVENT_MAX_PARAMDEFSCOUNT: u32 = 12;
519pub const EOS_ANTICHEATCOMMON_REGISTEREVENT_API_LATEST: u32 = 1;
520pub const EOS_ANTICHEATCOMMON_LOGEVENT_STRING_MAX_LENGTH: u32 = 39;
521pub const EOS_ANTICHEATCOMMON_LOGEVENT_API_LATEST: u32 = 1;
522pub const EOS_ANTICHEATCOMMON_LOGGAMEROUNDSTART_API_LATEST: u32 = 2;
523pub const EOS_ANTICHEATCOMMON_LOGGAMEROUNDEND_API_LATEST: u32 = 1;
524pub const EOS_ANTICHEATCOMMON_LOGPLAYERSPAWN_API_LATEST: u32 = 1;
525pub const EOS_ANTICHEATCOMMON_LOGPLAYERDESPAWN_API_LATEST: u32 = 1;
526pub const EOS_ANTICHEATCOMMON_LOGPLAYERREVIVE_API_LATEST: u32 = 1;
527pub const EOS_ANTICHEATCOMMON_LOGPLAYERTICK_API_LATEST: u32 = 3;
528pub const EOS_ANTICHEATCOMMON_LOGPLAYERUSEWEAPON_WEAPONNAME_MAX_LENGTH: u32 = 32;
529pub const EOS_ANTICHEATCOMMON_LOGPLAYERUSEWEAPON_API_LATEST: u32 = 2;
530pub const EOS_ANTICHEATCOMMON_LOGPLAYERUSEABILITY_API_LATEST: u32 = 1;
531pub const EOS_ANTICHEATCOMMON_LOGPLAYERTAKEDAMAGE_API_LATEST: u32 = 4;
532pub const EOS_ANTICHEATCLIENT_ONMESSAGETOSERVERCALLBACK_MAX_MESSAGE_SIZE: u32 = 512;
533pub const EOS_ANTICHEATCLIENT_ONMESSAGETOPEERCALLBACK_MAX_MESSAGE_SIZE: u32 = 512;
534pub const EOS_ANTICHEATCLIENT_ADDNOTIFYMESSAGETOSERVER_API_LATEST: u32 = 1;
535pub const EOS_ANTICHEATCLIENT_ADDNOTIFYMESSAGETOPEER_API_LATEST: u32 = 1;
536pub const EOS_ANTICHEATCLIENT_ADDNOTIFYPEERACTIONREQUIRED_API_LATEST: u32 = 1;
537pub const EOS_ANTICHEATCLIENT_ADDNOTIFYPEERAUTHSTATUSCHANGED_API_LATEST: u32 = 1;
538pub const EOS_ANTICHEATCLIENT_ADDNOTIFYCLIENTINTEGRITYVIOLATED_API_LATEST: u32 = 1;
539pub const EOS_ANTICHEATCLIENT_BEGINSESSION_API_LATEST: u32 = 3;
540pub const EOS_ANTICHEATCLIENT_ENDSESSION_API_LATEST: u32 = 1;
541pub const EOS_ANTICHEATCLIENT_RESERVED01_API_LATEST: u32 = 1;
542pub const EOS_ANTICHEATCLIENT_RESERVED02_API_LATEST: u32 = 1;
543pub const EOS_ANTICHEATCLIENT_GETMODULEBUILDID_API_LATEST: u32 = 1;
544pub const EOS_ANTICHEATCLIENT_ADDEXTERNALINTEGRITYCATALOG_API_LATEST: u32 = 1;
545pub const EOS_ANTICHEATCLIENT_RECEIVEMESSAGEFROMSERVER_API_LATEST: u32 = 1;
546pub const EOS_ANTICHEATCLIENT_GETPROTECTMESSAGEOUTPUTLENGTH_API_LATEST: u32 = 1;
547pub const EOS_ANTICHEATCLIENT_PROTECTMESSAGE_API_LATEST: u32 = 1;
548pub const EOS_ANTICHEATCLIENT_UNPROTECTMESSAGE_API_LATEST: u32 = 1;
549pub const EOS_ANTICHEATCLIENT_REGISTERPEER_MIN_AUTHENTICATIONTIMEOUT: u32 = 40;
550pub const EOS_ANTICHEATCLIENT_REGISTERPEER_MAX_AUTHENTICATIONTIMEOUT: u32 = 120;
551pub const EOS_ANTICHEATCLIENT_REGISTERPEER_API_LATEST: u32 = 3;
552pub const EOS_ANTICHEATCLIENT_UNREGISTERPEER_API_LATEST: u32 = 1;
553pub const EOS_ANTICHEATCLIENT_RECEIVEMESSAGEFROMPEER_API_LATEST: u32 = 1;
554pub const EOS_ANTICHEATCLIENT_POLLSTATUS_API_LATEST: u32 = 1;
555pub const EOS_ANTICHEATSERVER_ONMESSAGETOCLIENTCALLBACK_MAX_MESSAGE_SIZE: u32 = 512;
556pub const EOS_ANTICHEATSERVER_ADDNOTIFYMESSAGETOCLIENT_API_LATEST: u32 = 1;
557pub const EOS_ANTICHEATSERVER_ADDNOTIFYCLIENTACTIONREQUIRED_API_LATEST: u32 = 1;
558pub const EOS_ANTICHEATSERVER_ADDNOTIFYCLIENTAUTHSTATUSCHANGED_API_LATEST: u32 = 1;
559pub const EOS_ANTICHEATSERVER_BEGINSESSION_MIN_REGISTERTIMEOUT: u32 = 10;
560pub const EOS_ANTICHEATSERVER_BEGINSESSION_MAX_REGISTERTIMEOUT: u32 = 120;
561pub const EOS_ANTICHEATSERVER_BEGINSESSION_API_LATEST: u32 = 3;
562pub const EOS_ANTICHEATSERVER_ENDSESSION_API_LATEST: u32 = 1;
563pub const EOS_ANTICHEATSERVER_REGISTERCLIENT_API_LATEST: u32 = 3;
564pub const EOS_ANTICHEATSERVER_UNREGISTERCLIENT_API_LATEST: u32 = 1;
565pub const EOS_ANTICHEATSERVER_RECEIVEMESSAGEFROMCLIENT_API_LATEST: u32 = 1;
566pub const EOS_ANTICHEATSERVER_SETCLIENTNETWORKSTATE_API_LATEST: u32 = 1;
567pub const EOS_ANTICHEATSERVER_GETPROTECTMESSAGEOUTPUTLENGTH_API_LATEST: u32 = 1;
568pub const EOS_ANTICHEATSERVER_PROTECTMESSAGE_API_LATEST: u32 = 1;
569pub const EOS_ANTICHEATSERVER_UNPROTECTMESSAGE_API_LATEST: u32 = 1;
570pub const EOS_REPORTS_REPORTMESSAGE_MAX_LENGTH: u32 = 512;
571pub const EOS_REPORTS_REPORTCONTEXT_MAX_LENGTH: u32 = 4096;
572pub const EOS_REPORTS_SENDPLAYERBEHAVIORREPORT_API_LATEST: u32 = 2;
573pub const EOS_SANCTIONS_PLAYERSANCTION_API_LATEST: u32 = 2;
574pub const EOS_SANCTIONS_QUERYACTIVEPLAYERSANCTIONS_API_LATEST: u32 = 2;
575pub const EOS_SANCTIONS_GETPLAYERSANCTIONCOUNT_API_LATEST: u32 = 1;
576pub const EOS_SANCTIONS_COPYPLAYERSANCTIONBYINDEX_API_LATEST: u32 = 1;
577pub const EOS_SANCTIONS_CREATEPLAYERSANCTIONAPPEAL_API_LATEST: u32 = 1;
578pub const EOS_KWS_MAX_PERMISSIONS: u32 = 16;
579pub const EOS_KWS_MAX_PERMISSION_LENGTH: u32 = 32;
580pub const EOS_KWS_PERMISSIONSTATUS_API_LATEST: u32 = 1;
581pub const EOS_KWS_QUERYAGEGATE_API_LATEST: u32 = 1;
582pub const EOS_KWS_CREATEUSER_API_LATEST: u32 = 1;
583pub const EOS_KWS_QUERYPERMISSIONS_API_LATEST: u32 = 1;
584pub const EOS_KWS_UPDATEPARENTEMAIL_API_LATEST: u32 = 1;
585pub const EOS_KWS_REQUESTPERMISSIONS_API_LATEST: u32 = 1;
586pub const EOS_KWS_GETPERMISSIONSCOUNT_API_LATEST: u32 = 1;
587pub const EOS_KWS_COPYPERMISSIONBYINDEX_API_LATEST: u32 = 1;
588pub const EOS_KWS_GETPERMISSIONBYKEY_API_LATEST: u32 = 1;
589pub const EOS_KWS_ADDNOTIFYPERMISSIONSUPDATERECEIVED_API_LATEST: u32 = 1;
590pub const EOS_RTC_JOINROOM_API_LATEST: u32 = 1;
591pub const EOS_RTC_JOINROOMFLAGS_ENABLE_ECHO: u32 = 1;
592pub const EOS_RTC_JOINROOMFLAGS_ENABLE_DATACHANNEL: u32 = 4;
593pub const EOS_RTC_JOINROOMFLAGS_RESERVED_VOICE_FEATURE: u32 = 8;
594pub const EOS_RTC_OPTION_KEY_MAXCHARCOUNT: u32 = 256;
595pub const EOS_RTC_OPTION_VALUE_MAXCHARCOUNT: u32 = 256;
596pub const EOS_RTC_OPTION_API_LATEST: u32 = 1;
597pub const EOS_RTC_LEAVEROOM_API_LATEST: u32 = 1;
598pub const EOS_RTC_BLOCKPARTICIPANT_API_LATEST: u32 = 1;
599pub const EOS_RTC_ADDNOTIFYDISCONNECTED_API_LATEST: u32 = 1;
600pub const EOS_RTC_PARTICIPANTMETADATA_KEY_MAXCHARCOUNT: u32 = 256;
601pub const EOS_RTC_PARTICIPANTMETADATA_VALUE_MAXCHARCOUNT: u32 = 256;
602pub const EOS_RTC_PARTICIPANTMETADATA_API_LATEST: u32 = 1;
603pub const EOS_RTC_ADDNOTIFYPARTICIPANTSTATUSCHANGED_API_LATEST: u32 = 1;
604pub const EOS_RTC_ADDNOTIFYROOMBEFOREJOIN_API_LATEST: u32 = 1;
605pub const EOS_RTC_SETSETTING_API_LATEST: u32 = 1;
606pub const EOS_RTC_SETROOMSETTING_API_LATEST: u32 = 1;
607pub const EOS_RTC_ADDNOTIFYROOMSTATISTICSUPDATED_API_LATEST: u32 = 1;
608pub const EOS_RTCADMIN_QUERYJOINROOMTOKEN_API_LATEST: u32 = 2;
609pub const EOS_RTCADMIN_USERTOKEN_API_LATEST: u32 = 1;
610pub const EOS_RTCADMIN_COPYUSERTOKENBYINDEX_API_LATEST: u32 = 2;
611pub const EOS_RTCADMIN_COPYUSERTOKENBYUSERID_API_LATEST: u32 = 2;
612pub const EOS_RTCADMIN_KICK_API_LATEST: u32 = 1;
613pub const EOS_RTCADMIN_SETPARTICIPANTHARDMUTE_API_LATEST: u32 = 1;
614pub const EOS_INVALID_PROGRESSIONSNAPSHOTID: u32 = 0;
615pub const EOS_PROGRESSIONSNAPSHOT_BEGINSNAPSHOT_API_LATEST: u32 = 1;
616pub const EOS_PROGRESSIONSNAPSHOT_ADDPROGRESSION_API_LATEST: u32 = 1;
617pub const EOS_PROGRESSIONSNAPSHOT_SUBMITSNAPSHOT_API_LATEST: u32 = 1;
618pub const EOS_PROGRESSIONSNAPSHOT_ENDSNAPSHOT_API_LATEST: u32 = 1;
619pub const EOS_PROGRESSIONSNAPSHOT_DELETESNAPSHOT_API_LATEST: u32 = 1;
620pub const EOS_CUSTOMINVITES_MAX_PAYLOAD_LENGTH: u32 = 500;
621pub const EOS_CUSTOMINVITES_SETCUSTOMINVITE_API_LATEST: u32 = 1;
622pub const EOS_CUSTOMINVITES_SENDCUSTOMINVITE_API_LATEST: u32 = 1;
623pub const EOS_CUSTOMINVITES_ADDNOTIFYCUSTOMINVITERECEIVED_API_LATEST: u32 = 1;
624pub const EOS_CUSTOMINVITES_ADDNOTIFYCUSTOMINVITEACCEPTED_API_LATEST: u32 = 1;
625pub const EOS_CUSTOMINVITES_ADDNOTIFYCUSTOMINVITEREJECTED_API_LATEST: u32 = 1;
626pub const EOS_CUSTOMINVITES_FINALIZEINVITE_API_LATEST: u32 = 1;
627pub const EOS_CUSTOMINVITES_SENDREQUESTTOJOIN_API_LATEST: u32 = 1;
628pub const EOS_CUSTOMINVITES_ADDNOTIFYREQUESTTOJOINRESPONSERECEIVED_API_LATEST: u32 = 1;
629pub const EOS_CUSTOMINVITES_ADDNOTIFYREQUESTTOJOINRECEIVED_API_LATEST: u32 = 1;
630pub const EOS_CUSTOMINVITES_ACCEPTREQUESTTOJOIN_API_LATEST: u32 = 1;
631pub const EOS_CUSTOMINVITES_REJECTREQUESTTOJOIN_API_LATEST: u32 = 1;
632pub const EOS_CUSTOMINVITES_ADDNOTIFYSENDCUSTOMNATIVEINVITEREQUESTED_API_LATEST: u32 = 1;
633pub const EOS_CUSTOMINVITES_ADDNOTIFYREQUESTTOJOINACCEPTED_API_LATEST: u32 = 1;
634pub const EOS_CUSTOMINVITES_ADDNOTIFYREQUESTTOJOINREJECTED_API_LATEST: u32 = 1;
635pub type EOS_Bool = i32;
636#[doc = " Successful result. no further error processing needed"]
637pub const EOS_EResult_EOS_Success: EOS_EResult = 0;
638#[doc = " Failed due to no connection"]
639pub const EOS_EResult_EOS_NoConnection: EOS_EResult = 1;
640#[doc = " Failed login due to invalid credentials"]
641pub const EOS_EResult_EOS_InvalidCredentials: EOS_EResult = 2;
642#[doc = " Failed due to invalid or missing user"]
643pub const EOS_EResult_EOS_InvalidUser: EOS_EResult = 3;
644#[doc = " Failed due to invalid or missing authentication token for user (e.g. not logged in)"]
645pub const EOS_EResult_EOS_InvalidAuth: EOS_EResult = 4;
646#[doc = " Failed due to invalid access"]
647pub const EOS_EResult_EOS_AccessDenied: EOS_EResult = 5;
648#[doc = " If the client does not possess the permission required"]
649pub const EOS_EResult_EOS_MissingPermissions: EOS_EResult = 6;
650#[doc = " If the token provided does not represent an account"]
651pub const EOS_EResult_EOS_Token_Not_Account: EOS_EResult = 7;
652#[doc = " Throttled due to too many requests"]
653pub const EOS_EResult_EOS_TooManyRequests: EOS_EResult = 8;
654#[doc = " Async request was already pending"]
655pub const EOS_EResult_EOS_AlreadyPending: EOS_EResult = 9;
656#[doc = " Invalid parameters specified for request"]
657pub const EOS_EResult_EOS_InvalidParameters: EOS_EResult = 10;
658#[doc = " Invalid request"]
659pub const EOS_EResult_EOS_InvalidRequest: EOS_EResult = 11;
660#[doc = " Failed due to unable to parse or recognize a backend response"]
661pub const EOS_EResult_EOS_UnrecognizedResponse: EOS_EResult = 12;
662#[doc = " Incompatible client for backend version"]
663pub const EOS_EResult_EOS_IncompatibleVersion: EOS_EResult = 13;
664#[doc = " Not configured correctly for use"]
665pub const EOS_EResult_EOS_NotConfigured: EOS_EResult = 14;
666#[doc = " Already configured for use."]
667pub const EOS_EResult_EOS_AlreadyConfigured: EOS_EResult = 15;
668#[doc = " Feature not available on this implementation"]
669pub const EOS_EResult_EOS_NotImplemented: EOS_EResult = 16;
670#[doc = " Operation was canceled (likely by user)"]
671pub const EOS_EResult_EOS_Canceled: EOS_EResult = 17;
672#[doc = " The requested information was not found"]
673pub const EOS_EResult_EOS_NotFound: EOS_EResult = 18;
674#[doc = " An error occurred during an asynchronous operation, and it will be retried. Callbacks receiving this result will be called again in the future."]
675pub const EOS_EResult_EOS_OperationWillRetry: EOS_EResult = 19;
676#[doc = " The request had no effect"]
677pub const EOS_EResult_EOS_NoChange: EOS_EResult = 20;
678#[doc = " The request attempted to use multiple or inconsistent API versions"]
679pub const EOS_EResult_EOS_VersionMismatch: EOS_EResult = 21;
680#[doc = " A maximum limit was exceeded on the client, different from EOS_TooManyRequests"]
681pub const EOS_EResult_EOS_LimitExceeded: EOS_EResult = 22;
682#[doc = " Feature or client ID performing the operation has been disabled."]
683pub const EOS_EResult_EOS_Disabled: EOS_EResult = 23;
684#[doc = " Duplicate entry not allowed"]
685pub const EOS_EResult_EOS_DuplicateNotAllowed: EOS_EResult = 24;
686#[doc = " Required parameters are missing. DEPRECATED: This error is no longer used."]
687pub const EOS_EResult_EOS_MissingParameters_DEPRECATED: EOS_EResult = 25;
688#[doc = " Sandbox ID is invalid"]
689pub const EOS_EResult_EOS_InvalidSandboxId: EOS_EResult = 26;
690#[doc = " Request timed out"]
691pub const EOS_EResult_EOS_TimedOut: EOS_EResult = 27;
692#[doc = " A query returned some but not all of the requested results."]
693pub const EOS_EResult_EOS_PartialResult: EOS_EResult = 28;
694#[doc = " Client is missing the whitelisted role"]
695pub const EOS_EResult_EOS_Missing_Role: EOS_EResult = 29;
696#[doc = " Client is missing the whitelisted feature"]
697pub const EOS_EResult_EOS_Missing_Feature: EOS_EResult = 30;
698#[doc = " The sandbox given to the backend is invalid"]
699pub const EOS_EResult_EOS_Invalid_Sandbox: EOS_EResult = 31;
700#[doc = " The deployment given to the backend is invalid"]
701pub const EOS_EResult_EOS_Invalid_Deployment: EOS_EResult = 32;
702#[doc = " The product ID specified to the backend is invalid"]
703pub const EOS_EResult_EOS_Invalid_Product: EOS_EResult = 33;
704#[doc = " The product user ID specified to the backend is invalid"]
705pub const EOS_EResult_EOS_Invalid_ProductUserID: EOS_EResult = 34;
706#[doc = " There was a failure with the backend service"]
707pub const EOS_EResult_EOS_ServiceFailure: EOS_EResult = 35;
708#[doc = " Cache directory is not set in platform options."]
709pub const EOS_EResult_EOS_CacheDirectoryMissing: EOS_EResult = 36;
710#[doc = " Cache directory is not accessible."]
711pub const EOS_EResult_EOS_CacheDirectoryInvalid: EOS_EResult = 37;
712#[doc = " The request failed because resource was in an invalid state"]
713pub const EOS_EResult_EOS_InvalidState: EOS_EResult = 38;
714#[doc = " Request is in progress"]
715pub const EOS_EResult_EOS_RequestInProgress: EOS_EResult = 39;
716#[doc = " Application is suspended"]
717pub const EOS_EResult_EOS_ApplicationSuspended: EOS_EResult = 40;
718#[doc = " Network is disconnected"]
719pub const EOS_EResult_EOS_NetworkDisconnected: EOS_EResult = 41;
720#[doc = " Given output buffer is insufficient to complete the operation"]
721pub const EOS_EResult_EOS_InsufficientOutputBuffer: EOS_EResult = 42;
722#[doc = " The associated feature or action is not enabled in the client policy"]
723pub const EOS_EResult_EOS_ClientPolicyMissingAction: EOS_EResult = 43;
724#[doc = " Account locked due to login failures"]
725pub const EOS_EResult_EOS_Auth_AccountLocked: EOS_EResult = 1001;
726#[doc = " Account locked by update operation."]
727pub const EOS_EResult_EOS_Auth_AccountLockedForUpdate: EOS_EResult = 1002;
728#[doc = " Refresh token used was invalid"]
729pub const EOS_EResult_EOS_Auth_InvalidRefreshToken: EOS_EResult = 1003;
730#[doc = " Invalid access token, typically when switching between backend environments"]
731pub const EOS_EResult_EOS_Auth_InvalidToken: EOS_EResult = 1004;
732#[doc = " Invalid bearer token"]
733pub const EOS_EResult_EOS_Auth_AuthenticationFailure: EOS_EResult = 1005;
734#[doc = " Invalid platform token"]
735pub const EOS_EResult_EOS_Auth_InvalidPlatformToken: EOS_EResult = 1006;
736#[doc = " Auth parameters are not associated with this account"]
737pub const EOS_EResult_EOS_Auth_WrongAccount: EOS_EResult = 1007;
738#[doc = " Auth parameters are not associated with this client"]
739pub const EOS_EResult_EOS_Auth_WrongClient: EOS_EResult = 1008;
740#[doc = " Full account is required"]
741pub const EOS_EResult_EOS_Auth_FullAccountRequired: EOS_EResult = 1009;
742#[doc = " Headless account is required"]
743pub const EOS_EResult_EOS_Auth_HeadlessAccountRequired: EOS_EResult = 1010;
744#[doc = " Password reset is required"]
745pub const EOS_EResult_EOS_Auth_PasswordResetRequired: EOS_EResult = 1011;
746#[doc = " Password was previously used and cannot be reused"]
747pub const EOS_EResult_EOS_Auth_PasswordCannotBeReused: EOS_EResult = 1012;
748#[doc = " Authorization code/exchange code has expired"]
749pub const EOS_EResult_EOS_Auth_Expired: EOS_EResult = 1013;
750#[doc = " Consent has not been given by the user"]
751pub const EOS_EResult_EOS_Auth_ScopeConsentRequired: EOS_EResult = 1014;
752#[doc = " The application has no profile on the backend"]
753pub const EOS_EResult_EOS_Auth_ApplicationNotFound: EOS_EResult = 1015;
754#[doc = " The requested consent wasn't found on the backend"]
755pub const EOS_EResult_EOS_Auth_ScopeNotFound: EOS_EResult = 1016;
756#[doc = " This account has been denied access to login"]
757pub const EOS_EResult_EOS_Auth_AccountFeatureRestricted: EOS_EResult = 1017;
758#[doc = " The overlay failed to load the Account Portal. This can range from general overlay failure, to overlay failed to connect to the web server, to overlay failed to render the web page."]
759pub const EOS_EResult_EOS_Auth_AccountPortalLoadError: EOS_EResult = 1018;
760#[doc = " An attempted login has failed due to the user needing to take corrective action on their account."]
761pub const EOS_EResult_EOS_Auth_CorrectiveActionRequired: EOS_EResult = 1019;
762#[doc = " Pin grant code initiated"]
763pub const EOS_EResult_EOS_Auth_PinGrantCode: EOS_EResult = 1020;
764#[doc = " Pin grant code attempt expired"]
765pub const EOS_EResult_EOS_Auth_PinGrantExpired: EOS_EResult = 1021;
766#[doc = " Pin grant code attempt pending"]
767pub const EOS_EResult_EOS_Auth_PinGrantPending: EOS_EResult = 1022;
768#[doc = " External auth source did not yield an account"]
769pub const EOS_EResult_EOS_Auth_ExternalAuthNotLinked: EOS_EResult = 1030;
770#[doc = " External auth access revoked"]
771pub const EOS_EResult_EOS_Auth_ExternalAuthRevoked: EOS_EResult = 1032;
772#[doc = " External auth token cannot be interpreted"]
773pub const EOS_EResult_EOS_Auth_ExternalAuthInvalid: EOS_EResult = 1033;
774#[doc = " External auth cannot be linked to his account due to restrictions"]
775pub const EOS_EResult_EOS_Auth_ExternalAuthRestricted: EOS_EResult = 1034;
776#[doc = " External auth cannot be used for login"]
777pub const EOS_EResult_EOS_Auth_ExternalAuthCannotLogin: EOS_EResult = 1035;
778#[doc = " External auth is expired"]
779pub const EOS_EResult_EOS_Auth_ExternalAuthExpired: EOS_EResult = 1036;
780#[doc = " External auth cannot be removed since it's the last possible way to login"]
781pub const EOS_EResult_EOS_Auth_ExternalAuthIsLastLoginType: EOS_EResult = 1037;
782#[doc = " Exchange code not found"]
783pub const EOS_EResult_EOS_Auth_ExchangeCodeNotFound: EOS_EResult = 1040;
784#[doc = " Originating exchange code session has expired"]
785pub const EOS_EResult_EOS_Auth_OriginatingExchangeCodeSessionExpired: EOS_EResult = 1041;
786#[doc = " The account has been disabled and cannot be used for authentication"]
787pub const EOS_EResult_EOS_Auth_AccountNotActive: EOS_EResult = 1050;
788#[doc = " MFA challenge required"]
789pub const EOS_EResult_EOS_Auth_MFARequired: EOS_EResult = 1060;
790#[doc = " Parental locks are in place"]
791pub const EOS_EResult_EOS_Auth_ParentalControls: EOS_EResult = 1070;
792#[doc = " Korea real ID association required but missing"]
793pub const EOS_EResult_EOS_Auth_NoRealId: EOS_EResult = 1080;
794#[doc = " Silent login failed when EOS_LF_NO_USER_INTERFACE was specified, and user interaction is needed before the user can be logged in."]
795pub const EOS_EResult_EOS_Auth_UserInterfaceRequired: EOS_EResult = 1090;
796#[doc = " An outgoing friend invitation is awaiting acceptance; sending another invite to the same user is erroneous"]
797pub const EOS_EResult_EOS_Friends_InviteAwaitingAcceptance: EOS_EResult = 2000;
798#[doc = " There is no friend invitation to accept/reject"]
799pub const EOS_EResult_EOS_Friends_NoInvitation: EOS_EResult = 2001;
800#[doc = " Users are already friends, so sending another invite is erroneous"]
801pub const EOS_EResult_EOS_Friends_AlreadyFriends: EOS_EResult = 2003;
802#[doc = " Users are not friends, so deleting the friend is erroneous"]
803pub const EOS_EResult_EOS_Friends_NotFriends: EOS_EResult = 2004;
804#[doc = " Remote user has too many invites to receive new invites"]
805pub const EOS_EResult_EOS_Friends_TargetUserTooManyInvites: EOS_EResult = 2005;
806#[doc = " Local user has too many invites to send new invites"]
807pub const EOS_EResult_EOS_Friends_LocalUserTooManyInvites: EOS_EResult = 2006;
808#[doc = " Remote user has too many friends to make a new friendship"]
809pub const EOS_EResult_EOS_Friends_TargetUserFriendLimitExceeded: EOS_EResult = 2007;
810#[doc = " Local user has too many friends to make a new friendship"]
811pub const EOS_EResult_EOS_Friends_LocalUserFriendLimitExceeded: EOS_EResult = 2008;
812#[doc = " Request data was null or invalid"]
813pub const EOS_EResult_EOS_Presence_DataInvalid: EOS_EResult = 3000;
814#[doc = " Request contained too many or too few unique data items, or the request would overflow the maximum amount of data allowed"]
815pub const EOS_EResult_EOS_Presence_DataLengthInvalid: EOS_EResult = 3001;
816#[doc = " Request contained data with an invalid key"]
817pub const EOS_EResult_EOS_Presence_DataKeyInvalid: EOS_EResult = 3002;
818#[doc = " Request contained data with a key too long or too short"]
819pub const EOS_EResult_EOS_Presence_DataKeyLengthInvalid: EOS_EResult = 3003;
820#[doc = " Request contained data with an invalid value"]
821pub const EOS_EResult_EOS_Presence_DataValueInvalid: EOS_EResult = 3004;
822#[doc = " Request contained data with a value too long"]
823pub const EOS_EResult_EOS_Presence_DataValueLengthInvalid: EOS_EResult = 3005;
824#[doc = " Request contained an invalid rich text string"]
825pub const EOS_EResult_EOS_Presence_RichTextInvalid: EOS_EResult = 3006;
826#[doc = " Request contained a rich text string that was too long"]
827pub const EOS_EResult_EOS_Presence_RichTextLengthInvalid: EOS_EResult = 3007;
828#[doc = " Request contained an invalid status state"]
829pub const EOS_EResult_EOS_Presence_StatusInvalid: EOS_EResult = 3008;
830#[doc = " Request created with a template - rich text is not supported"]
831pub const EOS_EResult_EOS_Presence_RichTextNotSupported: EOS_EResult = 3009;
832#[doc = " Request not created with a template - rich text expected"]
833pub const EOS_EResult_EOS_Presence_TemplateNotSupported: EOS_EResult = 3010;
834#[doc = " Invalid Rich Presence Template ID"]
835pub const EOS_EResult_EOS_Presence_TemplateIdInvalid: EOS_EResult = 3011;
836#[doc = " Template type value is not supported"]
837pub const EOS_EResult_EOS_Presence_TemplateTypeInvalid: EOS_EResult = 3012;
838#[doc = " Template key is null or not supplied"]
839pub const EOS_EResult_EOS_Presence_TemplateKeyInvalid: EOS_EResult = 3013;
840#[doc = " Template value, if type is a string, is null or not supplie"]
841pub const EOS_EResult_EOS_Presence_TemplateValueInvalid: EOS_EResult = 3014;
842#[doc = " Template id was not found for the product or deployment"]
843pub const EOS_EResult_EOS_Presence_TemplateNotFound: EOS_EResult = 3015;
844#[doc = " Failed to format template with given vairable data"]
845pub const EOS_EResult_EOS_Presence_TemplateInvalidVariableInput: EOS_EResult = 3016;
846#[doc = " Localization server failed to format template"]
847pub const EOS_EResult_EOS_Presence_TemplateLocalizationServerError: EOS_EResult = 3017;
848#[doc = " Unknown error formatting template"]
849pub const EOS_EResult_EOS_Presence_TemplateUnknownError: EOS_EResult = 3018;
850#[doc = " The entitlement retrieved is stale, requery for updated information"]
851pub const EOS_EResult_EOS_Ecom_EntitlementStale: EOS_EResult = 4000;
852#[doc = " The offer retrieved is stale, requery for updated information"]
853pub const EOS_EResult_EOS_Ecom_CatalogOfferStale: EOS_EResult = 4001;
854#[doc = " The item or associated structure retrieved is stale, requery for updated information"]
855pub const EOS_EResult_EOS_Ecom_CatalogItemStale: EOS_EResult = 4002;
856#[doc = " The one or more offers has an invalid price. This may be caused by the price setup."]
857pub const EOS_EResult_EOS_Ecom_CatalogOfferPriceInvalid: EOS_EResult = 4003;
858#[doc = " The checkout page failed to load"]
859pub const EOS_EResult_EOS_Ecom_CheckoutLoadError: EOS_EResult = 4004;
860#[doc = " The player closed the purchase flow overlay after clicking the purchase button. The purchase may still go through, and the game needs to query unredeemed entitlements for a short time."]
861pub const EOS_EResult_EOS_Ecom_PurchaseProcessing: EOS_EResult = 4005;
862#[doc = " Session is already in progress"]
863pub const EOS_EResult_EOS_Sessions_SessionInProgress: EOS_EResult = 5000;
864#[doc = " Too many players to register with this session"]
865pub const EOS_EResult_EOS_Sessions_TooManyPlayers: EOS_EResult = 5001;
866#[doc = " Client has no permissions to access this session"]
867pub const EOS_EResult_EOS_Sessions_NoPermission: EOS_EResult = 5002;
868#[doc = " Session already exists in the system"]
869pub const EOS_EResult_EOS_Sessions_SessionAlreadyExists: EOS_EResult = 5003;
870#[doc = " Session lock required for operation"]
871pub const EOS_EResult_EOS_Sessions_InvalidLock: EOS_EResult = 5004;
872#[doc = " Invalid session reference"]
873pub const EOS_EResult_EOS_Sessions_InvalidSession: EOS_EResult = 5005;
874#[doc = " Sandbox ID associated with auth didn't match"]
875pub const EOS_EResult_EOS_Sessions_SandboxNotAllowed: EOS_EResult = 5006;
876#[doc = " Invite failed to send"]
877pub const EOS_EResult_EOS_Sessions_InviteFailed: EOS_EResult = 5007;
878#[doc = " Invite was not found with the service"]
879pub const EOS_EResult_EOS_Sessions_InviteNotFound: EOS_EResult = 5008;
880#[doc = " This client may not modify the session"]
881pub const EOS_EResult_EOS_Sessions_UpsertNotAllowed: EOS_EResult = 5009;
882#[doc = " Backend nodes unavailable to process request"]
883pub const EOS_EResult_EOS_Sessions_AggregationFailed: EOS_EResult = 5010;
884#[doc = " Individual backend node is as capacity"]
885pub const EOS_EResult_EOS_Sessions_HostAtCapacity: EOS_EResult = 5011;
886#[doc = " Sandbox on node is at capacity"]
887pub const EOS_EResult_EOS_Sessions_SandboxAtCapacity: EOS_EResult = 5012;
888#[doc = " An anonymous operation was attempted on a non anonymous session"]
889pub const EOS_EResult_EOS_Sessions_SessionNotAnonymous: EOS_EResult = 5013;
890#[doc = " Session is currently out of sync with the backend, data is saved locally but needs to sync with backend"]
891pub const EOS_EResult_EOS_Sessions_OutOfSync: EOS_EResult = 5014;
892#[doc = " User has received too many invites"]
893pub const EOS_EResult_EOS_Sessions_TooManyInvites: EOS_EResult = 5015;
894#[doc = " Presence session already exists for the client"]
895pub const EOS_EResult_EOS_Sessions_PresenceSessionExists: EOS_EResult = 5016;
896#[doc = " Deployment on node is at capacity"]
897pub const EOS_EResult_EOS_Sessions_DeploymentAtCapacity: EOS_EResult = 5017;
898#[doc = " Session operation not allowed"]
899pub const EOS_EResult_EOS_Sessions_NotAllowed: EOS_EResult = 5018;
900#[doc = " Session operation not allowed"]
901pub const EOS_EResult_EOS_Sessions_PlayerSanctioned: EOS_EResult = 5019;
902#[doc = " Request filename was invalid"]
903pub const EOS_EResult_EOS_PlayerDataStorage_FilenameInvalid: EOS_EResult = 6000;
904#[doc = " Request filename was too long"]
905pub const EOS_EResult_EOS_PlayerDataStorage_FilenameLengthInvalid: EOS_EResult = 6001;
906#[doc = " Request filename contained invalid characters"]
907pub const EOS_EResult_EOS_PlayerDataStorage_FilenameInvalidChars: EOS_EResult = 6002;
908#[doc = " Request operation would grow file too large"]
909pub const EOS_EResult_EOS_PlayerDataStorage_FileSizeTooLarge: EOS_EResult = 6003;
910#[doc = " Request file length is not valid"]
911pub const EOS_EResult_EOS_PlayerDataStorage_FileSizeInvalid: EOS_EResult = 6004;
912#[doc = " Request file handle is not valid"]
913pub const EOS_EResult_EOS_PlayerDataStorage_FileHandleInvalid: EOS_EResult = 6005;
914#[doc = " Request data is invalid"]
915pub const EOS_EResult_EOS_PlayerDataStorage_DataInvalid: EOS_EResult = 6006;
916#[doc = " Request data length was invalid"]
917pub const EOS_EResult_EOS_PlayerDataStorage_DataLengthInvalid: EOS_EResult = 6007;
918#[doc = " Request start index was invalid"]
919pub const EOS_EResult_EOS_PlayerDataStorage_StartIndexInvalid: EOS_EResult = 6008;
920#[doc = " Request is in progress"]
921pub const EOS_EResult_EOS_PlayerDataStorage_RequestInProgress: EOS_EResult = 6009;
922#[doc = " User is marked as throttled which means he can't perform some operations because limits are exceeded."]
923pub const EOS_EResult_EOS_PlayerDataStorage_UserThrottled: EOS_EResult = 6010;
924#[doc = " Encryption key is not set during SDK init."]
925pub const EOS_EResult_EOS_PlayerDataStorage_EncryptionKeyNotSet: EOS_EResult = 6011;
926#[doc = " User data callback returned error (EOS_PlayerDataStorage_EWriteResult::EOS_WR_FailRequest or EOS_PlayerDataStorage_EReadResult::EOS_RR_FailRequest)"]
927pub const EOS_EResult_EOS_PlayerDataStorage_UserErrorFromDataCallback: EOS_EResult = 6012;
928#[doc = " User is trying to read file that has header from newer version of SDK. Game/SDK needs to be updated."]
929pub const EOS_EResult_EOS_PlayerDataStorage_FileHeaderHasNewerVersion: EOS_EResult = 6013;
930#[doc = " The file is corrupted. In some cases retry can fix the issue."]
931pub const EOS_EResult_EOS_PlayerDataStorage_FileCorrupted: EOS_EResult = 6014;
932#[doc = " EOS Auth service deemed the external token invalid"]
933pub const EOS_EResult_EOS_Connect_ExternalTokenValidationFailed: EOS_EResult = 7000;
934#[doc = " EOS Auth user already exists"]
935pub const EOS_EResult_EOS_Connect_UserAlreadyExists: EOS_EResult = 7001;
936#[doc = " EOS Auth expired"]
937pub const EOS_EResult_EOS_Connect_AuthExpired: EOS_EResult = 7002;
938#[doc = " EOS Auth invalid token"]
939pub const EOS_EResult_EOS_Connect_InvalidToken: EOS_EResult = 7003;
940#[doc = " EOS Auth doesn't support this token type"]
941pub const EOS_EResult_EOS_Connect_UnsupportedTokenType: EOS_EResult = 7004;
942#[doc = " EOS Auth Account link failure"]
943pub const EOS_EResult_EOS_Connect_LinkAccountFailed: EOS_EResult = 7005;
944#[doc = " EOS Auth External service for validation was unavailable"]
945pub const EOS_EResult_EOS_Connect_ExternalServiceUnavailable: EOS_EResult = 7006;
946#[doc = " EOS Auth External Service configuration failure with Dev Portal"]
947pub const EOS_EResult_EOS_Connect_ExternalServiceConfigurationFailure: EOS_EResult = 7007;
948#[doc = " EOS Auth Account link failure. Tried to link Nintendo Network Service Account without first linking Nintendo Account. DEPRECATED: The requirement has been removed and this error is no longer used."]
949pub const EOS_EResult_EOS_Connect_LinkAccountFailedMissingNintendoIdAccount_DEPRECATED:
950 EOS_EResult = 7008;
951#[doc = " The social overlay page failed to load"]
952pub const EOS_EResult_EOS_UI_SocialOverlayLoadError: EOS_EResult = 8000;
953#[doc = " Virtual Memory Functions are an inconsistent mix of functions and nullptrs"]
954pub const EOS_EResult_EOS_UI_InconsistentVirtualMemoryFunctions: EOS_EResult = 8001;
955#[doc = " Client has no permissions to modify this lobby"]
956pub const EOS_EResult_EOS_Lobby_NotOwner: EOS_EResult = 9000;
957#[doc = " Lobby lock required for operation"]
958pub const EOS_EResult_EOS_Lobby_InvalidLock: EOS_EResult = 9001;
959#[doc = " Lobby already exists in the system"]
960pub const EOS_EResult_EOS_Lobby_LobbyAlreadyExists: EOS_EResult = 9002;
961#[doc = " Lobby is already in progress"]
962pub const EOS_EResult_EOS_Lobby_SessionInProgress: EOS_EResult = 9003;
963#[doc = " Too many players to register with this lobby"]
964pub const EOS_EResult_EOS_Lobby_TooManyPlayers: EOS_EResult = 9004;
965#[doc = " Client has no permissions to access this lobby"]
966pub const EOS_EResult_EOS_Lobby_NoPermission: EOS_EResult = 9005;
967#[doc = " Invalid lobby session reference"]
968pub const EOS_EResult_EOS_Lobby_InvalidSession: EOS_EResult = 9006;
969#[doc = " Sandbox ID associated with auth didn't match"]
970pub const EOS_EResult_EOS_Lobby_SandboxNotAllowed: EOS_EResult = 9007;
971#[doc = " Invite failed to send"]
972pub const EOS_EResult_EOS_Lobby_InviteFailed: EOS_EResult = 9008;
973#[doc = " Invite was not found with the service"]
974pub const EOS_EResult_EOS_Lobby_InviteNotFound: EOS_EResult = 9009;
975#[doc = " This client may not modify the lobby"]
976pub const EOS_EResult_EOS_Lobby_UpsertNotAllowed: EOS_EResult = 9010;
977#[doc = " Backend nodes unavailable to process request"]
978pub const EOS_EResult_EOS_Lobby_AggregationFailed: EOS_EResult = 9011;
979#[doc = " Individual backend node is as capacity"]
980pub const EOS_EResult_EOS_Lobby_HostAtCapacity: EOS_EResult = 9012;
981#[doc = " Sandbox on node is at capacity"]
982pub const EOS_EResult_EOS_Lobby_SandboxAtCapacity: EOS_EResult = 9013;
983#[doc = " User has received too many invites"]
984pub const EOS_EResult_EOS_Lobby_TooManyInvites: EOS_EResult = 9014;
985#[doc = " Deployment on node is at capacity"]
986pub const EOS_EResult_EOS_Lobby_DeploymentAtCapacity: EOS_EResult = 9015;
987#[doc = " Lobby operation not allowed"]
988pub const EOS_EResult_EOS_Lobby_NotAllowed: EOS_EResult = 9016;
989#[doc = " While restoring a lost connection lobby ownership changed and only local member data was updated"]
990pub const EOS_EResult_EOS_Lobby_MemberUpdateOnly: EOS_EResult = 9017;
991#[doc = " Presence lobby already exists for the client"]
992pub const EOS_EResult_EOS_Lobby_PresenceLobbyExists: EOS_EResult = 9018;
993#[doc = " Operation requires lobby with voice enabled"]
994pub const EOS_EResult_EOS_Lobby_VoiceNotEnabled: EOS_EResult = 9019;
995#[doc = " The client platform does not match the allowed platform list for the lobby."]
996pub const EOS_EResult_EOS_Lobby_PlatformNotAllowed: EOS_EResult = 9020;
997#[doc = " User callback that receives data from storage returned error."]
998pub const EOS_EResult_EOS_TitleStorage_UserErrorFromDataCallback: EOS_EResult = 10000;
999#[doc = " User forgot to set Encryption key during platform init. Title Storage can't work without it."]
1000pub const EOS_EResult_EOS_TitleStorage_EncryptionKeyNotSet: EOS_EResult = 10001;
1001#[doc = " Downloaded file is corrupted."]
1002pub const EOS_EResult_EOS_TitleStorage_FileCorrupted: EOS_EResult = 10002;
1003#[doc = " Downloaded file's format is newer than client SDK version."]
1004pub const EOS_EResult_EOS_TitleStorage_FileHeaderHasNewerVersion: EOS_EResult = 10003;
1005#[doc = " ModSdk process is already running. This error comes from the EOSSDK."]
1006pub const EOS_EResult_EOS_Mods_ModSdkProcessIsAlreadyRunning: EOS_EResult = 11000;
1007#[doc = " ModSdk command is empty. Either the ModSdk configuration file is missing or the manifest location is empty."]
1008pub const EOS_EResult_EOS_Mods_ModSdkCommandIsEmpty: EOS_EResult = 11001;
1009#[doc = " Creation of the ModSdk process failed. This error comes from the SDK."]
1010pub const EOS_EResult_EOS_Mods_ModSdkProcessCreationFailed: EOS_EResult = 11002;
1011#[doc = " A critical error occurred in the external ModSdk process that we were unable to resolve."]
1012pub const EOS_EResult_EOS_Mods_CriticalError: EOS_EResult = 11003;
1013#[doc = " A internal error occurred in the external ModSdk process that we were unable to resolve."]
1014pub const EOS_EResult_EOS_Mods_ToolInternalError: EOS_EResult = 11004;
1015#[doc = " A IPC failure occurred in the external ModSdk process."]
1016pub const EOS_EResult_EOS_Mods_IPCFailure: EOS_EResult = 11005;
1017#[doc = " A invalid IPC response received in the external ModSdk process."]
1018pub const EOS_EResult_EOS_Mods_InvalidIPCResponse: EOS_EResult = 11006;
1019#[doc = " A URI Launch failure occurred in the external ModSdk process."]
1020pub const EOS_EResult_EOS_Mods_URILaunchFailure: EOS_EResult = 11007;
1021#[doc = " Attempting to perform an action with a mod that is not installed. This error comes from the external ModSdk process."]
1022pub const EOS_EResult_EOS_Mods_ModIsNotInstalled: EOS_EResult = 11008;
1023#[doc = " Attempting to perform an action on a game that the user doesn't own. This error comes from the external ModSdk process."]
1024pub const EOS_EResult_EOS_Mods_UserDoesNotOwnTheGame: EOS_EResult = 11009;
1025#[doc = " Invalid result of the request to get the offer for the mod. This error comes from the external ModSdk process."]
1026pub const EOS_EResult_EOS_Mods_OfferRequestByIdInvalidResult: EOS_EResult = 11010;
1027#[doc = " Could not find the offer for the mod. This error comes from the external ModSdk process."]
1028pub const EOS_EResult_EOS_Mods_CouldNotFindOffer: EOS_EResult = 11011;
1029#[doc = " Request to get the offer for the mod failed. This error comes from the external ModSdk process."]
1030pub const EOS_EResult_EOS_Mods_OfferRequestByIdFailure: EOS_EResult = 11012;
1031#[doc = " Request to purchase the mod failed. This error comes from the external ModSdk process."]
1032pub const EOS_EResult_EOS_Mods_PurchaseFailure: EOS_EResult = 11013;
1033#[doc = " Attempting to perform an action on a game that is not installed or is partially installed. This error comes from the external ModSdk process."]
1034pub const EOS_EResult_EOS_Mods_InvalidGameInstallInfo: EOS_EResult = 11014;
1035#[doc = " Failed to get manifest location. Either the ModSdk configuration file is missing or the manifest location is empty"]
1036pub const EOS_EResult_EOS_Mods_CannotGetManifestLocation: EOS_EResult = 11015;
1037#[doc = " Attempting to perform an action with a mod that does not support the current operating system."]
1038pub const EOS_EResult_EOS_Mods_UnsupportedOS: EOS_EResult = 11016;
1039#[doc = " The anti-cheat client protection is not available. Check that the game was started using the anti-cheat bootstrapper."]
1040pub const EOS_EResult_EOS_AntiCheat_ClientProtectionNotAvailable: EOS_EResult = 12000;
1041#[doc = " The current anti-cheat mode is incorrect for using this API"]
1042pub const EOS_EResult_EOS_AntiCheat_InvalidMode: EOS_EResult = 12001;
1043#[doc = " The ProductId provided to the anti-cheat client helper executable does not match what was used to initialize the EOS SDK"]
1044pub const EOS_EResult_EOS_AntiCheat_ClientProductIdMismatch: EOS_EResult = 12002;
1045#[doc = " The SandboxId provided to the anti-cheat client helper executable does not match what was used to initialize the EOS SDK"]
1046pub const EOS_EResult_EOS_AntiCheat_ClientSandboxIdMismatch: EOS_EResult = 12003;
1047#[doc = " (ProtectMessage/UnprotectMessage) No session key is available, but it is required to complete this operation"]
1048pub const EOS_EResult_EOS_AntiCheat_ProtectMessageSessionKeyRequired: EOS_EResult = 12004;
1049#[doc = " (ProtectMessage/UnprotectMessage) Message integrity is invalid"]
1050pub const EOS_EResult_EOS_AntiCheat_ProtectMessageValidationFailed: EOS_EResult = 12005;
1051#[doc = " (ProtectMessage/UnprotectMessage) Initialization failed"]
1052pub const EOS_EResult_EOS_AntiCheat_ProtectMessageInitializationFailed: EOS_EResult = 12006;
1053#[doc = " (RegisterPeer) Peer is already registered"]
1054pub const EOS_EResult_EOS_AntiCheat_PeerAlreadyRegistered: EOS_EResult = 12007;
1055#[doc = " (UnregisterPeer) Peer does not exist"]
1056pub const EOS_EResult_EOS_AntiCheat_PeerNotFound: EOS_EResult = 12008;
1057#[doc = " (ReceiveMessageFromPeer) Invalid call: Peer is not protected"]
1058pub const EOS_EResult_EOS_AntiCheat_PeerNotProtected: EOS_EResult = 12009;
1059#[doc = " The DeploymentId provided to the anti-cheat client helper executable does not match what was used to initialize the EOS SDK"]
1060pub const EOS_EResult_EOS_AntiCheat_ClientDeploymentIdMismatch: EOS_EResult = 12010;
1061#[doc = " EOS Connect DeviceID auth method is not supported for anti-cheat"]
1062pub const EOS_EResult_EOS_AntiCheat_DeviceIdAuthIsNotSupported: EOS_EResult = 12011;
1063#[doc = " EOS RTC room cannot accept more participants"]
1064pub const EOS_EResult_EOS_RTC_TooManyParticipants: EOS_EResult = 13000;
1065#[doc = " EOS RTC room already exists"]
1066pub const EOS_EResult_EOS_RTC_RoomAlreadyExists: EOS_EResult = 13001;
1067#[doc = " The user kicked out from the room"]
1068pub const EOS_EResult_EOS_RTC_UserKicked: EOS_EResult = 13002;
1069#[doc = " The user is banned"]
1070pub const EOS_EResult_EOS_RTC_UserBanned: EOS_EResult = 13003;
1071#[doc = " EOS RTC room was left successfully"]
1072pub const EOS_EResult_EOS_RTC_RoomWasLeft: EOS_EResult = 13004;
1073#[doc = " Connection dropped due to long timeout"]
1074pub const EOS_EResult_EOS_RTC_ReconnectionTimegateExpired: EOS_EResult = 13005;
1075#[doc = " EOS RTC room was left due to platform release"]
1076pub const EOS_EResult_EOS_RTC_ShutdownInvoked: EOS_EResult = 13006;
1077#[doc = " EOS RTC operation failed because the user is in the local user's block list"]
1078pub const EOS_EResult_EOS_RTC_UserIsInBlocklist: EOS_EResult = 13007;
1079#[doc = " Failed to allocate resources"]
1080pub const EOS_EResult_EOS_RTC_AllocationFailed: EOS_EResult = 13009;
1081#[doc = " Failed to join room due to voice moderation mode mismatch"]
1082pub const EOS_EResult_EOS_RTC_VoiceModerationModeMismatch: EOS_EResult = 13010;
1083#[doc = " EOS RTC record buffer was empty"]
1084pub const EOS_EResult_EOS_RTC_EmptyRecord: EOS_EResult = 13011;
1085#[doc = " Failed to join room due to room options mismatch"]
1086pub const EOS_EResult_EOS_RTC_RoomOptionsMismatch: EOS_EResult = 13012;
1087#[doc = " The number of available Snapshot IDs have all been exhausted."]
1088pub const EOS_EResult_EOS_ProgressionSnapshot_SnapshotIdUnavailable: EOS_EResult = 14000;
1089#[doc = " The KWS user does not have a parental email associated with the account. The parent account was unlinked or deleted"]
1090pub const EOS_EResult_EOS_KWS_ParentEmailMissing: EOS_EResult = 15000;
1091#[doc = " The KWS user is no longer a minor and trying to update the parent email"]
1092pub const EOS_EResult_EOS_KWS_UserGraduated: EOS_EResult = 15001;
1093#[doc = " EOS Android VM not stored"]
1094pub const EOS_EResult_EOS_Android_JavaVMNotStored: EOS_EResult = 17000;
1095#[doc = " EOS Android if Reserved is set it must reference stored VM"]
1096pub const EOS_EResult_EOS_Android_ReservedMustReferenceLocalVM: EOS_EResult = 17001;
1097#[doc = " EOS Android Reserved must not be provided"]
1098pub const EOS_EResult_EOS_Android_ReservedMustBeNull: EOS_EResult = 17002;
1099#[doc = " Patch required before the user can use the privilege"]
1100pub const EOS_EResult_EOS_Permission_RequiredPatchAvailable: EOS_EResult = 18000;
1101#[doc = " System update required before the user can use the privilege"]
1102pub const EOS_EResult_EOS_Permission_RequiredSystemUpdate: EOS_EResult = 18001;
1103#[doc = " Parental control failure usually"]
1104pub const EOS_EResult_EOS_Permission_AgeRestrictionFailure: EOS_EResult = 18002;
1105#[doc = " Premium Account Subscription required but not available"]
1106pub const EOS_EResult_EOS_Permission_AccountTypeFailure: EOS_EResult = 18003;
1107#[doc = " User restricted from chat"]
1108pub const EOS_EResult_EOS_Permission_ChatRestriction: EOS_EResult = 18004;
1109#[doc = " User restricted from User Generated Content"]
1110pub const EOS_EResult_EOS_Permission_UGCRestriction: EOS_EResult = 18005;
1111#[doc = " Online play is restricted"]
1112pub const EOS_EResult_EOS_Permission_OnlinePlayRestricted: EOS_EResult = 18006;
1113#[doc = " The application was not launched through the Bootstrapper. Desktop crossplay functionality is unavailable."]
1114pub const EOS_EResult_EOS_DesktopCrossplay_ApplicationNotBootstrapped: EOS_EResult = 19000;
1115#[doc = " The redistributable service is not installed."]
1116pub const EOS_EResult_EOS_DesktopCrossplay_ServiceNotInstalled: EOS_EResult = 19001;
1117#[doc = " The desktop crossplay service failed to start."]
1118pub const EOS_EResult_EOS_DesktopCrossplay_ServiceStartFailed: EOS_EResult = 19002;
1119#[doc = " The desktop crossplay service is no longer running for an unknown reason."]
1120pub const EOS_EResult_EOS_DesktopCrossplay_ServiceNotRunning: EOS_EResult = 19003;
1121#[doc = " When sending the custom invite failed."]
1122pub const EOS_EResult_EOS_CustomInvites_InviteFailed: EOS_EResult = 20000;
1123#[doc = " The best display name could not be safely determined."]
1124pub const EOS_EResult_EOS_UserInfo_BestDisplayNameIndeterminate: EOS_EResult = 22000;
1125#[doc = " OnNetworkRequested_DEPRECATED callback not set when initializing platform"]
1126pub const EOS_EResult_EOS_ConsoleInit_OnNetworkRequestedDeprecatedCallbackNotSet: EOS_EResult =
1127 23000;
1128#[doc = " CacheStorageSizeKB must be a multiple of 16"]
1129pub const EOS_EResult_EOS_ConsoleInit_CacheStorage_SizeKBNotMultipleOf16: EOS_EResult = 23001;
1130#[doc = " CacheStorageSizeKB is less than the minimum allowed"]
1131pub const EOS_EResult_EOS_ConsoleInit_CacheStorage_SizeKBBelowMinimumSize: EOS_EResult = 23002;
1132#[doc = " CacheStorageSizeKB is greater than the maximum allowed (4000 MB)"]
1133pub const EOS_EResult_EOS_ConsoleInit_CacheStorage_SizeKBExceedsMaximumSize: EOS_EResult = 23003;
1134#[doc = " CacheStorageIndex is out of its allowed range"]
1135pub const EOS_EResult_EOS_ConsoleInit_CacheStorage_IndexOutOfRangeRange: EOS_EResult = 23004;
1136#[doc = " An unexpected error that we cannot identify has occurred."]
1137pub const EOS_EResult_EOS_UnexpectedError: EOS_EResult = 2147483647;
1138pub const EOS_EResult___EOS_EResult_PAD_INT32__: EOS_EResult = 2147483647;
1139#[doc = " Enum flags for all possible result values of operations in the SDK."]
1140pub type EOS_EResult = ::std::os::raw::c_int;
1141unsafe extern "C" {
1142 #[doc = " Returns a string representation of an EOS_EResult.\n The return value is never null.\n The return value must not be freed.\n\n Example: EOS_EResult_ToString(EOS_Success) returns \"EOS_Success\""]
1143 pub fn EOS_EResult_ToString(Result: EOS_EResult) -> *const ::std::os::raw::c_char;
1144}
1145unsafe extern "C" {
1146 #[doc = " Returns whether a result is to be considered the final result, or false if the callback that returned this result\n will be called again either after some time or from another action.\n\n @param Result The result to check against being a final result for an operation\n @return True if this result means the operation is complete, false otherwise"]
1147 pub fn EOS_EResult_IsOperationComplete(Result: EOS_EResult) -> EOS_Bool;
1148}
1149unsafe extern "C" {
1150 #[doc = " Encode a byte array into hex encoded string\n\n @return An EOS_EResult that indicates whether the byte array was converted and copied into the OutBuffer.\n EOS_Success if the encoding was successful and passed out in OutBuffer\n EOS_InvalidParameters if you pass a null pointer on invalid length for any of the parameters\n EOS_LimitExceeded - The OutBuffer is not large enough to receive the encoding. InOutBufferLength contains the required minimum length to perform the operation successfully."]
1151 pub fn EOS_ByteArray_ToString(
1152 ByteArray: *const u8,
1153 Length: u32,
1154 OutBuffer: *mut ::std::os::raw::c_char,
1155 InOutBufferLength: *mut u32,
1156 ) -> EOS_EResult;
1157}
1158#[repr(C)]
1159#[derive(Debug, Copy, Clone)]
1160pub struct EOS_EpicAccountIdDetails {
1161 _unused: [u8; 0],
1162}
1163#[doc = " A handle to a user's Epic Account ID\n This ID is associated with a specific login associated with Epic Account Services\n\n @see EOS_Auth_Login"]
1164pub type EOS_EpicAccountId = *mut EOS_EpicAccountIdDetails;
1165unsafe extern "C" {
1166 #[doc = " Check whether or not the given Epic Account ID is considered valid\n NOTE: This will return true for any EOS_EpicAccountId created with EOS_EpicAccountId_FromString as there is no validation\n\n @param AccountId The Epic Account ID to check for validity\n @return EOS_TRUE if the EOS_EpicAccountId is valid, otherwise EOS_FALSE"]
1167 pub fn EOS_EpicAccountId_IsValid(AccountId: EOS_EpicAccountId) -> EOS_Bool;
1168}
1169unsafe extern "C" {
1170 #[doc = " Retrieve a null-terminated stringified Epic Account ID from an EOS_EpicAccountId. This is useful for replication of Epic Account IDs in multiplayer games.\n This string will be no larger than EOS_EPICACCOUNTID_MAX_LENGTH + 1 and will only contain UTF8-encoded printable characters as well as a null-terminator.\n\n @param AccountId The Epic Account ID for which to retrieve the stringified version.\n @param OutBuffer The buffer into which the character data should be written\n @param InOutBufferLength The size of the OutBuffer in characters.\n The input buffer should include enough space to be null-terminated.\n When the function returns, this parameter will be filled with the length of the string copied into OutBuffer including the null-termination character.\n\n @return An EOS_EResult that indicates whether the Epic Account ID string was copied into the OutBuffer.\n EOS_Success - The OutBuffer was filled, and InOutBufferLength contains the number of characters copied into OutBuffer including the null-terminator.\n EOS_InvalidParameters - Either OutBuffer or InOutBufferLength were passed as NULL parameters.\n EOS_InvalidUser - The AccountId is invalid and cannot be stringified.\n EOS_LimitExceeded - The OutBuffer is not large enough to receive the Epic Account ID string. InOutBufferLength contains the required minimum length to perform the operation successfully."]
1171 pub fn EOS_EpicAccountId_ToString(
1172 AccountId: EOS_EpicAccountId,
1173 OutBuffer: *mut ::std::os::raw::c_char,
1174 InOutBufferLength: *mut i32,
1175 ) -> EOS_EResult;
1176}
1177unsafe extern "C" {
1178 #[doc = " Retrieve an EOS_EpicAccountId from a raw string representing an Epic Account ID. The input string must be null-terminated.\n NOTE: There is no validation on the string format, this should only be used with values serialized from legitimate sources such as EOS_EpicAccountId_ToString\n\n @param AccountIdString The stringified account ID for which to retrieve the Epic Account ID\n @return The EOS_EpicAccountId that corresponds to the AccountIdString"]
1179 pub fn EOS_EpicAccountId_FromString(
1180 AccountIdString: *const ::std::os::raw::c_char,
1181 ) -> EOS_EpicAccountId;
1182}
1183#[repr(C)]
1184#[derive(Debug, Copy, Clone)]
1185pub struct EOS_ProductUserIdDetails {
1186 _unused: [u8; 0],
1187}
1188#[doc = " A handle to a user's Product User ID (game services related ecosystem)\n This ID is associated with any of the external account providers (of which Epic Account Services is one)\n\n @see EOS_Connect_Login\n @see EOS_EExternalCredentialType"]
1189pub type EOS_ProductUserId = *mut EOS_ProductUserIdDetails;
1190unsafe extern "C" {
1191 #[doc = " Check whether or not the given account unique ID is considered valid\n NOTE: This will return true for any EOS_ProductUserId created with EOS_ProductUserId_FromString as there is no validation\n\n @param AccountId The Product User ID to check for validity\n @return EOS_TRUE if the EOS_ProductUserId is valid, otherwise EOS_FALSE"]
1192 pub fn EOS_ProductUserId_IsValid(AccountId: EOS_ProductUserId) -> EOS_Bool;
1193}
1194unsafe extern "C" {
1195 #[doc = " Retrieve a null-terminated stringified Product User ID from an EOS_ProductUserId. This is useful for replication of Product User IDs in multiplayer games.\n This string will be no larger than EOS_PRODUCTUSERID_MAX_LENGTH + 1 and will only contain UTF8-encoded printable characters as well as the null-terminator.\n\n @param AccountId The Product User ID for which to retrieve the stringified version.\n @param OutBuffer The buffer into which the character data should be written\n @param InOutBufferLength The size of the OutBuffer in characters.\n The input buffer should include enough space to be null-terminated.\n When the function returns, this parameter will be filled with the length of the string copied into OutBuffer including the null-termination character.\n\n @return An EOS_EResult that indicates whether the Product User ID string was copied into the OutBuffer.\n EOS_Success - The OutBuffer was filled, and InOutBufferLength contains the number of characters copied into OutBuffer including the null-terminator.\n EOS_InvalidParameters - Either OutBuffer or InOutBufferLength were passed as NULL parameters.\n EOS_InvalidUser - The AccountId is invalid and cannot be stringified.\n EOS_LimitExceeded - The OutBuffer is not large enough to receive the Product User ID string. InOutBufferLength contains the required minimum length to perform the operation successfully."]
1196 pub fn EOS_ProductUserId_ToString(
1197 AccountId: EOS_ProductUserId,
1198 OutBuffer: *mut ::std::os::raw::c_char,
1199 InOutBufferLength: *mut i32,
1200 ) -> EOS_EResult;
1201}
1202unsafe extern "C" {
1203 #[doc = " Retrieve an EOS_ProductUserId from a raw string representing an Epic Online Services Product User ID. The input string must be null-terminated.\n NOTE: There is no validation on the string format, this should only be used with values serialized from legitimate sources such as EOS_ProductUserId_ToString\n\n @param ProductUserIdString The stringified product user ID for which to retrieve the Epic Online Services Product User ID\n @return The EOS_ProductUserId that corresponds to the ProductUserIdString"]
1204 pub fn EOS_ProductUserId_FromString(
1205 ProductUserIdString: *const ::std::os::raw::c_char,
1206 ) -> EOS_ProductUserId;
1207}
1208#[doc = " Handle to an existing registered notification (0 is an invalid handle)"]
1209pub type EOS_NotificationId = u64;
1210#[repr(C)]
1211#[derive(Debug, Copy, Clone)]
1212pub struct EOS_ContinuanceTokenDetails {
1213 _unused: [u8; 0],
1214}
1215#[doc = " A handle to a continuance token @see eos_connect.h"]
1216pub type EOS_ContinuanceToken = *mut EOS_ContinuanceTokenDetails;
1217unsafe extern "C" {
1218 #[doc = " Retrieve a null-terminated stringified continuance token from an EOS_ContinuanceToken.\n\n To get the required buffer size, call once with OutBuffer set to NULL, InOutBufferLength will contain the buffer size needed.\n Call again with valid params to get the stringified continuance token which will only contain UTF8-encoded printable characters as well as the null-terminator.\n\n @param ContinuanceToken The continuance token for which to retrieve the stringified version.\n @param OutBuffer The buffer into which the character data should be written\n @param InOutBufferLength The size of the OutBuffer in characters.\n The input buffer should include enough space to be null-terminated.\n When the function returns, this parameter will be filled with the length of the string copied into OutBuffer including the null-termination character.\n\n @return An EOS_EResult that indicates whether the continuance token string was copied into the OutBuffer.\n EOS_Success - The OutBuffer was filled, and InOutBufferLength contains the number of characters copied into OutBuffer including the null-terminator.\n EOS_InvalidParameters - Either OutBuffer or InOutBufferLength were passed as NULL parameters.\n EOS_InvalidUser - The AccountId is invalid and cannot be stringified.\n EOS_LimitExceeded - The OutBuffer is not large enough to receive the continuance token string. InOutBufferLength contains the required minimum length to perform the operation successfully."]
1219 pub fn EOS_ContinuanceToken_ToString(
1220 ContinuanceToken: EOS_ContinuanceToken,
1221 OutBuffer: *mut ::std::os::raw::c_char,
1222 InOutBufferLength: *mut i32,
1223 ) -> EOS_EResult;
1224}
1225#[doc = " Player has not logged in or chosen a local profile"]
1226pub const EOS_ELoginStatus_EOS_LS_NotLoggedIn: EOS_ELoginStatus = 0;
1227#[doc = " Player is using a local profile but is not logged in"]
1228pub const EOS_ELoginStatus_EOS_LS_UsingLocalProfile: EOS_ELoginStatus = 1;
1229#[doc = " Player has been validated by the platform specific authentication service"]
1230pub const EOS_ELoginStatus_EOS_LS_LoggedIn: EOS_ELoginStatus = 2;
1231pub const EOS_ELoginStatus___EOS_ELoginStatus_PAD_INT32__: EOS_ELoginStatus = 2147483647;
1232#[doc = " All possible states of a local user\n\n @see EOS_Auth_AddNotifyLoginStatusChanged\n @see EOS_Auth_GetLoginStatus\n @see EOS_Auth_Login\n @see EOS_Connect_AddNotifyLoginStatusChanged\n @see EOS_Connect_GetLoginStatus\n @see EOS_Connect_Login"]
1233pub type EOS_ELoginStatus = ::std::os::raw::c_int;
1234#[doc = " Boolean value (true/false)"]
1235pub const EOS_EAttributeType_EOS_AT_BOOLEAN: EOS_EAttributeType = 0;
1236#[doc = " 64 bit integers"]
1237pub const EOS_EAttributeType_EOS_AT_INT64: EOS_EAttributeType = 1;
1238#[doc = " Double/floating point precision"]
1239pub const EOS_EAttributeType_EOS_AT_DOUBLE: EOS_EAttributeType = 2;
1240#[doc = " UTF8 Strings"]
1241pub const EOS_EAttributeType_EOS_AT_STRING: EOS_EAttributeType = 3;
1242pub const EOS_EAttributeType___EOS_EAttributeType_PAD_INT32__: EOS_EAttributeType = 2147483647;
1243#[doc = " Supported types of data that can be stored with inside an attribute (used by sessions/lobbies/etc)\n\n @see EOS_LobbySearch_SetParameter\n @see EOS_SessionSearch_SetParameter"]
1244pub type EOS_EAttributeType = ::std::os::raw::c_int;
1245#[doc = " Supported types of data that can be stored with inside an attribute (used by sessions/lobbies/etc)\n\n @see EOS_LobbySearch_SetParameter\n @see EOS_SessionSearch_SetParameter"]
1246pub use self::EOS_EAttributeType as EOS_ESessionAttributeType;
1247#[doc = " Supported types of data that can be stored with inside an attribute (used by sessions/lobbies/etc)\n\n @see EOS_LobbySearch_SetParameter\n @see EOS_SessionSearch_SetParameter"]
1248pub use self::EOS_EAttributeType as EOS_ELobbyAttributeType;
1249#[doc = " Value must equal the one stored in the attribute"]
1250pub const EOS_EComparisonOp_EOS_CO_EQUAL: EOS_EComparisonOp = 0;
1251#[doc = " Value must not equal the one stored in the attribute"]
1252pub const EOS_EComparisonOp_EOS_CO_NOTEQUAL: EOS_EComparisonOp = 1;
1253#[doc = " Value must be strictly greater than the one stored in the attribute"]
1254pub const EOS_EComparisonOp_EOS_CO_GREATERTHAN: EOS_EComparisonOp = 2;
1255#[doc = " Value must be greater than or equal to the one stored in the attribute"]
1256pub const EOS_EComparisonOp_EOS_CO_GREATERTHANOREQUAL: EOS_EComparisonOp = 3;
1257#[doc = " Value must be strictly less than the one stored in the attribute"]
1258pub const EOS_EComparisonOp_EOS_CO_LESSTHAN: EOS_EComparisonOp = 4;
1259#[doc = " Value must be less than or equal to the one stored in the attribute"]
1260pub const EOS_EComparisonOp_EOS_CO_LESSTHANOREQUAL: EOS_EComparisonOp = 5;
1261#[doc = " Prefer values nearest the one specified ie. abs(SearchValue-SessionValue) closest to 0"]
1262pub const EOS_EComparisonOp_EOS_CO_DISTANCE: EOS_EComparisonOp = 6;
1263#[doc = " Value stored in the attribute may be any from a specified list"]
1264pub const EOS_EComparisonOp_EOS_CO_ANYOF: EOS_EComparisonOp = 7;
1265#[doc = " Value stored in the attribute may NOT be any from a specified list"]
1266pub const EOS_EComparisonOp_EOS_CO_NOTANYOF: EOS_EComparisonOp = 8;
1267#[doc = " This one value is a part of a collection. Supported in EOS_SessionSearch_SetParameter only."]
1268pub const EOS_EComparisonOp_EOS_CO_ONEOF: EOS_EComparisonOp = 9;
1269#[doc = " This one value is NOT part of a collection. Supported in EOS_SessionSearch_SetParameter only."]
1270pub const EOS_EComparisonOp_EOS_CO_NOTONEOF: EOS_EComparisonOp = 10;
1271#[doc = " This value is a CASE SENSITIVE substring of an attribute"]
1272pub const EOS_EComparisonOp_EOS_CO_CONTAINS: EOS_EComparisonOp = 11;
1273#[doc = " This value is a regex match of an attribute"]
1274pub const EOS_EComparisonOp_EOS_CO_REGEXMATCH: EOS_EComparisonOp = 12;
1275#[doc = " This array or string value's size must be equal to the one stored in the attribute"]
1276pub const EOS_EComparisonOp_EOS_CO_SIZE: EOS_EComparisonOp = 13;
1277pub const EOS_EComparisonOp___EOS_EComparisonOp_PAD_INT32__: EOS_EComparisonOp = 2147483647;
1278#[doc = " All comparison operators associated with attributes.\n\n @see EOS_LobbySearch_SetParameter\n @see EOS_SessionSearch_SetParameter"]
1279pub type EOS_EComparisonOp = ::std::os::raw::c_int;
1280#[doc = " All comparison operators associated with attributes.\n\n @see EOS_LobbySearch_SetParameter\n @see EOS_SessionSearch_SetParameter"]
1281pub use self::EOS_EComparisonOp as EOS_EOnlineComparisonOp;
1282#[doc = " External account is associated with Epic Games"]
1283pub const EOS_EExternalAccountType_EOS_EAT_EPIC: EOS_EExternalAccountType = 0;
1284#[doc = " External account is associated with Steam"]
1285pub const EOS_EExternalAccountType_EOS_EAT_STEAM: EOS_EExternalAccountType = 1;
1286#[doc = " External account is associated with PlayStation(TM)Network"]
1287pub const EOS_EExternalAccountType_EOS_EAT_PSN: EOS_EExternalAccountType = 2;
1288#[doc = " External account is associated with Xbox Live"]
1289pub const EOS_EExternalAccountType_EOS_EAT_XBL: EOS_EExternalAccountType = 3;
1290#[doc = " External account is associated with Discord"]
1291pub const EOS_EExternalAccountType_EOS_EAT_DISCORD: EOS_EExternalAccountType = 4;
1292#[doc = " External account is associated with GOG"]
1293pub const EOS_EExternalAccountType_EOS_EAT_GOG: EOS_EExternalAccountType = 5;
1294#[doc = " External account is associated with Nintendo\n\n With both EOS Connect and EOS UserInfo APIs, the associated account type is Nintendo Service Account ID.\n Local user authentication is possible using Nintendo Account ID, while the account type does not get exposed to the SDK in queries related to linked accounts information."]
1295pub const EOS_EExternalAccountType_EOS_EAT_NINTENDO: EOS_EExternalAccountType = 6;
1296#[doc = " External account is associated with Uplay"]
1297pub const EOS_EExternalAccountType_EOS_EAT_UPLAY: EOS_EExternalAccountType = 7;
1298#[doc = " External account is associated with an OpenID Provider"]
1299pub const EOS_EExternalAccountType_EOS_EAT_OPENID: EOS_EExternalAccountType = 8;
1300#[doc = " External account is associated with Apple"]
1301pub const EOS_EExternalAccountType_EOS_EAT_APPLE: EOS_EExternalAccountType = 9;
1302#[doc = " External account is associated with Google"]
1303pub const EOS_EExternalAccountType_EOS_EAT_GOOGLE: EOS_EExternalAccountType = 10;
1304#[doc = " External account is associated with Oculus"]
1305pub const EOS_EExternalAccountType_EOS_EAT_OCULUS: EOS_EExternalAccountType = 11;
1306#[doc = " External account is associated with itch.io"]
1307pub const EOS_EExternalAccountType_EOS_EAT_ITCHIO: EOS_EExternalAccountType = 12;
1308#[doc = " External account is associated with Amazon"]
1309pub const EOS_EExternalAccountType_EOS_EAT_AMAZON: EOS_EExternalAccountType = 13;
1310#[doc = " External account is associated with Viveport"]
1311pub const EOS_EExternalAccountType_EOS_EAT_VIVEPORT: EOS_EExternalAccountType = 14;
1312pub const EOS_EExternalAccountType___EOS_EExternalAccountType_PAD_INT32__:
1313 EOS_EExternalAccountType = 2147483647;
1314#[doc = " All supported external account providers\n\n @see EOS_Connect_QueryExternalAccountMappings"]
1315pub type EOS_EExternalAccountType = ::std::os::raw::c_int;
1316#[doc = " Epic Account Services Token\n\n Using ID Token is preferred, retrieved with EOS_Auth_CopyIdToken that returns EOS_Auth_IdToken::JsonWebToken.\n Using Auth Token is supported for backwards compatibility, retrieved with EOS_Auth_CopyUserAuthToken that returns EOS_Auth_Token::AccessToken.\n\n Supported with EOS_Connect_Login.\n\n @see EOS_Auth_CopyIdToken\n @see EOS_Auth_CopyUserAuthToken"]
1317pub const EOS_EExternalCredentialType_EOS_ECT_EPIC: EOS_EExternalCredentialType = 0;
1318#[doc = " Steam Encrypted App Ticket\n Note that EOS_ECT_STEAM_APP_TICKET is deprecated for use with EOS_Auth_Login. Use EOS_ECT_STEAM_SESSION_TICKET instead.\n\n Generated using the ISteamUser::RequestEncryptedAppTicket API of Steamworks SDK.\n For ticket generation parameters, use pDataToInclude(NULL) and cbDataToInclude(0).\n\n The retrieved App Ticket byte buffer needs to be converted into a hex-encoded UTF-8 string (e.g. \"FA87097A..\") before passing it to the EOS_Connect_Login API.\n EOS_ByteArray_ToString can be used for this conversion.\n\n Supported with EOS_Connect_Login.\n\n @see EOS_ECT_STEAM_SESSION_TICKET"]
1319pub const EOS_EExternalCredentialType_EOS_ECT_STEAM_APP_TICKET: EOS_EExternalCredentialType = 1;
1320#[doc = " PlayStation(TM)Network ID Token\n\n Retrieved from the PlayStation(R) SDK. Please see first-party documentation for additional information.\n\n Supported with EOS_Auth_Login, EOS_Connect_Login."]
1321pub const EOS_EExternalCredentialType_EOS_ECT_PSN_ID_TOKEN: EOS_EExternalCredentialType = 2;
1322#[doc = " Xbox Live XSTS Token\n\n Retrieved from the GDK and XDK. Please see first-party documentation for additional information.\n\n Supported with EOS_Auth_Login, EOS_Connect_Login."]
1323pub const EOS_EExternalCredentialType_EOS_ECT_XBL_XSTS_TOKEN: EOS_EExternalCredentialType = 3;
1324#[doc = " Discord Access Token\n\n Retrieved using the ApplicationManager::GetOAuth2Token API of Discord SDK.\n\n Supported with EOS_Connect_Login."]
1325pub const EOS_EExternalCredentialType_EOS_ECT_DISCORD_ACCESS_TOKEN: EOS_EExternalCredentialType = 4;
1326#[doc = " GOG Galaxy Encrypted App Ticket\n\n Generated using the IUser::RequestEncryptedAppTicket API of GOG Galaxy SDK.\n For ticket generation parameters, use data(NULL) and dataSize(0).\n\n The retrieved App Ticket byte buffer needs to be converted into a hex-encoded UTF-8 string (e.g. \"FA87097A..\") before passing it to the EOS_Connect_Login API.\n For C/C++ API integration, use the EOS_ByteArray_ToString API for the conversion.\n For C# integration, you can use <see cref=\"Helper.ToHexString\" /> for the conversion.\n\n Supported with EOS_Connect_Login."]
1327pub const EOS_EExternalCredentialType_EOS_ECT_GOG_SESSION_TICKET: EOS_EExternalCredentialType = 5;
1328#[doc = " Nintendo Account ID Token\n\n Identifies a Nintendo user account and is acquired through web flow authentication where the local user logs in using their email address/sign-in ID and password.\n This is the common Nintendo account that users login with outside the Nintendo Switch device.\n\n Supported with EOS_Auth_Login, EOS_Connect_Login.\n\n Note: EOS_Auth_Login usage is restricted to Epic first party products only, attempting to use it will result in authentication failures."]
1329pub const EOS_EExternalCredentialType_EOS_ECT_NINTENDO_ID_TOKEN: EOS_EExternalCredentialType = 6;
1330#[doc = " Nintendo Service Account ID Token (NSA ID)\n\n The NSA ID identifies uniquely the local Nintendo Switch device. The authentication token is acquired locally without explicit user credentials.\n As such, it is the primary authentication method for seamless login on Nintendo Switch.\n\n The NSA ID is not exposed directly to the user and does not provide any means for login outside the local device.\n Because of this, Nintendo Switch users will need to link their Nintendo Account or another external user account\n to their Product User ID in order to share their game progression across other platforms. Otherwise, the user will\n not be able to login to their existing Product User ID on another platform due to missing login credentials to use.\n It is recommended that the game explicitly communicates this restriction to the user so that they will know to add\n the first linked external account on the Nintendo Switch device and then proceed with login on another platform.\n\n In addition to sharing cross-platform game progression, linking the Nintendo Account or another external account\n will allow preserving the game progression permanently. Otherwise, the game progression will be tied only to the\n local device. In case the user loses access to their local device, they will not be able to recover the game\n progression if it is only associated with this account type.\n\n Supported with EOS_Auth_Login, EOS_Connect_Login.\n\n Note: EOS_Auth_Login usage is restricted to Epic first party products only, attempting to use it will result in authentication failures."]
1331pub const EOS_EExternalCredentialType_EOS_ECT_NINTENDO_NSA_ID_TOKEN: EOS_EExternalCredentialType =
1332 7;
1333#[doc = " Uplay Access Token\n\n Supported with EOS_Connect_Login."]
1334pub const EOS_EExternalCredentialType_EOS_ECT_UPLAY_ACCESS_TOKEN: EOS_EExternalCredentialType = 8;
1335#[doc = " OpenID Provider Access Token\n\n Supported with EOS_Connect_Login."]
1336pub const EOS_EExternalCredentialType_EOS_ECT_OPENID_ACCESS_TOKEN: EOS_EExternalCredentialType = 9;
1337#[doc = " Device ID access token that identifies the current locally logged in user profile on the local device.\n The local user profile here refers to the operating system user login, for example the user's Windows Account\n or on a mobile device the default active user profile.\n\n This credential type is used to automatically login the local user using the EOS Connect Device ID feature.\n\n The intended use of the Device ID feature is to allow automatically logging in the user on a mobile device\n and to allow playing the game without requiring the user to necessarily login using a real user account at all.\n This makes a seamless first-time experience possible and allows linking the local device with a real external\n user account at a later time, sharing the same EOS_ProductUserId that is being used with the Device ID feature.\n\n Supported with EOS_Connect_Login.\n\n @see EOS_Connect_CreateDeviceId"]
1338pub const EOS_EExternalCredentialType_EOS_ECT_DEVICEID_ACCESS_TOKEN: EOS_EExternalCredentialType =
1339 10;
1340#[doc = " Apple ID Token\n\n Supported with EOS_Connect_Login."]
1341pub const EOS_EExternalCredentialType_EOS_ECT_APPLE_ID_TOKEN: EOS_EExternalCredentialType = 11;
1342#[doc = " Google ID Token\n\n Supported with EOS_Connect_Login."]
1343pub const EOS_EExternalCredentialType_EOS_ECT_GOOGLE_ID_TOKEN: EOS_EExternalCredentialType = 12;
1344#[doc = " Oculus User ID and Nonce\n\n Call ovr_User_GetUserProof(), or Platform.User.GetUserProof() if you are using Unity, to retrieve the nonce.\n Then pass the local User ID and the Nonce as a \"{UserID}|{Nonce}\" formatted string for the EOS_Connect_Login Token parameter.\n\n Note that in order to successfully retrieve a valid non-zero id for the local user using ovr_User_GetUser(),\n your Oculus App needs to be configured in the Oculus Developer Dashboard to have the User ID feature enabled.\n\n Supported with EOS_Connect_Login."]
1345pub const EOS_EExternalCredentialType_EOS_ECT_OCULUS_USERID_NONCE: EOS_EExternalCredentialType = 13;
1346#[doc = " itch.io JWT Access Token\n\n Use the itch.io app manifest to receive a JWT access token for the local user via the ITCHIO_API_KEY process environment variable.\n The itch.io access token is valid for 7 days after which the game needs to be restarted by the user as otherwise EOS Connect\n authentication session can no longer be refreshed.\n\n Supported with EOS_Connect_Login."]
1347pub const EOS_EExternalCredentialType_EOS_ECT_ITCHIO_JWT: EOS_EExternalCredentialType = 14;
1348#[doc = " itch.io Key Access Token\n\n This access token type is retrieved through the OAuth 2.0 authentication flow for the itch.io application.\n\n Supported with EOS_Connect_Login."]
1349pub const EOS_EExternalCredentialType_EOS_ECT_ITCHIO_KEY: EOS_EExternalCredentialType = 15;
1350#[doc = " Epic Games ID Token\n\n Acquired using EOS_Auth_CopyIdToken that returns EOS_Auth_IdToken::JsonWebToken.\n\n Supported with EOS_Connect_Login."]
1351pub const EOS_EExternalCredentialType_EOS_ECT_EPIC_ID_TOKEN: EOS_EExternalCredentialType = 16;
1352#[doc = " Amazon Access Token\n\n Supported with EOS_Connect_Login."]
1353pub const EOS_EExternalCredentialType_EOS_ECT_AMAZON_ACCESS_TOKEN: EOS_EExternalCredentialType = 17;
1354#[doc = " Steam Auth Session Ticket\n\n Generated using the ISteamUser::GetAuthTicketForWebApi API of Steamworks SDK.\n\n @attention\n The pchIdentity input parameter of GetAuthTicketForWebApi API must be set to a valid non-empty string value.\n The string value used by the game client must match identically to the backend-configured value in EOS Dev Portal.\n The recommended value to use is \"epiconlineservices\" in lowercase, matching the default value for new Steam identity provider credentials in EOS Dev Portal.\n This identifier is important for security reasons to prevent session hijacking. Applications must use a dedicated unique identity identifier for Session Tickets passed to the EOS SDK APIs.\n Session Tickets using the EOS-assigned identifier must not be used with anything else than the EOS SDK APIs. You must use a different identifier when generating Session Tickets to authenticate with other parties.\n\n @warning\n To update an already live game to use the new GetAuthTicketForWebApi API instead of the deprecated GetAuthSessionTicket API, follow these steps in this order to prevent breaking the live game for players:\n 1. Update your game client code to use the new ISteamUser::GetAuthTicketForWebApi API.\n 2. Publish the new game client update to end-users.\n 3. Update the existing Steam identity provider credentials entry in EOS Dev Portal to use the same identity string identifier as the game client.\n\n @example\n SteamUser()->GetAuthTicketForWebApi(\"epiconlineservices\");\n\n The retrieved Auth Session Ticket byte buffer needs to be converted into a hex-encoded UTF-8 string (e.g. \"FA87097A..\") before passing it to the EOS_Auth_Login or EOS_Connect_Login APIs.\n EOS_ByteArray_ToString can be used for this conversion.\n\n Supported with EOS_Auth_Login, EOS_Connect_Login.\n\n @version 1.15.1+"]
1355pub const EOS_EExternalCredentialType_EOS_ECT_STEAM_SESSION_TICKET: EOS_EExternalCredentialType =
1356 18;
1357#[doc = " VIVEPORT User Session Token\n\n Supported with EOS_Connect_Login."]
1358pub const EOS_EExternalCredentialType_EOS_ECT_VIVEPORT_USER_TOKEN: EOS_EExternalCredentialType = 19;
1359pub const EOS_EExternalCredentialType___EOS_EExternalCredentialType_PAD_INT32__:
1360 EOS_EExternalCredentialType = 2147483647;
1361#[doc = " List of the supported identity providers to authenticate a user.\n\n The type of authentication token is specific to each provider.\n Tokens in string format should be passed as-is to the function.\n Tokens retrieved as raw byte arrays should be converted into a hex-encoded UTF-8 string (e.g. \"FA87097A..\") before being passed to the function.\n EOS_ByteArray_ToString can be used for this conversion.\n\n @see EOS_Auth_Login\n @see EOS_Connect_Login"]
1362pub type EOS_EExternalCredentialType = ::std::os::raw::c_int;
1363#[doc = " This type is used to distinguish between different supported integrated platforms.\n Integrated platforms which are common across multiple host platforms will be defined here."]
1364pub type EOS_IntegratedPlatformType = *const ::std::os::raw::c_char;
1365#[doc = " This type is used to distinguish between different online platforms."]
1366pub type EOS_OnlinePlatformType = u32;
1367#[repr(C)]
1368#[derive(Debug, Copy, Clone)]
1369pub struct EOS_IntegratedPlatformOptionsContainerHandle {
1370 _unused: [u8; 0],
1371}
1372pub type EOS_HIntegratedPlatformOptionsContainer =
1373 *mut EOS_IntegratedPlatformOptionsContainerHandle;
1374#[repr(C)]
1375#[derive(Debug, Copy, Clone)]
1376pub struct EOS_IntegratedPlatformHandle {
1377 _unused: [u8; 0],
1378}
1379pub type EOS_HIntegratedPlatform = *mut EOS_IntegratedPlatformHandle;
1380#[doc = " The integrated platform library should be disabled. This is equivalent to providing no flags."]
1381pub const EOS_EIntegratedPlatformManagementFlags_EOS_IPMF_Disabled:
1382 EOS_EIntegratedPlatformManagementFlags = 1;
1383#[doc = " The integrated platform library is managed by the calling application. EOS SDK should only hook into an existing instance of the integrated platform library."]
1384pub const EOS_EIntegratedPlatformManagementFlags_EOS_IPMF_LibraryManagedByApplication:
1385 EOS_EIntegratedPlatformManagementFlags = 2;
1386#[doc = " EOS SDK should fully manage the integrated platform library. It will do this by performing the load, initialize, tick and unload operations as necessary."]
1387pub const EOS_EIntegratedPlatformManagementFlags_EOS_IPMF_LibraryManagedBySDK:
1388 EOS_EIntegratedPlatformManagementFlags = 4;
1389#[doc = " The EOS SDK should not mirror the EOS rich presence with the Integrated Platform.\n The default behavior is for EOS SDK to share local presence with the Integrated Platform."]
1390pub const EOS_EIntegratedPlatformManagementFlags_EOS_IPMF_DisablePresenceMirroring:
1391 EOS_EIntegratedPlatformManagementFlags = 8;
1392#[doc = " EOS SDK should not perform any sessions management through the Integrated Platform.\n The default behavior is for EOS SDK to perform sessions management through the Integrated Platform.\n Sessions management includes:\n - sharing the lobby and session presence enabled games with the Integrated Platform.\n - handling Social Overlay join button events which cannot be handled by normal processing of Epic Services.\n - handling Social Overlay invite button events which cannot be handled by normal processing of Epic Services.\n - handling startup requests from the Integrated Platform to immediately join a game due to in invite while offline.\n\n @see EOS_Lobby_AddNotifySendLobbyNativeInviteRequested"]
1393pub const EOS_EIntegratedPlatformManagementFlags_EOS_IPMF_DisableSDKManagedSessions:
1394 EOS_EIntegratedPlatformManagementFlags = 16;
1395#[doc = " Some features within the EOS SDK may wish to know a preference of Integrated Platform versus EOS.\n When determining an absolute platform preference those with this flag will be skipped.\n The IntegratedPlatforms list is provided via the EOS_Platform_Options during EOS_Platform_Create.\n\n The primary usage of the EOS_IPMF_PreferEOSIdentity and EOS_IPMF_PreferIntegratedIdentity flags is with game invites\n from the Social Overlay.\n\n For game invites from the Social Overlay the EOS SDK will follow these rules:\n - If the only account ID we can determine for the target player is an EAS ID then the EOS system will be used.\n - If the only account ID we can determine for the target player is an integrated platform ID then the integrated platform system will be used.\n - If both are available then the EOS SDK will operate in 1 of 3 modes:\n - no preference identified: use both the EOS and integrated platform systems.\n - PreferEOS: Use EOS if the target is an EAS friend and is either online in EAS or not online for the integrated platform.\n - PreferIntegrated: Use integrated platform if the target is an integrated platform friend and is either online in the integrated platform or not online for EAS.\n - If the integrated platform fails to send then try EAS if was not already used."]
1396pub const EOS_EIntegratedPlatformManagementFlags_EOS_IPMF_PreferEOSIdentity:
1397 EOS_EIntegratedPlatformManagementFlags = 32;
1398#[doc = " Some features within the EOS SDK may wish to know a preference of Integrated Platform versus EOS.\n For further explanation see EOS_IPMF_PreferEOSIdentity.\n\n @see EOS_IPMF_PreferEOSIdentity"]
1399pub const EOS_EIntegratedPlatformManagementFlags_EOS_IPMF_PreferIntegratedIdentity:
1400 EOS_EIntegratedPlatformManagementFlags = 64;
1401#[doc = " By default the EOS SDK will attempt to detect the login/logout events of local users and update local states accordingly. Setting this flag will disable this functionality,\n relying on the application to process login/logout events and notify EOS SDK. It is not possible for the EOS SDK to do this on all platforms, making this flag not always\n optional.\n\n This flag must be set to use the manual platform user login/logout functions, even on platforms where it is not possible for the EOS SDK to detect login/logout events,\n making this a required flag for correct Integrated Platform behavior on those platforms."]
1402pub const EOS_EIntegratedPlatformManagementFlags_EOS_IPMF_ApplicationManagedIdentityLogin:
1403 EOS_EIntegratedPlatformManagementFlags = 128;
1404pub const EOS_EIntegratedPlatformManagementFlags___EOS_EIntegratedPlatformManagementFlags_PAD_INT32__ : EOS_EIntegratedPlatformManagementFlags = 2147483647 ;
1405#[doc = " These flags are used to determine how a specific Integrated Platform will be managed."]
1406pub type EOS_EIntegratedPlatformManagementFlags = ::std::os::raw::c_int;
1407#[doc = " Initialization options to use with EOS_Platform_Options for integrated platforms.\n\n @see EOS_Platform_Options"]
1408#[repr(C)]
1409#[derive(Debug, Copy, Clone)]
1410pub struct _tagEOS_IntegratedPlatform_Options {
1411 #[doc = " API Version: Set this to EOS_INTEGRATEDPLATFORM_OPTIONS_API_LATEST."]
1412 pub ApiVersion: i32,
1413 #[doc = " The type to be initialized."]
1414 pub Type: EOS_IntegratedPlatformType,
1415 #[doc = " Identifies how to initialize the IntegratedPlatform."]
1416 pub Flags: EOS_EIntegratedPlatformManagementFlags,
1417 #[doc = " Options specific to this integrated platform type.\n This parameter is either required or set to NULL based on the platform type.\n\n @see EOS_IntegratedPlatform_Steam_Options"]
1418 pub InitOptions: *const ::std::os::raw::c_void,
1419}
1420impl Default for _tagEOS_IntegratedPlatform_Options {
1421 fn default() -> Self {
1422 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1423 unsafe {
1424 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1425 s.assume_init()
1426 }
1427 }
1428}
1429#[doc = " Initialization options to use with EOS_Platform_Options for integrated platforms.\n\n @see EOS_Platform_Options"]
1430pub type EOS_IntegratedPlatform_Options = _tagEOS_IntegratedPlatform_Options;
1431#[doc = " Required initialization options to use with EOS_IntegratedPlatform_Options for Steam.\n Steamworks API needs to be at least v1.13\n Steam Sanitization requires at least v1.45\n Starting Steamworks v1.58a onwards, SteamApiInterfaceVersionsArray is required when EOS_IPMF_LibraryManagedBySDK is set.\n\n @see EOS_IntegratedPlatform_Options"]
1432#[repr(C)]
1433#[derive(Debug, Copy, Clone)]
1434pub struct _tagEOS_IntegratedPlatform_Steam_Options {
1435 #[doc = " API Version: Set this to EOS_INTEGRATEDPLATFORM_STEAM_OPTIONS_API_LATEST."]
1436 pub ApiVersion: i32,
1437 #[doc = " Usage of this parameter is dependent on the specified EOS_EIntegratedPlatformManagementFlags.\n\n Optional with EOS_IPMF_LibraryManagedByApplication.\n Set to override the loaded library basename, or use NULL to assume the default basename by platform:\n\n - Linux: libsteam_api.so,\n - macOS: libsteam_api.dylib,\n - Windows 32-bit: steam_api.dll,\n - Windows 64-bit: steam_api64.dll.\n\n Required with EOS_IPMF_LibraryManagedBySDK.\n Set to a fully qualified file path to the Steamworks SDK runtime library on disk."]
1438 pub OverrideLibraryPath: *const ::std::os::raw::c_char,
1439 #[doc = " Used to specify the major version of the Steam SDK your game is compiled against, e.g.:\n\n Options.SteamMajorVersion = 1;"]
1440 pub SteamMajorVersion: u32,
1441 #[doc = " Used to specify the minor version of the Steam SDK your game is compiled against, e.g.:\n\n Options.SteamMinorVersion = 58;"]
1442 pub SteamMinorVersion: u32,
1443 #[doc = " A pointer to a series of null terminated steam interface version names supported by the current steam dll.\n\n This field is only required when the Integrated Platform Management flags has EOS_IPMF_LibraryManagedBySDK set. Else must be set to NULL.\n\n Starting v1.58 the Steam initialization API requires this new field during initialization for version check validations.\n\n Note: The pointer must be valid until after the execution of the EOS_IntegratedPlatformOptionsContainer_Add method.\n\n This value must be constructed from the corresponding steam_api.h header of the steam dll version that is shipped with the game.\n In the steam_api.h header, look for SteamAPI_InitEx() and copy the value of pszInternalCheckInterfaceVersions as it is.\n\n For example in v1.58a its this:\n \tconst char SteamInterfaceVersionsArray[] =\n\t\tSTEAMUTILS_INTERFACE_VERSION \"\\0\"\n\t\tSTEAMNETWORKINGUTILS_INTERFACE_VERSION \"\\0\"\n\t\t...\n\t\tSTEAMUSER_INTERFACE_VERSION \"\\0\"\n\t\tSTEAMVIDEO_INTERFACE_VERSION \"\\0\"\n \"\\0\";"]
1444 pub SteamApiInterfaceVersionsArray: *const ::std::os::raw::c_char,
1445 #[doc = " Size of the SteamApiInterfaceVersionsArray in bytes. Cannot exceed EOS_INTEGRATEDPLATFORM_STEAM_MAX_STEAMAPIINTERFACEVERSIONSARRAY_SIZE.\n\n This field is only required when the Integrated Platform Management flags has EOS_IPMF_LibraryManagedBySDK set. Else must be set to 0.\n\n Note: Since SteamInterfaceVersionsArray contains a series of null terminated strings, please ensure that strlen() is NOT used to calculate this field.\n For instance, you can use the following to get the array length:\n const char SteamInterfaceVersionsArray[] =\n STEAMUTILS_INTERFACE_VERSION \"\\0\"\n\t\tSTEAMNETWORKINGUTILS_INTERFACE_VERSION \"\\0\"\n ...\n\t\tSTEAMVIDEO_INTERFACE_VERSION \"\\0\"\n \"\\0\";\n\n uint32_t SteamApiInterfaceVersionsArrayBytes = sizeof(SteamApiInterfaceVersionsArray) // Note: sizeof() takes into account the last \"\\0\" of the string literal;"]
1446 pub SteamApiInterfaceVersionsArrayBytes: u32,
1447}
1448impl Default for _tagEOS_IntegratedPlatform_Steam_Options {
1449 fn default() -> Self {
1450 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1451 unsafe {
1452 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1453 s.assume_init()
1454 }
1455 }
1456}
1457#[doc = " Required initialization options to use with EOS_IntegratedPlatform_Options for Steam.\n Steamworks API needs to be at least v1.13\n Steam Sanitization requires at least v1.45\n Starting Steamworks v1.58a onwards, SteamApiInterfaceVersionsArray is required when EOS_IPMF_LibraryManagedBySDK is set.\n\n @see EOS_IntegratedPlatform_Options"]
1458pub type EOS_IntegratedPlatform_Steam_Options = _tagEOS_IntegratedPlatform_Steam_Options;
1459#[doc = " Data for the EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainer function."]
1460#[repr(C)]
1461#[derive(Debug, Default, Copy, Clone)]
1462pub struct _tagEOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainerOptions {
1463 #[doc = " API Version: Set this to EOS_INTEGRATEDPLATFORM_CREATEINTEGRATEDPLATFORMOPTIONSCONTAINER_API_LATEST."]
1464 pub ApiVersion: i32,
1465}
1466#[doc = " Data for the EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainer function."]
1467pub type EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainerOptions =
1468 _tagEOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainerOptions;
1469unsafe extern "C" {
1470 #[doc = " Creates an integrated platform options container handle. This handle can used to add multiple options to your container which will then be applied with EOS_Platform_Create.\n The resulting handle must be released by calling EOS_IntegratedPlatformOptionsContainer_Release once it has been passed to EOS_Platform_Create.\n\n @param Options structure containing operation input parameters.\n @param OutIntegratedPlatformOptionsContainerHandle Pointer to an integrated platform options container handle to be set if successful.\n @return Success if we successfully created the integrated platform options container handle pointed at in OutIntegratedPlatformOptionsContainerHandle, or an error result if the input data was invalid.\n\n @see EOS_IntegratedPlatformOptionsContainer_Release\n @see EOS_Platform_Create\n @see EOS_IntegratedPlatformOptionsContainer_Add"]
1471 pub fn EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainer(
1472 Options: *const EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainerOptions,
1473 OutIntegratedPlatformOptionsContainerHandle: *mut EOS_HIntegratedPlatformOptionsContainer,
1474 ) -> EOS_EResult;
1475}
1476unsafe extern "C" {
1477 #[doc = " Release the memory associated with an EOS_HIntegratedPlatformOptionsContainer handle. This must be called on Handles retrieved from EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainer.\n This can be safely called on a NULL integrated platform options container handle.\n\n @param IntegratedPlatformOptionsContainerHandle The integrated platform options container handle to release.\n\n @see EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainer"]
1478 pub fn EOS_IntegratedPlatformOptionsContainer_Release(
1479 IntegratedPlatformOptionsContainerHandle: EOS_HIntegratedPlatformOptionsContainer,
1480 );
1481}
1482#[doc = " Data for the EOS_IntegratedPlatformOptionsContainer_Add function."]
1483#[repr(C)]
1484#[derive(Debug, Copy, Clone)]
1485pub struct _tagEOS_IntegratedPlatformOptionsContainer_AddOptions {
1486 #[doc = " API Version: Set this to EOS_INTEGRATEDPLATFORMOPTIONSCONTAINER_ADD_API_LATEST."]
1487 pub ApiVersion: i32,
1488 #[doc = " The integrated platform options to add."]
1489 pub Options: *const EOS_IntegratedPlatform_Options,
1490}
1491impl Default for _tagEOS_IntegratedPlatformOptionsContainer_AddOptions {
1492 fn default() -> Self {
1493 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1494 unsafe {
1495 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1496 s.assume_init()
1497 }
1498 }
1499}
1500#[doc = " Data for the EOS_IntegratedPlatformOptionsContainer_Add function."]
1501pub type EOS_IntegratedPlatformOptionsContainer_AddOptions =
1502 _tagEOS_IntegratedPlatformOptionsContainer_AddOptions;
1503#[doc = " Input parameters for the EOS_IntegratedPlatform_SetUserLoginStatus function."]
1504#[repr(C)]
1505#[derive(Debug, Copy, Clone)]
1506pub struct _tagEOS_IntegratedPlatform_SetUserLoginStatusOptions {
1507 #[doc = " API Version: Set this to EOS_INTEGRATEDPLATFORM_SETUSERLOGINSTATUS_API_LATEST."]
1508 pub ApiVersion: i32,
1509 #[doc = " The integrated platform this user belongs to."]
1510 pub PlatformType: EOS_IntegratedPlatformType,
1511 #[doc = " String version of the integrated platform-dependent user id."]
1512 pub LocalPlatformUserId: *const ::std::os::raw::c_char,
1513 #[doc = " The login status of the provided user"]
1514 pub CurrentLoginStatus: EOS_ELoginStatus,
1515}
1516impl Default for _tagEOS_IntegratedPlatform_SetUserLoginStatusOptions {
1517 fn default() -> Self {
1518 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1519 unsafe {
1520 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1521 s.assume_init()
1522 }
1523 }
1524}
1525#[doc = " Input parameters for the EOS_IntegratedPlatform_SetUserLoginStatus function."]
1526pub type EOS_IntegratedPlatform_SetUserLoginStatusOptions =
1527 _tagEOS_IntegratedPlatform_SetUserLoginStatusOptions;
1528#[doc = " Input parameters for the EOS_IntegratedPlatform_AddNotifyUserLoginStatusChanged function."]
1529#[repr(C)]
1530#[derive(Debug, Default, Copy, Clone)]
1531pub struct _tagEOS_IntegratedPlatform_AddNotifyUserLoginStatusChangedOptions {
1532 #[doc = " API Version: Set this to EOS_INTEGRATEDPLATFORM_ADDNOTIFYUSERLOGINSTATUSCHANGED_API_LATEST."]
1533 pub ApiVersion: i32,
1534}
1535#[doc = " Input parameters for the EOS_IntegratedPlatform_AddNotifyUserLoginStatusChanged function."]
1536pub type EOS_IntegratedPlatform_AddNotifyUserLoginStatusChangedOptions =
1537 _tagEOS_IntegratedPlatform_AddNotifyUserLoginStatusChangedOptions;
1538#[doc = " Data about which integrated platform and which user that had a login status change and what the login status changed to."]
1539#[repr(C)]
1540#[derive(Debug, Copy, Clone)]
1541pub struct _tagEOS_IntegratedPlatform_UserLoginStatusChangedCallbackInfo {
1542 #[doc = " Context that was passed into EOS_IntegratedPlatform_AddNotifyUserLoginStatusChanged"]
1543 pub ClientData: *mut ::std::os::raw::c_void,
1544 #[doc = " The integrated platform of the local platform user."]
1545 pub PlatformType: EOS_IntegratedPlatformType,
1546 #[doc = " String version of platform's user id."]
1547 pub LocalPlatformUserId: *const ::std::os::raw::c_char,
1548 #[doc = " The Epic Games Account ID associated with this Integrated Platform's User (if there is one)"]
1549 pub AccountId: EOS_EpicAccountId,
1550 #[doc = " The EOS Product User ID associated with this Integrated Platform's User (if there is one)"]
1551 pub ProductUserId: EOS_ProductUserId,
1552 #[doc = " The login status prior to this change."]
1553 pub PreviousLoginStatus: EOS_ELoginStatus,
1554 #[doc = " The login status at the time of this notification."]
1555 pub CurrentLoginStatus: EOS_ELoginStatus,
1556}
1557impl Default for _tagEOS_IntegratedPlatform_UserLoginStatusChangedCallbackInfo {
1558 fn default() -> Self {
1559 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1560 unsafe {
1561 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1562 s.assume_init()
1563 }
1564 }
1565}
1566#[doc = " Data about which integrated platform and which user that had a login status change and what the login status changed to."]
1567pub type EOS_IntegratedPlatform_UserLoginStatusChangedCallbackInfo =
1568 _tagEOS_IntegratedPlatform_UserLoginStatusChangedCallbackInfo;
1569#[doc = " The callback function for when a local integrated platform user's login status has changed."]
1570pub type EOS_IntegratedPlatform_OnUserLoginStatusChangedCallback = ::std::option::Option<
1571 unsafe extern "C" fn(Data: *const EOS_IntegratedPlatform_UserLoginStatusChangedCallbackInfo),
1572>;
1573#[doc = " Input parameters for the EOS_IntegratedPlatform_SetUserPreLogoutCallback function."]
1574#[repr(C)]
1575#[derive(Debug, Default, Copy, Clone)]
1576pub struct _tagEOS_IntegratedPlatform_SetUserPreLogoutCallbackOptions {
1577 #[doc = " API Version: Set this to EOS_INTEGRATEDPLATFORM_SETUSERPRELOGOUTCALLBACK_API_LATEST."]
1578 pub ApiVersion: i32,
1579}
1580#[doc = " Input parameters for the EOS_IntegratedPlatform_SetUserPreLogoutCallback function."]
1581pub type EOS_IntegratedPlatform_SetUserPreLogoutCallbackOptions =
1582 _tagEOS_IntegratedPlatform_SetUserPreLogoutCallbackOptions;
1583#[doc = " The application accepts the user being logged-out. all cached data for the user will be cleared immediately and any pending\n actions canceled."]
1584pub const EOS_EIntegratedPlatformPreLogoutAction_EOS_IPLA_ProcessLogoutImmediately:
1585 EOS_EIntegratedPlatformPreLogoutAction = 0;
1586#[doc = " Instead of the user being logged-out, the SDK will wait for a call to EOS_IntegratedPlatform_FinalizeDeferredUserLogout with the\n expected login state of the user. If the expected state matches the current state, the user will continue to be logged-in or they\n will be logged-out, depending on the value of the expected state. This lets the application choose to ask the user if they meant\n to logout if it wishes, possibly preventing losing any unsaved changes, such as game progress, leaving a multiplayer match, or\n similar.\n\n @see EOS_IntegratedPlatform_FinalizeDeferredUserLogout"]
1587pub const EOS_EIntegratedPlatformPreLogoutAction_EOS_IPLA_DeferLogout:
1588 EOS_EIntegratedPlatformPreLogoutAction = 1;
1589pub const EOS_EIntegratedPlatformPreLogoutAction___EOS_EIntegratedPlatformPreLogoutAction_PAD_INT32__ : EOS_EIntegratedPlatformPreLogoutAction = 2147483647 ;
1590#[doc = " The return value for the EOS_IntegratedPlatform_OnUserPreLogoutCallback callback function. This signifies what the application wants to do for\n the provided user of the integrated platform."]
1591pub type EOS_EIntegratedPlatformPreLogoutAction = ::std::os::raw::c_int;
1592#[doc = " Data passed to the application in the EOS_IntegratedPlatform_OnUserPreLogoutCallback function. This contains which user and associated\n Integrated Platform that was detected as logged-out."]
1593#[repr(C)]
1594#[derive(Debug, Copy, Clone)]
1595pub struct _tagEOS_IntegratedPlatform_UserPreLogoutCallbackInfo {
1596 #[doc = " Context that was passed into EOS_IntegratedPlatform_SetUserPreLogoutCallback"]
1597 pub ClientData: *mut ::std::os::raw::c_void,
1598 #[doc = " The integrated platform the local user logged-out of."]
1599 pub PlatformType: EOS_IntegratedPlatformType,
1600 #[doc = " String version of platform-dependent user id."]
1601 pub LocalPlatformUserId: *const ::std::os::raw::c_char,
1602 #[doc = " The Epic Games Account ID associated with this Integrated Platform's User (if there is one)"]
1603 pub AccountId: EOS_EpicAccountId,
1604 #[doc = " The EOS Product User ID associated with this Integrated Platform's User (if there is one)"]
1605 pub ProductUserId: EOS_ProductUserId,
1606}
1607impl Default for _tagEOS_IntegratedPlatform_UserPreLogoutCallbackInfo {
1608 fn default() -> Self {
1609 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1610 unsafe {
1611 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1612 s.assume_init()
1613 }
1614 }
1615}
1616#[doc = " Data passed to the application in the EOS_IntegratedPlatform_OnUserPreLogoutCallback function. This contains which user and associated\n Integrated Platform that was detected as logged-out."]
1617pub type EOS_IntegratedPlatform_UserPreLogoutCallbackInfo =
1618 _tagEOS_IntegratedPlatform_UserPreLogoutCallbackInfo;
1619#[doc = " The callback function for when an integrated platform user is detected to have logged-out."]
1620pub type EOS_IntegratedPlatform_OnUserPreLogoutCallback = ::std::option::Option<
1621 unsafe extern "C" fn(
1622 Data: *const EOS_IntegratedPlatform_UserPreLogoutCallbackInfo,
1623 ) -> EOS_EIntegratedPlatformPreLogoutAction,
1624>;
1625#[doc = " Input parameters for the EOS_IntegratedPlatform_ClearUserPreLogoutCallback function."]
1626#[repr(C)]
1627#[derive(Debug, Default, Copy, Clone)]
1628pub struct _tagEOS_IntegratedPlatform_ClearUserPreLogoutCallbackOptions {
1629 #[doc = " API Version: Set this to EOS_INTEGRATEDPLATFORM_CLEARUSERPRELOGOUTCALLBACK_API_LATEST."]
1630 pub ApiVersion: i32,
1631}
1632#[doc = " Input parameters for the EOS_IntegratedPlatform_ClearUserPreLogoutCallback function."]
1633pub type EOS_IntegratedPlatform_ClearUserPreLogoutCallbackOptions =
1634 _tagEOS_IntegratedPlatform_ClearUserPreLogoutCallbackOptions;
1635#[doc = " Input parameters for the EOS_IntegratedPlatform_FinalizeDeferredUserLogout function."]
1636#[repr(C)]
1637#[derive(Debug, Copy, Clone)]
1638pub struct _tagEOS_IntegratedPlatform_FinalizeDeferredUserLogoutOptions {
1639 #[doc = " API Version: Set this to EOS_INTEGRATEDPLATFORM_FINALIZEDEFERREDUSERLOGOUT_API_LATEST."]
1640 pub ApiVersion: i32,
1641 #[doc = " The integrated platform this user belongs to."]
1642 pub PlatformType: EOS_IntegratedPlatformType,
1643 #[doc = " String version of the integrated platform-dependent user id."]
1644 pub LocalPlatformUserId: *const ::std::os::raw::c_char,
1645 #[doc = " The logged-in state the user is expected to be (EOS_LS_LoggedIn or EOS_LS_NotLoggedIn). If the provided\n state does not match internal EOS state, this function will return in failure. If the state is incorrect,\n the application should wait and attempt to call the function again next tick, after both updating its own\n state from the system and calling EOS_Platform_Tick, allowing the SDK to update its state from the system\n as well."]
1646 pub ExpectedLoginStatus: EOS_ELoginStatus,
1647}
1648impl Default for _tagEOS_IntegratedPlatform_FinalizeDeferredUserLogoutOptions {
1649 fn default() -> Self {
1650 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1651 unsafe {
1652 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1653 s.assume_init()
1654 }
1655 }
1656}
1657#[doc = " Input parameters for the EOS_IntegratedPlatform_FinalizeDeferredUserLogout function."]
1658pub type EOS_IntegratedPlatform_FinalizeDeferredUserLogoutOptions =
1659 _tagEOS_IntegratedPlatform_FinalizeDeferredUserLogoutOptions;
1660#[repr(C)]
1661#[derive(Debug, Copy, Clone)]
1662pub struct EOS_PlatformHandle {
1663 _unused: [u8; 0],
1664}
1665pub type EOS_HPlatform = *mut EOS_PlatformHandle;
1666#[doc = " Client credentials."]
1667#[repr(C)]
1668#[derive(Debug, Copy, Clone)]
1669pub struct _tagEOS_Platform_ClientCredentials {
1670 #[doc = " Client ID of the service permissions entry. Set to NULL if no service permissions are used. Max length is EOS_PLATFORM_CLIENTCREDENTIALS_CLIENTID_MAX_LENGTH."]
1671 pub ClientId: *const ::std::os::raw::c_char,
1672 #[doc = " Client secret for accessing the set of permissions. Set to NULL if no service permissions are used. Max length is EOS_PLATFORM_CLIENTCREDENTIALS_CLIENTSECRET_MAX_LENGTH."]
1673 pub ClientSecret: *const ::std::os::raw::c_char,
1674}
1675impl Default for _tagEOS_Platform_ClientCredentials {
1676 fn default() -> Self {
1677 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1678 unsafe {
1679 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1680 s.assume_init()
1681 }
1682 }
1683}
1684#[doc = " Client credentials."]
1685pub type EOS_Platform_ClientCredentials = _tagEOS_Platform_ClientCredentials;
1686#[doc = " Upon entering a background application status, all logged in users leave any RTC rooms. All subsequent attempts to join any RTC rooms will be rejected.\n Upon returning to a foreground application status, all subsequent attempts to join any RTC rooms will be allowed."]
1687pub const EOS_ERTCBackgroundMode_EOS_RTCBM_LeaveRooms: EOS_ERTCBackgroundMode = 0;
1688#[doc = " Application status has no effect on RTC rooms. Audio is captured from input devices and is played to output devices.\n Games should obtain consent from users and otherwise make users aware this is occurring."]
1689pub const EOS_ERTCBackgroundMode_EOS_RTCBM_KeepRoomsAlive: EOS_ERTCBackgroundMode = 1;
1690pub const EOS_ERTCBackgroundMode___EOS_ERTCBackgroundMode_PAD_INT32__: EOS_ERTCBackgroundMode =
1691 2147483647;
1692#[doc = " All background modes supported by the RTC components"]
1693pub type EOS_ERTCBackgroundMode = ::std::os::raw::c_int;
1694#[doc = " Platform RTC options."]
1695#[repr(C)]
1696#[derive(Debug, Copy, Clone)]
1697pub struct _tagEOS_Platform_RTCOptions {
1698 #[doc = " API Version: Set this to EOS_PLATFORM_RTCOPTIONS_API_LATEST."]
1699 pub ApiVersion: i32,
1700 #[doc = " This field is for platform specific initialization if any.\n\n If provided then the structure will be located in \"PLATFORM_NAME\"/eos_\"PLATFORM_NAME\".h.\n The structure will be named EOS_\"PLATFORM_NAME\"_RTCOptions."]
1701 pub PlatformSpecificOptions: *mut ::std::os::raw::c_void,
1702 #[doc = " Configures RTC behavior upon entering to any background application statuses"]
1703 pub BackgroundMode: EOS_ERTCBackgroundMode,
1704 #[doc = " Reserved field, should be nullptr by default"]
1705 pub Reserved: *mut ::std::os::raw::c_void,
1706}
1707impl Default for _tagEOS_Platform_RTCOptions {
1708 fn default() -> Self {
1709 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1710 unsafe {
1711 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1712 s.assume_init()
1713 }
1714 }
1715}
1716#[doc = " Platform RTC options."]
1717pub type EOS_Platform_RTCOptions = _tagEOS_Platform_RTCOptions;
1718#[doc = " Platform options for EOS_Platform_Create."]
1719#[repr(C)]
1720#[derive(Debug, Copy, Clone)]
1721pub struct _tagEOS_Platform_Options {
1722 #[doc = " API Version: Set this to EOS_PLATFORM_OPTIONS_API_LATEST."]
1723 pub ApiVersion: i32,
1724 #[doc = " A reserved field that should always be nulled."]
1725 pub Reserved: *mut ::std::os::raw::c_void,
1726 #[doc = " The product ID for the running application, found on the dev portal. Max length is EOS_PLATFORM_OPTIONS_PRODUCTID_MAX_LENGTH."]
1727 pub ProductId: *const ::std::os::raw::c_char,
1728 #[doc = " The sandbox ID for the running application, found on the dev portal. Max length is EOS_PLATFORM_OPTIONS_SANDBOXID_MAX_LENGTH."]
1729 pub SandboxId: *const ::std::os::raw::c_char,
1730 #[doc = " Set of service permissions associated with the running application"]
1731 pub ClientCredentials: EOS_Platform_ClientCredentials,
1732 #[doc = " Set this to EOS_FALSE if the application is running as a client with a local user, otherwise set to EOS_TRUE (e.g. for a dedicated game server)"]
1733 pub bIsServer: EOS_Bool,
1734 #[doc = " Used by Player Data Storage and Title Storage. Must be null initialized if unused. 256-bit Encryption Key for file encryption in hexadecimal format; EOS_PLATFORM_OPTIONS_ENCRYPTIONKEY_LENGTH hex chars."]
1735 pub EncryptionKey: *const ::std::os::raw::c_char,
1736 #[doc = " The override country code to use for the logged in user. (EOS_COUNTRYCODE_MAX_LENGTH)"]
1737 pub OverrideCountryCode: *const ::std::os::raw::c_char,
1738 #[doc = " The override locale code to use for the logged in user. This follows ISO 639. (EOS_LOCALECODE_MAX_LENGTH)"]
1739 pub OverrideLocaleCode: *const ::std::os::raw::c_char,
1740 #[doc = " The deployment ID for the running application, found on the dev portal. Max length is EOS_PLATFORM_OPTIONS_DEPLOYMENTID_MAX_LENGTH."]
1741 pub DeploymentId: *const ::std::os::raw::c_char,
1742 #[doc = " Platform creation flags, e.g. EOS_PF_LOADING_IN_EDITOR. This is a bitwise-or union of the defined flags."]
1743 pub Flags: u64,
1744 #[doc = " Used by Player Data Storage and Title Storage. Must be null initialized if unused. Cache directory path. Absolute path to the folder that is going to be used for caching temporary data. The path is created if it's missing."]
1745 pub CacheDirectory: *const ::std::os::raw::c_char,
1746 #[doc = " A budget, measured in milliseconds, for EOS_Platform_Tick to do its work. When the budget is met or exceeded (or if no work is available), EOS_Platform_Tick will return.\n This allows your game to amortize the cost of SDK work across multiple frames in the event that a lot of work is queued for processing.\n Zero is interpreted as \"perform all available work\"."]
1747 pub TickBudgetInMilliseconds: u32,
1748 #[doc = " RTC options. Setting to NULL will disable RTC features (e.g. voice)"]
1749 pub RTCOptions: *const EOS_Platform_RTCOptions,
1750 #[doc = " A handle that contains all the options for setting up integrated platforms.\n When set to NULL, the EOS Integrated Platform behavior for the host platform will be disabled."]
1751 pub IntegratedPlatformOptionsContainerHandle: EOS_HIntegratedPlatformOptionsContainer,
1752 #[doc = " Pointer to EOS_\"PLATFORM_NAME\"_SystemSpecificOptions. This structure will be located in \"PLATFORM_NAME\"/eos_\"PLATFORM_NAME\".h"]
1753 pub SystemSpecificOptions: *const ::std::os::raw::c_void,
1754 #[doc = " Number of seconds for a task to wait for the network to become available before timing out with an EOS_TimedOut error.\n This timeout period applies when the network status is not EOS_NS_Online. Tasks that need the network will queue for up to\n this timeout until EOS_Platform_SetNetworkStatus is used to set the network status to online.\n\n Pass a null pointer to use the default.\n Otherwise, pass a pointer to a double containing the number of seconds for tasks that are waiting for network to time out.\n\n @see EOS_Platform_SetNetworkStatus\n @see EOS_ENetworkStatus"]
1755 pub TaskNetworkTimeoutSeconds: *mut f64,
1756}
1757impl Default for _tagEOS_Platform_Options {
1758 fn default() -> Self {
1759 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1760 unsafe {
1761 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1762 s.assume_init()
1763 }
1764 }
1765}
1766#[doc = " Platform options for EOS_Platform_Create."]
1767pub type EOS_Platform_Options = _tagEOS_Platform_Options;
1768#[doc = " Xbox only.\n\n Notifies the SDK that the application has entered constrained mode.\n While in constrained mode, the application has reduced access to reserved system resources."]
1769pub const EOS_EApplicationStatus_EOS_AS_BackgroundConstrained: EOS_EApplicationStatus = 0;
1770#[doc = " Xbox only.\n\n Notifies the SDK that the application has returned from constrained mode,\n and is back to running in a regular state with full access to system resources.\n\n The SDK will handle this state change and automatically transition its active state to EOS_AS_Foreground.\n As result, after the application has set the EOS_AS_BackgroundUnconstrained state,\n calling EOS_Platform_GetApplicationStatus will return EOS_AS_Foreground as the persisted active state."]
1771pub const EOS_EApplicationStatus_EOS_AS_BackgroundUnconstrained: EOS_EApplicationStatus = 1;
1772#[doc = " Notifies the SDK that the application has been put into suspended state by the platform system."]
1773pub const EOS_EApplicationStatus_EOS_AS_BackgroundSuspended: EOS_EApplicationStatus = 2;
1774#[doc = " Notifies the SDK that the application has been resumed from suspended state.\n\n This is the default active state on all platforms."]
1775pub const EOS_EApplicationStatus_EOS_AS_Foreground: EOS_EApplicationStatus = 3;
1776pub const EOS_EApplicationStatus___EOS_EApplicationStatus_PAD_INT32__: EOS_EApplicationStatus =
1777 2147483647;
1778#[doc = " All possible states of the application."]
1779pub type EOS_EApplicationStatus = ::std::os::raw::c_int;
1780unsafe extern "C" {
1781 #[doc = " Gets the string representation of an EOS_EApplicationStatus value.\n\n Example: EOS_EApplicationStatus_ToString(EOS_EApplicationStatus::EOS_AS_Foreground) returns \"EOS_AS_Foreground\".\n\n @param ApplicationStatus EOS_EApplicationStatus value to get as string.\n\n @return Pointer to a static string representing the input enum value.\n The returned string is guaranteed to be non-null, and must not be freed by the application."]
1782 pub fn EOS_EApplicationStatus_ToString(
1783 ApplicationStatus: EOS_EApplicationStatus,
1784 ) -> *const ::std::os::raw::c_char;
1785}
1786#[doc = " Networking unavailable."]
1787pub const EOS_ENetworkStatus_EOS_NS_Disabled: EOS_ENetworkStatus = 0;
1788#[doc = " Not connected to the internet. Only local area networking (LAN) may be available."]
1789pub const EOS_ENetworkStatus_EOS_NS_Offline: EOS_ENetworkStatus = 1;
1790#[doc = " Connected to the internet."]
1791pub const EOS_ENetworkStatus_EOS_NS_Online: EOS_ENetworkStatus = 2;
1792pub const EOS_ENetworkStatus___EOS_ENetworkStatus_PAD_INT32__: EOS_ENetworkStatus = 2147483647;
1793#[doc = " All possible states of the network."]
1794pub type EOS_ENetworkStatus = ::std::os::raw::c_int;
1795unsafe extern "C" {
1796 #[doc = " Gets the string representation of an EOS_ENetworkStatus value.\n\n Example: EOS_ENetworkStatus_ToString(EOS_ENetworkStatus::EOS_NS_Online) returns \"EOS_NS_Online\".\n\n @param NetworkStatus EOS_ENetworkStatus value to get as string.\n\n @return Pointer to a static string representing the input enum value.\n The returned string is guaranteed to be non-null, and must not be freed by the application."]
1797 pub fn EOS_ENetworkStatus_ToString(
1798 NetworkStatus: EOS_ENetworkStatus,
1799 ) -> *const ::std::os::raw::c_char;
1800}
1801#[doc = " Desktop crossplay is ready to use."]
1802pub const EOS_EDesktopCrossplayStatus_EOS_DCS_OK: EOS_EDesktopCrossplayStatus = 0;
1803#[doc = " The application was not launched through the Bootstrapper."]
1804pub const EOS_EDesktopCrossplayStatus_EOS_DCS_ApplicationNotBootstrapped:
1805 EOS_EDesktopCrossplayStatus = 1;
1806#[doc = " The redistributable service is not installed."]
1807pub const EOS_EDesktopCrossplayStatus_EOS_DCS_ServiceNotInstalled: EOS_EDesktopCrossplayStatus = 2;
1808#[doc = " The service failed to start."]
1809pub const EOS_EDesktopCrossplayStatus_EOS_DCS_ServiceStartFailed: EOS_EDesktopCrossplayStatus = 3;
1810#[doc = " The service was started successfully, but is no longer running in the background, for an unknown reason."]
1811pub const EOS_EDesktopCrossplayStatus_EOS_DCS_ServiceNotRunning: EOS_EDesktopCrossplayStatus = 4;
1812#[doc = " The application has explicitly disabled the overlay through SDK initialization flags."]
1813pub const EOS_EDesktopCrossplayStatus_EOS_DCS_OverlayDisabled: EOS_EDesktopCrossplayStatus = 5;
1814#[doc = " The overlay is not installed.\n\n As the overlay is automatically installed and kept up-to-date by the redistributable service,\n this indicates that the user may have separately manually removed the installed overlay files."]
1815pub const EOS_EDesktopCrossplayStatus_EOS_DCS_OverlayNotInstalled: EOS_EDesktopCrossplayStatus = 6;
1816#[doc = " The overlay was not loaded due to failing trust check on the digital signature of the file on disk.\n\n This error typically indicates one of the following root causes:\n - The Operating System's local certificate store is out of date.\n - The local system clock has skewed and is in the wrong time.\n - The file has been tampered with.\n - The file trust check timed out, either due to an issue with the local system or network connectivity.\n\n The first troubleshooting steps should be to check for any available Operating System updates,\n for example using the Windows Update, as well as verifying that the system time is correctly set."]
1817pub const EOS_EDesktopCrossplayStatus_EOS_DCS_OverlayTrustCheckFailed: EOS_EDesktopCrossplayStatus =
1818 7;
1819#[doc = " The overlay failed to load."]
1820pub const EOS_EDesktopCrossplayStatus_EOS_DCS_OverlayLoadFailed: EOS_EDesktopCrossplayStatus = 8;
1821pub const EOS_EDesktopCrossplayStatus___EOS_EDesktopCrossplayStatus_PAD_INT32__:
1822 EOS_EDesktopCrossplayStatus = 2147483647;
1823#[doc = " Possible statuses for the availability of desktop crossplay functionality.\n\n @see EOS_Platform_GetDesktopCrossplayStatus"]
1824pub type EOS_EDesktopCrossplayStatus = ::std::os::raw::c_int;
1825#[doc = " Input parameters for the EOS_Platform_GetDesktopCrossplayStatus function."]
1826#[repr(C)]
1827#[derive(Debug, Default, Copy, Clone)]
1828pub struct _tagEOS_Platform_GetDesktopCrossplayStatusOptions {
1829 #[doc = " API Version: Set this to EOS_PLATFORM_GETDESKTOPCROSSPLAYSTATUS_API_LATEST."]
1830 pub ApiVersion: i32,
1831}
1832#[doc = " Input parameters for the EOS_Platform_GetDesktopCrossplayStatus function."]
1833pub type EOS_Platform_GetDesktopCrossplayStatusOptions =
1834 _tagEOS_Platform_GetDesktopCrossplayStatusOptions;
1835#[doc = " Output parameters for the EOS_Platform_GetDesktopCrossplayStatus function."]
1836#[repr(C)]
1837#[derive(Debug, Copy, Clone)]
1838pub struct _tagEOS_Platform_DesktopCrossplayStatusInfo {
1839 #[doc = " Status for the availability of desktop crossplay functionality.\n\n It is recommended to include this value in application logs, and as part of\n any player-facing error screens to help troubleshooting possible issues."]
1840 pub Status: EOS_EDesktopCrossplayStatus,
1841 #[doc = " This field is set when the Status is EOS_DCS_ServiceStartFailed.\n\n Possible values for this field are not documented. However, it is recommended\n to be also included in application logs, and as part of any player-facing\n error screens."]
1842 pub ServiceInitResult: i32,
1843}
1844impl Default for _tagEOS_Platform_DesktopCrossplayStatusInfo {
1845 fn default() -> Self {
1846 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1847 unsafe {
1848 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1849 s.assume_init()
1850 }
1851 }
1852}
1853#[doc = " Output parameters for the EOS_Platform_GetDesktopCrossplayStatus function."]
1854pub type EOS_Platform_DesktopCrossplayStatusInfo = _tagEOS_Platform_DesktopCrossplayStatusInfo;
1855#[doc = " Function prototype type definition for functions that allocate memory.\n\n Functions passed to EOS_Initialize to serve as memory allocators should return a pointer to the allocated memory.\n\n The returned pointer should have at least SizeInBytes available capacity and the memory address should be a multiple of Alignment.\n The SDK will always call the provided function with an Alignment that is a power of 2.\n Allocation failures should return a null pointer."]
1856pub type EOS_AllocateMemoryFunc = ::std::option::Option<
1857 unsafe extern "C" fn(SizeInBytes: usize, Alignment: usize) -> *mut ::std::os::raw::c_void,
1858>;
1859#[doc = " Function prototype type definition for functions that reallocate memory.\n\n Functions passed to EOS_Initialize to serve as memory reallocators should return a pointer to the reallocated memory.\n The returned pointer should have at least SizeInBytes available capacity and the memory address should be a multiple of alignment.\n The SDK will always call the provided function with an Alignment that is a power of 2.\n Reallocation failures should return a null pointer."]
1860pub type EOS_ReallocateMemoryFunc = ::std::option::Option<
1861 unsafe extern "C" fn(
1862 Pointer: *mut ::std::os::raw::c_void,
1863 SizeInBytes: usize,
1864 Alignment: usize,
1865 ) -> *mut ::std::os::raw::c_void,
1866>;
1867#[doc = " Function prototype type definition for functions that release memory.\n\n When the SDK is done with memory that has been allocated by a custom allocator passed to EOS_Initialize, it will call the corresponding memory release function."]
1868pub type EOS_ReleaseMemoryFunc =
1869 ::std::option::Option<unsafe extern "C" fn(Pointer: *mut ::std::os::raw::c_void)>;
1870#[doc = " Options for initializing defining thread affinity for use by Epic Online Services SDK.\n Set the affinity to 0 to allow EOS SDK to use a platform specific default value."]
1871#[repr(C)]
1872#[derive(Debug, Default, Copy, Clone)]
1873pub struct _tagEOS_Initialize_ThreadAffinity {
1874 #[doc = " API Version: Set this to EOS_INITIALIZE_THREADAFFINITY_API_LATEST."]
1875 pub ApiVersion: i32,
1876 #[doc = " Any thread related to network management that is not IO."]
1877 pub NetworkWork: u64,
1878 #[doc = " Any thread that will interact with a storage device."]
1879 pub StorageIo: u64,
1880 #[doc = " Any thread that will generate web socket IO."]
1881 pub WebSocketIo: u64,
1882 #[doc = " Any thread that will generate IO related to P2P traffic and management."]
1883 pub P2PIo: u64,
1884 #[doc = " Any thread that will generate http request IO."]
1885 pub HttpRequestIo: u64,
1886 #[doc = " Any thread that will generate IO related to RTC traffic and management."]
1887 pub RTCIo: u64,
1888 #[doc = " Main thread of the external overlay"]
1889 pub EmbeddedOverlayMainThread: u64,
1890 #[doc = " Worker threads of the external overlay"]
1891 pub EmbeddedOverlayWorkerThreads: u64,
1892 #[doc = " Any thread that process cryptography work"]
1893 pub CryptographyWork: u64,
1894}
1895#[doc = " Options for initializing defining thread affinity for use by Epic Online Services SDK.\n Set the affinity to 0 to allow EOS SDK to use a platform specific default value."]
1896pub type EOS_Initialize_ThreadAffinity = _tagEOS_Initialize_ThreadAffinity;
1897#[doc = " Options for initializing the Epic Online Services SDK."]
1898#[repr(C)]
1899#[derive(Debug, Copy, Clone)]
1900pub struct _tagEOS_InitializeOptions {
1901 #[doc = " API Version: Set this to EOS_INITIALIZE_API_LATEST."]
1902 pub ApiVersion: i32,
1903 #[doc = " A custom memory allocator, if desired."]
1904 pub AllocateMemoryFunction: EOS_AllocateMemoryFunc,
1905 #[doc = " A corresponding memory reallocator. If the AllocateMemoryFunction is nulled, then this field must also be nulled."]
1906 pub ReallocateMemoryFunction: EOS_ReallocateMemoryFunc,
1907 #[doc = " A corresponding memory releaser. If the AllocateMemoryFunction is nulled, then this field must also be nulled."]
1908 pub ReleaseMemoryFunction: EOS_ReleaseMemoryFunc,
1909 #[doc = " The name of the product using the Epic Online Services SDK.\n\n The name string is required to be non-empty and at maximum of EOS_INITIALIZEOPTIONS_PRODUCTNAME_MAX_LENGTH bytes long.\n The string buffer can consist of the following characters:\n A-Z, a-z, 0-9, dot, underscore, space, exclamation mark, question mark, and sign, hyphen, parenthesis, plus, minus, colon."]
1910 pub ProductName: *const ::std::os::raw::c_char,
1911 #[doc = " Product version of the running application.\n\n The version string is required to be non-empty and at maximum of EOS_INITIALIZEOPTIONS_PRODUCTVERSION_MAX_LENGTH bytes long.\n The string buffer can consist of the following characters:\n A-Z, a-z, 0-9, dot, underscore, space, exclamation mark, question mark, and sign, hyphen, parenthesis, plus, minus, colon."]
1912 pub ProductVersion: *const ::std::os::raw::c_char,
1913 #[doc = " A reserved field that should always be nulled."]
1914 pub Reserved: *mut ::std::os::raw::c_void,
1915 #[doc = " This field is for system specific initialization if any.\n\n If provided then the structure will be located in <System>/eos_<system>.h.\n The structure will be named EOS_<System>_InitializeOptions."]
1916 pub SystemInitializeOptions: *mut ::std::os::raw::c_void,
1917 #[doc = " The thread affinity override values for each category of thread."]
1918 pub OverrideThreadAffinity: *mut EOS_Initialize_ThreadAffinity,
1919}
1920impl Default for _tagEOS_InitializeOptions {
1921 fn default() -> Self {
1922 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1923 unsafe {
1924 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1925 s.assume_init()
1926 }
1927 }
1928}
1929#[doc = " Options for initializing the Epic Online Services SDK."]
1930pub type EOS_InitializeOptions = _tagEOS_InitializeOptions;
1931unsafe extern "C" {
1932 #[doc = " Initialize the Epic Online Services SDK.\n\n Before calling any other function in the SDK, clients must call this function.\n\n This function must only be called one time and must have a corresponding EOS_Shutdown call.\n\n @param Options - The initialization options to use for the SDK.\n @return An EOS_EResult is returned to indicate success or an error.\n\n EOS_Success is returned if the SDK successfully initializes.\n EOS_AlreadyConfigured is returned if the function has already been called.\n EOS_InvalidParameters is returned if the provided options are invalid."]
1933 pub fn EOS_Initialize(Options: *const EOS_InitializeOptions) -> EOS_EResult;
1934}
1935unsafe extern "C" {
1936 #[doc = " Tear down the Epic Online Services SDK.\n\n Once this function has been called, no more SDK calls are permitted; calling anything after EOS_Shutdown will result in undefined behavior.\n @return An EOS_EResult is returned to indicate success or an error.\n EOS_Success is returned if the SDK is successfully torn down.\n EOS_NotConfigured is returned if a successful call to EOS_Initialize has not been made.\n EOS_UnexpectedError is returned if EOS_Shutdown has already been called."]
1937 pub fn EOS_Shutdown() -> EOS_EResult;
1938}
1939unsafe extern "C" {
1940 #[doc = " Create a single Epic Online Services Platform Instance.\n\n The platform instance is used to gain access to the various Epic Online Services.\n\n This function returns an opaque handle to the platform instance, and that handle must be passed to EOS_Platform_Release to release the instance.\n\n @return An opaque handle to the platform instance."]
1941 pub fn EOS_Platform_Create(Options: *const EOS_Platform_Options) -> EOS_HPlatform;
1942}
1943unsafe extern "C" {
1944 #[doc = " Release an Epic Online Services platform instance previously returned from EOS_Platform_Create.\n\n This function should only be called once per instance returned by EOS_Platform_Create. Undefined behavior will result in calling it with a single instance more than once.\n Typically only a single platform instance needs to be created during the lifetime of a game.\n You should release each platform instance before calling the EOS_Shutdown function."]
1945 pub fn EOS_Platform_Release(Handle: EOS_HPlatform);
1946}
1947#[repr(C)]
1948#[derive(Debug, Copy, Clone)]
1949pub struct EOS_MetricsHandle {
1950 _unused: [u8; 0],
1951}
1952pub type EOS_HMetrics = *mut EOS_MetricsHandle;
1953#[doc = " The game controller type is unknown."]
1954pub const EOS_EUserControllerType_EOS_UCT_Unknown: EOS_EUserControllerType = 0;
1955#[doc = " Mouse and keyboard controller."]
1956pub const EOS_EUserControllerType_EOS_UCT_MouseKeyboard: EOS_EUserControllerType = 1;
1957#[doc = " Gamepad controller."]
1958pub const EOS_EUserControllerType_EOS_UCT_GamepadControl: EOS_EUserControllerType = 2;
1959#[doc = " Touch controller."]
1960pub const EOS_EUserControllerType_EOS_UCT_TouchControl: EOS_EUserControllerType = 3;
1961pub const EOS_EUserControllerType___EOS_EUserControllerType_PAD_INT32__: EOS_EUserControllerType =
1962 2147483647;
1963#[doc = " User game controller types."]
1964pub type EOS_EUserControllerType = ::std::os::raw::c_int;
1965#[doc = " An Epic Account ID."]
1966pub const EOS_EMetricsAccountIdType_EOS_MAIT_Epic: EOS_EMetricsAccountIdType = 0;
1967#[doc = " An external service Account ID."]
1968pub const EOS_EMetricsAccountIdType_EOS_MAIT_External: EOS_EMetricsAccountIdType = 1;
1969pub const EOS_EMetricsAccountIdType___EOS_EMetricsAccountIdType_PAD_INT32__:
1970 EOS_EMetricsAccountIdType = 2147483647;
1971#[doc = " Account ID type for EOS_Metrics_BeginPlayerSession and EOS_Metrics_EndPlayerSession."]
1972pub type EOS_EMetricsAccountIdType = ::std::os::raw::c_int;
1973#[doc = " BeginPlayerSession."]
1974#[repr(C)]
1975#[derive(Copy, Clone)]
1976pub struct _tagEOS_Metrics_BeginPlayerSessionOptions {
1977 #[doc = " API Version: Set this to EOS_METRICS_BEGINPLAYERSESSION_API_LATEST."]
1978 pub ApiVersion: i32,
1979 #[doc = " Account ID type that is set in the union."]
1980 pub AccountIdType: EOS_EMetricsAccountIdType,
1981 #[doc = " The Account ID for the player whose session is beginning."]
1982 pub AccountId: _tagEOS_Metrics_BeginPlayerSessionOptions__bindgen_ty_1,
1983 #[doc = " The in-game display name for the user as UTF-8 string."]
1984 pub DisplayName: *const ::std::os::raw::c_char,
1985 #[doc = " The user's game controller type."]
1986 pub ControllerType: EOS_EUserControllerType,
1987 #[doc = " IP address of the game server hosting the game session. For a localhost session, set to NULL.\n\n @details Must be in either one of the following IPv4 or IPv6 string formats:\n * \"127.0.0.1\".\n * \"1200:0000:AB00:1234:0000:2552:7777:1313\".\n If both IPv4 and IPv6 addresses are available, use the IPv6 address."]
1988 pub ServerIp: *const ::std::os::raw::c_char,
1989 #[doc = " Optional, application-defined custom match session identifier. If the identifier is not used, set to NULL.\n\n @details The game can tag each game session with a custom session match identifier,\n which will be shown in the Played Sessions listing at the user profile dashboard."]
1990 pub GameSessionId: *const ::std::os::raw::c_char,
1991}
1992#[doc = " The Account ID for the player whose session is beginning."]
1993#[repr(C)]
1994#[derive(Copy, Clone)]
1995pub union _tagEOS_Metrics_BeginPlayerSessionOptions__bindgen_ty_1 {
1996 #[doc = " An Epic Account ID. Set this field when AccountIdType is set to EOS_MAIT_Epic."]
1997 pub Epic: EOS_EpicAccountId,
1998 #[doc = " An Account ID for another service. Set this field when AccountIdType is set to EOS_MAIT_External."]
1999 pub External: *const ::std::os::raw::c_char,
2000}
2001impl Default for _tagEOS_Metrics_BeginPlayerSessionOptions__bindgen_ty_1 {
2002 fn default() -> Self {
2003 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2004 unsafe {
2005 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2006 s.assume_init()
2007 }
2008 }
2009}
2010impl Default for _tagEOS_Metrics_BeginPlayerSessionOptions {
2011 fn default() -> Self {
2012 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2013 unsafe {
2014 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2015 s.assume_init()
2016 }
2017 }
2018}
2019#[doc = " BeginPlayerSession."]
2020pub type EOS_Metrics_BeginPlayerSessionOptions = _tagEOS_Metrics_BeginPlayerSessionOptions;
2021#[doc = " EndPlayerSession."]
2022#[repr(C)]
2023#[derive(Copy, Clone)]
2024pub struct _tagEOS_Metrics_EndPlayerSessionOptions {
2025 #[doc = " API Version: Set this to EOS_METRICS_ENDPLAYERSESSION_API_LATEST."]
2026 pub ApiVersion: i32,
2027 #[doc = " The Account ID type that is set in the union."]
2028 pub AccountIdType: EOS_EMetricsAccountIdType,
2029 #[doc = " The Account ID for the player whose session is ending."]
2030 pub AccountId: _tagEOS_Metrics_EndPlayerSessionOptions__bindgen_ty_1,
2031}
2032#[doc = " The Account ID for the player whose session is ending."]
2033#[repr(C)]
2034#[derive(Copy, Clone)]
2035pub union _tagEOS_Metrics_EndPlayerSessionOptions__bindgen_ty_1 {
2036 #[doc = " An Epic Account ID. Set this field when AccountIdType is set to EOS_MAIT_Epic."]
2037 pub Epic: EOS_EpicAccountId,
2038 #[doc = " An Account ID for another service. Set this field when AccountIdType is set to EOS_MAIT_External."]
2039 pub External: *const ::std::os::raw::c_char,
2040}
2041impl Default for _tagEOS_Metrics_EndPlayerSessionOptions__bindgen_ty_1 {
2042 fn default() -> Self {
2043 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2044 unsafe {
2045 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2046 s.assume_init()
2047 }
2048 }
2049}
2050impl Default for _tagEOS_Metrics_EndPlayerSessionOptions {
2051 fn default() -> Self {
2052 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2053 unsafe {
2054 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2055 s.assume_init()
2056 }
2057 }
2058}
2059#[doc = " EndPlayerSession."]
2060pub type EOS_Metrics_EndPlayerSessionOptions = _tagEOS_Metrics_EndPlayerSessionOptions;
2061#[doc = " Intermediate data needed to complete account restriction verification during login flow, returned by EOS_Auth_LoginCallbackInfo when the ResultCode is EOS_Auth_AccountFeatureRestricted.\n The URI inside should be exposed to the user for entry in a web browser. The URI must be copied out of this struct before completion of the callback."]
2062#[repr(C)]
2063#[derive(Debug, Copy, Clone)]
2064pub struct _tagEOS_Auth_AccountFeatureRestrictedInfo {
2065 #[doc = " API Version: Set this to EOS_AUTH_ACCOUNTFEATURERESTRICTEDINFO_API_LATEST."]
2066 pub ApiVersion: i32,
2067 #[doc = " The end-user verification URI. Users must be asked to open the page in a browser to address the restrictions."]
2068 pub VerificationURI: *const ::std::os::raw::c_char,
2069}
2070impl Default for _tagEOS_Auth_AccountFeatureRestrictedInfo {
2071 fn default() -> Self {
2072 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2073 unsafe {
2074 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2075 s.assume_init()
2076 }
2077 }
2078}
2079#[doc = " Intermediate data needed to complete account restriction verification during login flow, returned by EOS_Auth_LoginCallbackInfo when the ResultCode is EOS_Auth_AccountFeatureRestricted.\n The URI inside should be exposed to the user for entry in a web browser. The URI must be copied out of this struct before completion of the callback."]
2080pub type EOS_Auth_AccountFeatureRestrictedInfo = _tagEOS_Auth_AccountFeatureRestrictedInfo;
2081#[repr(C)]
2082#[derive(Debug, Copy, Clone)]
2083pub struct EOS_AuthHandle {
2084 _unused: [u8; 0],
2085}
2086pub type EOS_HAuth = *mut EOS_AuthHandle;
2087#[doc = " Login using account email address and password.\n\n Note: This login method is restricted to Epic Games internal use only. Do not use."]
2088pub const EOS_ELoginCredentialType_EOS_LCT_Password: EOS_ELoginCredentialType = 0;
2089#[doc = " A short-lived one-time use exchange code to login the local user.\n\n @details Typically retrieved via command-line parameters provided by a launcher that generated the exchange code for this application.\n When started, the application is expected to consume the exchange code by using the EOS_Auth_Login API as soon as possible.\n This is needed in order to authenticate the local user before the exchange code would expire.\n Attempting to consume an already expired exchange code will return EOS_EResult::EOS_Auth_ExchangeCodeNotFound error by the EOS_Auth_Login API."]
2090pub const EOS_ELoginCredentialType_EOS_LCT_ExchangeCode: EOS_ELoginCredentialType = 1;
2091#[doc = " Used by standalone applications distributed outside the supported game platforms such as Epic Games Store or Steam, and on Nintendo Switch.\n\n Persistent Auth is used in conjunction with the EOS_LCT_AccountPortal login method for automatic login of the local user across multiple runs of the application.\n\n Standalone applications implement the login sequence as follows:\n 1. Application calls EOS_Auth_Login with EOS_LCT_PersistentAuth, using a previously stored Epic refresh token for an automatic user login.\n 2. If automatic login fails, the application discards the Epic refresh token used as defunct, and proceeds to call EOS_Auth_Login with EOS_LCT_AccountPortal to prompt the user for manual login.\n\n @note On Desktop and Mobile platforms, the persistent refresh token is automatically managed by the SDK that stores it in the keychain of the currently logged in user of the local device.\n On Nintendo Switch, after a successful login the refresh token must be retrieved using the EOS_Auth_CopyUserAuthToken API and stored by the application specifically for the active Nintendo Switch user.\n\n @see EOS_LCT_AccountPortal"]
2092pub const EOS_ELoginCredentialType_EOS_LCT_PersistentAuth: EOS_ELoginCredentialType = 2;
2093#[doc = " Not supported. Superseded by EOS_LCT_ExternalAuth login method.\n\n @see EOS_LCT_ExternalAuth"]
2094pub const EOS_ELoginCredentialType_EOS_LCT_DeviceCode: EOS_ELoginCredentialType = 3;
2095#[doc = " Login with named credentials hosted by the EOS SDK Developer Authentication Tool.\n\n @note Used for development purposes only."]
2096pub const EOS_ELoginCredentialType_EOS_LCT_Developer: EOS_ELoginCredentialType = 4;
2097#[doc = " Refresh token that was retrieved from a previous call to EOS_Auth_Login API in another local process context.\n Mainly used in conjunction with custom desktop launcher applications.\n\n @details Can be used for example when launching the game from Epic Games Launcher and having an intermediate process\n in-between that requires authenticating the user before eventually starting the actual game client application.\n In such scenario, an intermediate launcher will log in the user by consuming the exchange code it received from the\n Epic Games Launcher. To allow the game client to also authenticate the user, it can copy the refresh token using the\n EOS_Auth_CopyUserAuthToken API and pass it via launch parameters to the started game client. The game client can then\n use the refresh token to log in the user."]
2098pub const EOS_ELoginCredentialType_EOS_LCT_RefreshToken: EOS_ELoginCredentialType = 5;
2099#[doc = " Used by standalone applications distributed outside the supported game platforms such as Epic Games Store or Steam, and on Nintendo Switch.\n\n Login using the built-in user onboarding experience provided by the SDK, which will automatically store a persistent\n refresh token to enable automatic user login for consecutive application runs on the local device. Applications are\n expected to attempt automatic login using the EOS_LCT_PersistentAuth login method, and fall back to EOS_LCT_AccountPortal\n to prompt users for manual login.\n\n @note On Windows, using this login method requires applications to be started through the EOS Bootstrapper application\n and to have the local Epic Online Services redistributable installed on the local system. See EOS_Platform_GetDesktopCrossplayStatus\n for adding a readiness check prior to calling EOS_Auth_Login.\n\n @see EOS_LCT_PersistentAuth"]
2100pub const EOS_ELoginCredentialType_EOS_LCT_AccountPortal: EOS_ELoginCredentialType = 6;
2101#[doc = " Login using external account provider credentials, such as PlayStation(TM)Network, Steam, and Xbox Live.\n\n This is the intended login method on PlayStation® and Xbox console devices.\n On Desktop and Mobile, used when launched through any of the commonly supported platform clients.\n\n @details The user is seamlessly logged in to their Epic account using an external account access token.\n If the local platform account is already linked with the user's Epic account, the login will succeed and EOS_EResult::EOS_Success is returned.\n When the local platform account has not been linked with an Epic account yet,\n EOS_EResult::EOS_InvalidUser is returned and the EOS_ContinuanceToken will be set in the EOS_Auth_LoginCallbackInfo data.\n If EOS_EResult::EOS_InvalidUser is returned,\n the application should proceed to call the EOS_Auth_LinkAccount API with the EOS_ContinuanceToken to continue with the external account login\n and to link the external account at the end of the login flow.\n\n @details Login flow when the platform user account has not been linked with an Epic account yet:\n 1. Game calls EOS_Auth_Login with the EOS_LCT_ExternalAuth credential type.\n 2. EOS_Auth_Login returns EOS_EResult::EOS_InvalidUser with a non-null EOS_ContinuanceToken in the EOS_Auth_LoginCallbackInfo data.\n 3. Game calls EOS_Auth_LinkAccount with the EOS_ContinuanceToken to initiate the login flow for linking the platform account with the user's Epic account.\n 4. The user is taken automatically to the Epic accounts user onboarding flow managed by the SDK.\n 5. Once the user completes the login, cancels it or if the login flow times out, EOS_Auth_LinkAccount invokes the completion callback to the caller.\n - If the user was logged in successfully, EOS_EResult::EOS_Success is returned in the EOS_Auth_LoginCallbackInfo. Otherwise, an error result code is returned accordingly.\n\n @note On Windows, using this login method requires applications to be started through the EOS Bootstrapper application\n and to have the local Epic Online Services redistributable installed on the local system. See EOS_Platform_GetDesktopCrossplayStatus\n for adding a readiness check prior to calling EOS_Auth_Login."]
2102pub const EOS_ELoginCredentialType_EOS_LCT_ExternalAuth: EOS_ELoginCredentialType = 7;
2103pub const EOS_ELoginCredentialType___EOS_ELoginCredentialType_PAD_INT32__:
2104 EOS_ELoginCredentialType = 2147483647;
2105#[doc = " All possible types of login methods, availability depends on permissions granted to the client.\n\n @see EOS_Auth_Login\n @see EOS_Auth_Credentials"]
2106pub type EOS_ELoginCredentialType = ::std::os::raw::c_int;
2107#[doc = " Auth token is for a validated client"]
2108pub const EOS_EAuthTokenType_EOS_ATT_Client: EOS_EAuthTokenType = 0;
2109#[doc = " Auth token is for a validated user"]
2110pub const EOS_EAuthTokenType_EOS_ATT_User: EOS_EAuthTokenType = 1;
2111pub const EOS_EAuthTokenType___EOS_EAuthTokenType_PAD_INT32__: EOS_EAuthTokenType = 2147483647;
2112#[doc = " Types of auth tokens\n\n @see EOS_Auth_CopyUserAuthToken\n @see EOS_Auth_Token"]
2113pub type EOS_EAuthTokenType = ::std::os::raw::c_int;
2114#[doc = " A structure that contains an auth token.\n These structures are created by EOS_Auth_CopyUserAuthToken and must be passed to EOS_Auth_Token_Release."]
2115#[repr(C)]
2116#[derive(Debug, Copy, Clone)]
2117pub struct _tagEOS_Auth_Token {
2118 #[doc = " API Version: Set this to EOS_AUTH_TOKEN_API_LATEST."]
2119 pub ApiVersion: i32,
2120 #[doc = " Name of the app related to the client ID involved with this token"]
2121 pub App: *const ::std::os::raw::c_char,
2122 #[doc = " Client ID that requested this token"]
2123 pub ClientId: *const ::std::os::raw::c_char,
2124 #[doc = " The Epic Account ID associated with this auth token"]
2125 pub AccountId: EOS_EpicAccountId,
2126 #[doc = " Access token for the current user login session"]
2127 pub AccessToken: *const ::std::os::raw::c_char,
2128 #[doc = " Time before the access token expires, in seconds, relative to the call to EOS_Auth_CopyUserAuthToken"]
2129 pub ExpiresIn: f64,
2130 #[doc = " Absolute time in UTC before the access token expires, in ISO 8601 format"]
2131 pub ExpiresAt: *const ::std::os::raw::c_char,
2132 #[doc = " Type of auth token"]
2133 pub AuthType: EOS_EAuthTokenType,
2134 #[doc = " Refresh token.\n\n @see EOS_ELoginCredentialType::EOS_LCT_RefreshToken"]
2135 pub RefreshToken: *const ::std::os::raw::c_char,
2136 #[doc = " Time before the access token expires, in seconds, relative to the call to EOS_Auth_CopyUserAuthToken"]
2137 pub RefreshExpiresIn: f64,
2138 #[doc = " Absolute time in UTC before the refresh token expires, in ISO 8601 format"]
2139 pub RefreshExpiresAt: *const ::std::os::raw::c_char,
2140}
2141impl Default for _tagEOS_Auth_Token {
2142 fn default() -> Self {
2143 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2144 unsafe {
2145 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2146 s.assume_init()
2147 }
2148 }
2149}
2150#[doc = " A structure that contains an auth token.\n These structures are created by EOS_Auth_CopyUserAuthToken and must be passed to EOS_Auth_Token_Release."]
2151pub type EOS_Auth_Token = _tagEOS_Auth_Token;
2152unsafe extern "C" {
2153 #[doc = " Release the memory associated with an EOS_Auth_Token structure. This must be called on data retrieved from EOS_Auth_CopyUserAuthToken.\n\n @param AuthToken The auth token structure to be released.\n\n @see EOS_Auth_Token\n @see EOS_Auth_CopyUserAuthToken"]
2154 pub fn EOS_Auth_Token_Release(AuthToken: *mut EOS_Auth_Token);
2155}
2156#[doc = " Login credentials filled as part of the EOS_Auth_LoginOptions struct for EOS_Auth_Login API.\n\n Required input parameters to be set depend on the login credential type.\n Any parameters not being used must be set to NULL. Otherwise, EOS_InvalidParameters error is returned.\n\n EOS_LCT_Password\t\t\t| ID is the email address, and Token is the password.\n EOS_LCT_ExchangeCode\t\t| Set ID to NULL. Token is the exchange code.\n EOS_LCT_PersistentAuth\t| Set ID to NULL. On console platforms, Token is the long-lived refresh token. Otherwise, set to NULL.\n EOS_LCT_Developer\t\t| Set ID as the host (e.g. localhost:6547). Token is the credential name registered in the EOS Developer Authentication Tool.\n EOS_LCT_RefreshToken\t\t| Set ID to NULL. Token is the refresh token.\n EOS_LCT_AccountPortal\t| Set ID and Token to NULL. SystemAuthCredentialsOptions may be required on mobile platforms.\n EOS_LCT_ExternalAuth\t\t| Set ID to NULL or the External Account ID that belongs to the external auth token. Token is the external auth token specified by ExternalType. External Account IDs set to the ID are expected as either base-10 numeric strings for integer-based external Account IDs, or the actual string for everything else. If ID is provided, login will automatically be cancelled if the EOS SDK is able to and does detect the external account signing-out. If ID is provided, it must match the external account ID belonging to the auth-token, or login will fail.\n\n @see EOS_ELoginCredentialType\n @see EOS_Auth_Login\n @see EOS_Auth_DeletePersistentAuthOptions"]
2157#[repr(C)]
2158#[derive(Debug, Copy, Clone)]
2159pub struct _tagEOS_Auth_Credentials {
2160 #[doc = " API Version: Set this to EOS_AUTH_CREDENTIALS_API_LATEST."]
2161 pub ApiVersion: i32,
2162 #[doc = " Authentication ID value based on the used EOS_ELoginCredentialType.\n If not used, must be set to NULL."]
2163 pub Id: *const ::std::os::raw::c_char,
2164 #[doc = " Authentication Token value based on the used EOS_ELoginCredentialType.\n If not used, must be set to NULL."]
2165 pub Token: *const ::std::os::raw::c_char,
2166 #[doc = " Login credentials type based on the authentication method used."]
2167 pub Type: EOS_ELoginCredentialType,
2168 #[doc = " This field is for system specific options, if any.\n\n If provided, the structure will be located in (System)/eos_(system).h.\n The structure will be named EOS_(System)_Auth_CredentialsOptions."]
2169 pub SystemAuthCredentialsOptions: *mut ::std::os::raw::c_void,
2170 #[doc = " Type of external login. Needed to identify the external auth method to use.\n Used when login type is set to EOS_LCT_ExternalAuth, ignored for other EOS_ELoginCredentialType methods."]
2171 pub ExternalType: EOS_EExternalCredentialType,
2172}
2173impl Default for _tagEOS_Auth_Credentials {
2174 fn default() -> Self {
2175 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2176 unsafe {
2177 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2178 s.assume_init()
2179 }
2180 }
2181}
2182#[doc = " Login credentials filled as part of the EOS_Auth_LoginOptions struct for EOS_Auth_Login API.\n\n Required input parameters to be set depend on the login credential type.\n Any parameters not being used must be set to NULL. Otherwise, EOS_InvalidParameters error is returned.\n\n EOS_LCT_Password\t\t\t| ID is the email address, and Token is the password.\n EOS_LCT_ExchangeCode\t\t| Set ID to NULL. Token is the exchange code.\n EOS_LCT_PersistentAuth\t| Set ID to NULL. On console platforms, Token is the long-lived refresh token. Otherwise, set to NULL.\n EOS_LCT_Developer\t\t| Set ID as the host (e.g. localhost:6547). Token is the credential name registered in the EOS Developer Authentication Tool.\n EOS_LCT_RefreshToken\t\t| Set ID to NULL. Token is the refresh token.\n EOS_LCT_AccountPortal\t| Set ID and Token to NULL. SystemAuthCredentialsOptions may be required on mobile platforms.\n EOS_LCT_ExternalAuth\t\t| Set ID to NULL or the External Account ID that belongs to the external auth token. Token is the external auth token specified by ExternalType. External Account IDs set to the ID are expected as either base-10 numeric strings for integer-based external Account IDs, or the actual string for everything else. If ID is provided, login will automatically be cancelled if the EOS SDK is able to and does detect the external account signing-out. If ID is provided, it must match the external account ID belonging to the auth-token, or login will fail.\n\n @see EOS_ELoginCredentialType\n @see EOS_Auth_Login\n @see EOS_Auth_DeletePersistentAuthOptions"]
2183pub type EOS_Auth_Credentials = _tagEOS_Auth_Credentials;
2184#[doc = " Intermediate data for completing Epic account login, when neither the in-game overlay or a platform browser is used.\n The EOS_Auth_PinGrantInfo struct is returned as part of the EOS_Auth_LoginCallbackInfo and EOS_Auth_LinkAccountCallbackInfo structs.\n The data inside should be exposed to the user for entry on a secondary device.\n All data must be copied out before the completion of this callback."]
2185#[repr(C)]
2186#[derive(Debug, Copy, Clone)]
2187pub struct _tagEOS_Auth_PinGrantInfo {
2188 #[doc = " API Version: Set this to EOS_AUTH_PINGRANTINFO_API_LATEST."]
2189 pub ApiVersion: i32,
2190 #[doc = " Code the user must input on an external device to activate the login."]
2191 pub UserCode: *const ::std::os::raw::c_char,
2192 #[doc = " The end-user verification URI. Users can be asked to manually type this into their browser."]
2193 pub VerificationURI: *const ::std::os::raw::c_char,
2194 #[doc = " Time the user has, in seconds, to complete the process or else timeout."]
2195 pub ExpiresIn: i32,
2196 #[doc = " A verification URI that includes the user code. Useful for non-textual transmission."]
2197 pub VerificationURIComplete: *const ::std::os::raw::c_char,
2198}
2199impl Default for _tagEOS_Auth_PinGrantInfo {
2200 fn default() -> Self {
2201 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2202 unsafe {
2203 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2204 s.assume_init()
2205 }
2206 }
2207}
2208#[doc = " Intermediate data for completing Epic account login, when neither the in-game overlay or a platform browser is used.\n The EOS_Auth_PinGrantInfo struct is returned as part of the EOS_Auth_LoginCallbackInfo and EOS_Auth_LinkAccountCallbackInfo structs.\n The data inside should be exposed to the user for entry on a secondary device.\n All data must be copied out before the completion of this callback."]
2209pub type EOS_Auth_PinGrantInfo = _tagEOS_Auth_PinGrantInfo;
2210#[doc = " Default value, no permissions required"]
2211pub const EOS_EAuthScopeFlags_EOS_AS_NoFlags: EOS_EAuthScopeFlags = 0;
2212#[doc = " Permissions to see your account ID, display name, and language"]
2213pub const EOS_EAuthScopeFlags_EOS_AS_BasicProfile: EOS_EAuthScopeFlags = 1;
2214#[doc = " Permissions to see a list of your friends who use this application"]
2215pub const EOS_EAuthScopeFlags_EOS_AS_FriendsList: EOS_EAuthScopeFlags = 2;
2216#[doc = " Permissions to set your online presence and see presence of your friends"]
2217pub const EOS_EAuthScopeFlags_EOS_AS_Presence: EOS_EAuthScopeFlags = 4;
2218#[doc = " Permissions to manage the Epic friends list. This scope is restricted to Epic first party products, and attempting to use it will result in authentication failures."]
2219pub const EOS_EAuthScopeFlags_EOS_AS_FriendsManagement: EOS_EAuthScopeFlags = 8;
2220#[doc = " Permissions to see email in the response when fetching information for a user. This scope is restricted to Epic first party products, and attempting to use it will result in authentication failures."]
2221pub const EOS_EAuthScopeFlags_EOS_AS_Email: EOS_EAuthScopeFlags = 16;
2222#[doc = " Permissions to see your country"]
2223pub const EOS_EAuthScopeFlags_EOS_AS_Country: EOS_EAuthScopeFlags = 32;
2224pub const EOS_EAuthScopeFlags___EOS_EAuthScopeFlags_PAD_INT32__: EOS_EAuthScopeFlags = 2147483647;
2225#[doc = " Flags that describe user permissions"]
2226pub type EOS_EAuthScopeFlags = ::std::os::raw::c_int;
2227#[doc = " Input parameters for the EOS_Auth_Login function."]
2228#[repr(C)]
2229#[derive(Debug, Copy, Clone)]
2230pub struct _tagEOS_Auth_LoginOptions {
2231 #[doc = " API Version: Set this to EOS_AUTH_LOGIN_API_LATEST."]
2232 pub ApiVersion: i32,
2233 #[doc = " Credentials specified for a given login method."]
2234 pub Credentials: *const EOS_Auth_Credentials,
2235 #[doc = " Auth scope flags are permissions to request from the user while they are logging in. This is a bitwise-or union of EOS_EAuthScopeFlags flags defined above."]
2236 pub ScopeFlags: EOS_EAuthScopeFlags,
2237 #[doc = " Optional flags for the desired login behavior, e.g. EOS_LF_NO_USER_INTERFACE. This is a bitwise-or union of the defined flags."]
2238 pub LoginFlags: u64,
2239}
2240impl Default for _tagEOS_Auth_LoginOptions {
2241 fn default() -> Self {
2242 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2243 unsafe {
2244 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2245 s.assume_init()
2246 }
2247 }
2248}
2249#[doc = " Input parameters for the EOS_Auth_Login function."]
2250pub type EOS_Auth_LoginOptions = _tagEOS_Auth_LoginOptions;
2251#[doc = " Output parameters for the EOS_Auth_Login Function."]
2252#[repr(C)]
2253#[derive(Debug, Copy, Clone)]
2254pub struct _tagEOS_Auth_LoginCallbackInfo {
2255 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
2256 pub ResultCode: EOS_EResult,
2257 #[doc = " Context that was passed into EOS_Auth_Login."]
2258 pub ClientData: *mut ::std::os::raw::c_void,
2259 #[doc = " The Epic Account ID of the local user who has logged in."]
2260 pub LocalUserId: EOS_EpicAccountId,
2261 #[doc = " Optional data that may be returned in the middle of the login flow, when neither the in-game overlay or a platform browser is used.\n This data is present when the ResultCode is EOS_Auth_PinGrantCode."]
2262 pub PinGrantInfo: *const EOS_Auth_PinGrantInfo,
2263 #[doc = " If the user was not found with external auth credentials passed into EOS_Auth_Login, this continuance token can be passed to EOS_Auth_LinkAccount to continue the flow."]
2264 pub ContinuanceToken: EOS_ContinuanceToken,
2265 #[doc = " Deprecated field that is no longer used."]
2266 pub AccountFeatureRestrictedInfo_DEPRECATED: *const EOS_Auth_AccountFeatureRestrictedInfo,
2267 #[doc = " The Epic Account ID that has been previously selected to be used for the current application.\n Applications should use this ID to authenticate with online backend services that store game-scoped data for users.\n\n Note: This ID may be different from LocalUserId if the user has previously merged Epic accounts into the account\n represented by LocalUserId, and one of the accounts that got merged had game data associated with it for the application."]
2268 pub SelectedAccountId: EOS_EpicAccountId,
2269}
2270impl Default for _tagEOS_Auth_LoginCallbackInfo {
2271 fn default() -> Self {
2272 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2273 unsafe {
2274 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2275 s.assume_init()
2276 }
2277 }
2278}
2279#[doc = " Output parameters for the EOS_Auth_Login Function."]
2280pub type EOS_Auth_LoginCallbackInfo = _tagEOS_Auth_LoginCallbackInfo;
2281#[doc = " Function prototype definition for callbacks passed to EOS_Auth_Login\n @param Data A EOS_Auth_LoginCallbackInfo containing the output information and result"]
2282pub type EOS_Auth_OnLoginCallback =
2283 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Auth_LoginCallbackInfo)>;
2284#[doc = " Input parameters for the EOS_Auth_Logout function."]
2285#[repr(C)]
2286#[derive(Debug, Copy, Clone)]
2287pub struct _tagEOS_Auth_LogoutOptions {
2288 #[doc = " API Version: Set this to EOS_AUTH_LOGOUT_API_LATEST."]
2289 pub ApiVersion: i32,
2290 #[doc = " The Epic Account ID of the local user who is being logged out"]
2291 pub LocalUserId: EOS_EpicAccountId,
2292}
2293impl Default for _tagEOS_Auth_LogoutOptions {
2294 fn default() -> Self {
2295 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2296 unsafe {
2297 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2298 s.assume_init()
2299 }
2300 }
2301}
2302#[doc = " Input parameters for the EOS_Auth_Logout function."]
2303pub type EOS_Auth_LogoutOptions = _tagEOS_Auth_LogoutOptions;
2304#[doc = " Output parameters for the EOS_Auth_Logout Function."]
2305#[repr(C)]
2306#[derive(Debug, Copy, Clone)]
2307pub struct _tagEOS_Auth_LogoutCallbackInfo {
2308 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
2309 pub ResultCode: EOS_EResult,
2310 #[doc = " Context that was passed into EOS_Auth_Login"]
2311 pub ClientData: *mut ::std::os::raw::c_void,
2312 #[doc = " The Epic Account ID of the local user requesting the information"]
2313 pub LocalUserId: EOS_EpicAccountId,
2314}
2315impl Default for _tagEOS_Auth_LogoutCallbackInfo {
2316 fn default() -> Self {
2317 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2318 unsafe {
2319 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2320 s.assume_init()
2321 }
2322 }
2323}
2324#[doc = " Output parameters for the EOS_Auth_Logout Function."]
2325pub type EOS_Auth_LogoutCallbackInfo = _tagEOS_Auth_LogoutCallbackInfo;
2326#[doc = " Function prototype definition for callbacks passed to EOS_Auth_Logout\n @param Data A EOS_Auth_LogoutCallbackInfo containing the output information and result"]
2327pub type EOS_Auth_OnLogoutCallback =
2328 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Auth_LogoutCallbackInfo)>;
2329#[doc = " Default flag used for a standard account linking operation.\n\n This flag is set when using a continuance token received from a previous call to the EOS_Auth_Login API,\n when the local user has not yet been successfully logged in to an Epic Account yet."]
2330pub const EOS_ELinkAccountFlags_EOS_LA_NoFlags: EOS_ELinkAccountFlags = 0;
2331#[doc = " Specified when the EOS_ContinuanceToken describes a Nintendo NSA ID account type.\n\n This flag is used only with, and must be set, when the continuance token was received from a previous call\n to the EOS_Auth_Login API using the EOS_EExternalCredentialType::EOS_ECT_NINTENDO_NSA_ID_TOKEN login type."]
2332pub const EOS_ELinkAccountFlags_EOS_LA_NintendoNsaId: EOS_ELinkAccountFlags = 1;
2333pub const EOS_ELinkAccountFlags___EOS_ELinkAccountFlags_PAD_INT32__: EOS_ELinkAccountFlags =
2334 2147483647;
2335#[doc = " Flags used to describe how the account linking operation is to be performed.\n\n @see EOS_Auth_LinkAccount"]
2336pub type EOS_ELinkAccountFlags = ::std::os::raw::c_int;
2337#[doc = " Input parameters for the EOS_Auth_LinkAccount function."]
2338#[repr(C)]
2339#[derive(Debug, Copy, Clone)]
2340pub struct _tagEOS_Auth_LinkAccountOptions {
2341 #[doc = " API Version: Set this to EOS_AUTH_LINKACCOUNT_API_LATEST."]
2342 pub ApiVersion: i32,
2343 #[doc = " Combination of the enumeration flags to specify how the account linking operation will be performed."]
2344 pub LinkAccountFlags: EOS_ELinkAccountFlags,
2345 #[doc = " Continuance token received from a previous call to the EOS_Auth_Login API.\n\n A continuance token is received in the case when the external account used for login was not found to be linked\n against any existing Epic Account. In such case, the application needs to proceed with an account linking operation in which case\n the user is first asked to create a new account or login into their existing Epic Account, and then link their external account to it.\n Alternatively, the application may suggest the user to login using another external account that they have already linked to their existing Epic Account.\n In this flow, the external account is typically the currently logged in local platform user account.\n It can also be another external user account that the user is offered to login with."]
2346 pub ContinuanceToken: EOS_ContinuanceToken,
2347 #[doc = " The Epic Account ID of the logged in local user whose Epic Account will be linked with the local Nintendo NSA ID Account. By default set to NULL.\n\n This parameter is only used and required to be set when EOS_ELinkAccountFlags::EOS_LA_NintendoNsaId is specified.\n Otherwise, set to NULL, as the standard account linking and login flow using continuance token will handle logging in the user to their Epic Account."]
2348 pub LocalUserId: EOS_EpicAccountId,
2349}
2350impl Default for _tagEOS_Auth_LinkAccountOptions {
2351 fn default() -> Self {
2352 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2353 unsafe {
2354 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2355 s.assume_init()
2356 }
2357 }
2358}
2359#[doc = " Input parameters for the EOS_Auth_LinkAccount function."]
2360pub type EOS_Auth_LinkAccountOptions = _tagEOS_Auth_LinkAccountOptions;
2361#[doc = " Output parameters for the EOS_Auth_LinkAccount Function."]
2362#[repr(C)]
2363#[derive(Debug, Copy, Clone)]
2364pub struct _tagEOS_Auth_LinkAccountCallbackInfo {
2365 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
2366 pub ResultCode: EOS_EResult,
2367 #[doc = " Context that was passed into EOS_Auth_LinkAccount."]
2368 pub ClientData: *mut ::std::os::raw::c_void,
2369 #[doc = " The Epic Account ID of the local user whose account has been linked during login."]
2370 pub LocalUserId: EOS_EpicAccountId,
2371 #[doc = " Optional data that may be returned in the middle of the login flow, when neither the in-game overlay or a platform browser is used.\n This data is present when the ResultCode is EOS_Auth_PinGrantCode."]
2372 pub PinGrantInfo: *const EOS_Auth_PinGrantInfo,
2373 #[doc = " The Epic Account ID that has been previously selected to be used for the current application.\n Applications should use this ID to authenticate with online backend services that store game-scoped data for users.\n\n Note: This ID may be different from LocalUserId if the user has previously merged Epic accounts into the account\n represented by LocalUserId, and one of the accounts that got merged had game data associated with it for the application."]
2374 pub SelectedAccountId: EOS_EpicAccountId,
2375}
2376impl Default for _tagEOS_Auth_LinkAccountCallbackInfo {
2377 fn default() -> Self {
2378 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2379 unsafe {
2380 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2381 s.assume_init()
2382 }
2383 }
2384}
2385#[doc = " Output parameters for the EOS_Auth_LinkAccount Function."]
2386pub type EOS_Auth_LinkAccountCallbackInfo = _tagEOS_Auth_LinkAccountCallbackInfo;
2387#[doc = " Function prototype definition for callbacks passed to EOS_Auth_LinkAccount\n @param Data A EOS_Auth_LinkAccountCallbackInfo containing the output information and result"]
2388pub type EOS_Auth_OnLinkAccountCallback =
2389 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Auth_LinkAccountCallbackInfo)>;
2390#[doc = " Input parameters for the EOS_Auth_VerifyUserAuth function.\n This operation is destructive, the pointer will remain the same but the data pointers inside will update"]
2391#[repr(C)]
2392#[derive(Debug, Copy, Clone)]
2393pub struct _tagEOS_Auth_VerifyUserAuthOptions {
2394 #[doc = " API Version: Set this to EOS_AUTH_VERIFYUSERAUTH_API_LATEST."]
2395 pub ApiVersion: i32,
2396 #[doc = " Auth token to verify against the backend service"]
2397 pub AuthToken: *const EOS_Auth_Token,
2398}
2399impl Default for _tagEOS_Auth_VerifyUserAuthOptions {
2400 fn default() -> Self {
2401 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2402 unsafe {
2403 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2404 s.assume_init()
2405 }
2406 }
2407}
2408#[doc = " Input parameters for the EOS_Auth_VerifyUserAuth function.\n This operation is destructive, the pointer will remain the same but the data pointers inside will update"]
2409pub type EOS_Auth_VerifyUserAuthOptions = _tagEOS_Auth_VerifyUserAuthOptions;
2410#[doc = " Output parameters for the EOS_Auth_VerifyUserAuth Function."]
2411#[repr(C)]
2412#[derive(Debug, Copy, Clone)]
2413pub struct _tagEOS_Auth_VerifyUserAuthCallbackInfo {
2414 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
2415 pub ResultCode: EOS_EResult,
2416 #[doc = " Context that was passed into EOS_Auth_Login"]
2417 pub ClientData: *mut ::std::os::raw::c_void,
2418}
2419impl Default for _tagEOS_Auth_VerifyUserAuthCallbackInfo {
2420 fn default() -> Self {
2421 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2422 unsafe {
2423 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2424 s.assume_init()
2425 }
2426 }
2427}
2428#[doc = " Output parameters for the EOS_Auth_VerifyUserAuth Function."]
2429pub type EOS_Auth_VerifyUserAuthCallbackInfo = _tagEOS_Auth_VerifyUserAuthCallbackInfo;
2430#[doc = " Function prototype definition for callbacks passed to EOS_Auth_VerifyUserAuth\n @param Data A EOS_Auth_VerifyUserAuthCallbackInfo containing the output information and result"]
2431pub type EOS_Auth_OnVerifyUserAuthCallback =
2432 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Auth_VerifyUserAuthCallbackInfo)>;
2433#[doc = " Input parameters for the EOS_Auth_CopyUserAuthToken function."]
2434#[repr(C)]
2435#[derive(Debug, Default, Copy, Clone)]
2436pub struct _tagEOS_Auth_CopyUserAuthTokenOptions {
2437 #[doc = " API Version: Set this to EOS_AUTH_COPYUSERAUTHTOKEN_API_LATEST."]
2438 pub ApiVersion: i32,
2439}
2440#[doc = " Input parameters for the EOS_Auth_CopyUserAuthToken function."]
2441pub type EOS_Auth_CopyUserAuthTokenOptions = _tagEOS_Auth_CopyUserAuthTokenOptions;
2442#[doc = " Input parameters for the EOS_Auth_CopyIdToken function."]
2443#[repr(C)]
2444#[derive(Debug, Copy, Clone)]
2445pub struct _tagEOS_Auth_CopyIdTokenOptions {
2446 #[doc = " API Version: Set this to EOS_AUTH_COPYIDTOKEN_API_LATEST."]
2447 pub ApiVersion: i32,
2448 #[doc = " The Epic Account ID of the user being queried."]
2449 pub AccountId: EOS_EpicAccountId,
2450}
2451impl Default for _tagEOS_Auth_CopyIdTokenOptions {
2452 fn default() -> Self {
2453 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2454 unsafe {
2455 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2456 s.assume_init()
2457 }
2458 }
2459}
2460#[doc = " Input parameters for the EOS_Auth_CopyIdToken function."]
2461pub type EOS_Auth_CopyIdTokenOptions = _tagEOS_Auth_CopyIdTokenOptions;
2462#[doc = " A structure that contains an ID token.\n These structures are created by EOS_Auth_CopyIdToken and must be passed to EOS_Auth_IdToken_Release when finished."]
2463#[repr(C)]
2464#[derive(Debug, Copy, Clone)]
2465pub struct _tagEOS_Auth_IdToken {
2466 #[doc = " API Version: Set this to EOS_AUTH_IDTOKEN_API_LATEST."]
2467 pub ApiVersion: i32,
2468 #[doc = " The Epic Account ID described by the ID token.\n Use EOS_EpicAccountId_FromString to populate this field when validating a received ID token."]
2469 pub AccountId: EOS_EpicAccountId,
2470 #[doc = " The ID token as a Json Web Token (JWT) string."]
2471 pub JsonWebToken: *const ::std::os::raw::c_char,
2472}
2473impl Default for _tagEOS_Auth_IdToken {
2474 fn default() -> Self {
2475 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2476 unsafe {
2477 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2478 s.assume_init()
2479 }
2480 }
2481}
2482#[doc = " A structure that contains an ID token.\n These structures are created by EOS_Auth_CopyIdToken and must be passed to EOS_Auth_IdToken_Release when finished."]
2483pub type EOS_Auth_IdToken = _tagEOS_Auth_IdToken;
2484unsafe extern "C" {
2485 #[doc = " Release the memory associated with an EOS_Auth_IdToken structure. This must be called on data retrieved from EOS_Auth_CopyIdToken.\n\n @param IdToken The ID token structure to be released.\n\n @see EOS_Auth_IdToken\n @see EOS_Auth_CopyIdToken"]
2486 pub fn EOS_Auth_IdToken_Release(IdToken: *mut EOS_Auth_IdToken);
2487}
2488#[doc = " Input parameters for the EOS_Auth_QueryIdToken function."]
2489#[repr(C)]
2490#[derive(Debug, Copy, Clone)]
2491pub struct _tagEOS_Auth_QueryIdTokenOptions {
2492 #[doc = " API Version: Set this to EOS_AUTH_QUERYIDTOKEN_API_LATEST."]
2493 pub ApiVersion: i32,
2494 #[doc = " The Epic Account ID of the local authenticated user."]
2495 pub LocalUserId: EOS_EpicAccountId,
2496 #[doc = " The target Epic Account ID for which to query an ID token.\n This account id may be the same as the input LocalUserId or another merged account id associated with the local user's Epic account.\n\n An ID token for the selected account id of a locally authenticated user will always be readily available.\n To retrieve it for the selected account ID, you can use EOS_Auth_CopyIdToken directly after a successful user login."]
2497 pub TargetAccountId: EOS_EpicAccountId,
2498}
2499impl Default for _tagEOS_Auth_QueryIdTokenOptions {
2500 fn default() -> Self {
2501 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2502 unsafe {
2503 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2504 s.assume_init()
2505 }
2506 }
2507}
2508#[doc = " Input parameters for the EOS_Auth_QueryIdToken function."]
2509pub type EOS_Auth_QueryIdTokenOptions = _tagEOS_Auth_QueryIdTokenOptions;
2510#[doc = " Output parameters for the EOS_Auth_QueryIdToken Function."]
2511#[repr(C)]
2512#[derive(Debug, Copy, Clone)]
2513pub struct _tagEOS_Auth_QueryIdTokenCallbackInfo {
2514 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
2515 pub ResultCode: EOS_EResult,
2516 #[doc = " Context that was passed into EOS_Auth_QueryIdToken"]
2517 pub ClientData: *mut ::std::os::raw::c_void,
2518 #[doc = " The Epic Account ID of the local authenticated user."]
2519 pub LocalUserId: EOS_EpicAccountId,
2520 #[doc = " The target Epic Account ID for which the ID token was retrieved."]
2521 pub TargetAccountId: EOS_EpicAccountId,
2522}
2523impl Default for _tagEOS_Auth_QueryIdTokenCallbackInfo {
2524 fn default() -> Self {
2525 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2526 unsafe {
2527 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2528 s.assume_init()
2529 }
2530 }
2531}
2532#[doc = " Output parameters for the EOS_Auth_QueryIdToken Function."]
2533pub type EOS_Auth_QueryIdTokenCallbackInfo = _tagEOS_Auth_QueryIdTokenCallbackInfo;
2534#[doc = " Function prototype definition for callbacks passed into EOS_Auth_QueryIdToken.\n\n @param Data A EOS_Auth_QueryIdTokenCallbackInfo containing the output information and result."]
2535pub type EOS_Auth_OnQueryIdTokenCallback =
2536 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Auth_QueryIdTokenCallbackInfo)>;
2537#[doc = " Input parameters for the EOS_Auth_VerifyIdToken function."]
2538#[repr(C)]
2539#[derive(Debug, Copy, Clone)]
2540pub struct _tagEOS_Auth_VerifyIdTokenOptions {
2541 #[doc = " API Version: Set this to EOS_AUTH_VERIFYIDTOKEN_API_LATEST."]
2542 pub ApiVersion: i32,
2543 #[doc = " The ID token to verify.\n Use EOS_EpicAccountId_FromString to populate the AccountId field of this struct."]
2544 pub IdToken: *const EOS_Auth_IdToken,
2545}
2546impl Default for _tagEOS_Auth_VerifyIdTokenOptions {
2547 fn default() -> Self {
2548 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2549 unsafe {
2550 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2551 s.assume_init()
2552 }
2553 }
2554}
2555#[doc = " Input parameters for the EOS_Auth_VerifyIdToken function."]
2556pub type EOS_Auth_VerifyIdTokenOptions = _tagEOS_Auth_VerifyIdTokenOptions;
2557#[doc = " Output parameters for the EOS_Auth_VerifyIdToken Function."]
2558#[repr(C)]
2559#[derive(Debug, Copy, Clone)]
2560pub struct _tagEOS_Auth_VerifyIdTokenCallbackInfo {
2561 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
2562 pub ResultCode: EOS_EResult,
2563 #[doc = " Context that was passed into EOS_Auth_VerifyIdToken"]
2564 pub ClientData: *mut ::std::os::raw::c_void,
2565 #[doc = " Epic Account Services Application ID."]
2566 pub ApplicationId: *const ::std::os::raw::c_char,
2567 #[doc = " Client ID of the authorized client."]
2568 pub ClientId: *const ::std::os::raw::c_char,
2569 #[doc = " Product ID."]
2570 pub ProductId: *const ::std::os::raw::c_char,
2571 #[doc = " Sandbox ID."]
2572 pub SandboxId: *const ::std::os::raw::c_char,
2573 #[doc = " Deployment ID."]
2574 pub DeploymentId: *const ::std::os::raw::c_char,
2575 #[doc = " Epic Account display name.\n\n This value may be set to an empty string."]
2576 pub DisplayName: *const ::std::os::raw::c_char,
2577 #[doc = " Flag set to indicate whether external account information is present.\n Applications must always first check this value to be set before attempting\n to read the ExternalAccountIdType, ExternalAccountId, ExternalAccountDisplayName and Platform fields.\n\n This flag is set when the user has logged in to their Epic Account using external account credentials, e.g. through local platform authentication."]
2578 pub bIsExternalAccountInfoPresent: EOS_Bool,
2579 #[doc = " The identity provider that the user logged in with to their Epic Account.\n\n If bIsExternalAccountInfoPresent is set, this field describes the external account type."]
2580 pub ExternalAccountIdType: EOS_EExternalAccountType,
2581 #[doc = " The external account ID of the logged in user.\n\n This value may be set to an empty string."]
2582 pub ExternalAccountId: *const ::std::os::raw::c_char,
2583 #[doc = " The external account display name.\n\n This value may be set to an empty string."]
2584 pub ExternalAccountDisplayName: *const ::std::os::raw::c_char,
2585 #[doc = " Platform that the user is connected from.\n\n This value may be set to an empty string."]
2586 pub Platform: *const ::std::os::raw::c_char,
2587}
2588impl Default for _tagEOS_Auth_VerifyIdTokenCallbackInfo {
2589 fn default() -> Self {
2590 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2591 unsafe {
2592 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2593 s.assume_init()
2594 }
2595 }
2596}
2597#[doc = " Output parameters for the EOS_Auth_VerifyIdToken Function."]
2598pub type EOS_Auth_VerifyIdTokenCallbackInfo = _tagEOS_Auth_VerifyIdTokenCallbackInfo;
2599#[doc = " Function prototype definition for callbacks passed into EOS_Auth_VerifyIdToken.\n\n @param Data A EOS_Auth_VerifyIdTokenCallbackInfo containing the output information and result."]
2600pub type EOS_Auth_OnVerifyIdTokenCallback =
2601 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Auth_VerifyIdTokenCallbackInfo)>;
2602#[doc = " Input parameters for the EOS_Auth_AddNotifyLoginStatusChanged Function."]
2603#[repr(C)]
2604#[derive(Debug, Default, Copy, Clone)]
2605pub struct _tagEOS_Auth_AddNotifyLoginStatusChangedOptions {
2606 #[doc = " API Version: Set this to EOS_AUTH_ADDNOTIFYLOGINSTATUSCHANGED_API_LATEST."]
2607 pub ApiVersion: i32,
2608}
2609#[doc = " Input parameters for the EOS_Auth_AddNotifyLoginStatusChanged Function."]
2610pub type EOS_Auth_AddNotifyLoginStatusChangedOptions =
2611 _tagEOS_Auth_AddNotifyLoginStatusChangedOptions;
2612#[doc = " Input parameters for the EOS_Auth_DeletePersistentAuth function."]
2613#[repr(C)]
2614#[derive(Debug, Copy, Clone)]
2615pub struct _tagEOS_Auth_DeletePersistentAuthOptions {
2616 #[doc = " API Version: Set this to EOS_AUTH_DELETEPERSISTENTAUTH_API_LATEST."]
2617 pub ApiVersion: i32,
2618 #[doc = " A long-lived refresh token that is used with the EOS_LCT_PersistentAuth login type and is to be revoked from the authentication server. Only used on Console platforms.\n On Desktop and Mobile platforms, set this parameter to NULL."]
2619 pub RefreshToken: *const ::std::os::raw::c_char,
2620}
2621impl Default for _tagEOS_Auth_DeletePersistentAuthOptions {
2622 fn default() -> Self {
2623 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2624 unsafe {
2625 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2626 s.assume_init()
2627 }
2628 }
2629}
2630#[doc = " Input parameters for the EOS_Auth_DeletePersistentAuth function."]
2631pub type EOS_Auth_DeletePersistentAuthOptions = _tagEOS_Auth_DeletePersistentAuthOptions;
2632#[doc = " Output parameters for the EOS_Auth_DeletePersistentAuth Function."]
2633#[repr(C)]
2634#[derive(Debug, Copy, Clone)]
2635pub struct _tagEOS_Auth_DeletePersistentAuthCallbackInfo {
2636 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
2637 pub ResultCode: EOS_EResult,
2638 #[doc = " Context that was passed into EOS_Auth_DeletePersistentAuth"]
2639 pub ClientData: *mut ::std::os::raw::c_void,
2640}
2641impl Default for _tagEOS_Auth_DeletePersistentAuthCallbackInfo {
2642 fn default() -> Self {
2643 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2644 unsafe {
2645 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2646 s.assume_init()
2647 }
2648 }
2649}
2650#[doc = " Output parameters for the EOS_Auth_DeletePersistentAuth Function."]
2651pub type EOS_Auth_DeletePersistentAuthCallbackInfo = _tagEOS_Auth_DeletePersistentAuthCallbackInfo;
2652#[doc = " Function prototype definition for callbacks passed to EOS_Auth_DeletePersistentAuth\n @param Data A EOS_Auth_DeletePersistentAuthCallbackInfo containing the output information and result"]
2653pub type EOS_Auth_OnDeletePersistentAuthCallback = ::std::option::Option<
2654 unsafe extern "C" fn(Data: *const EOS_Auth_DeletePersistentAuthCallbackInfo),
2655>;
2656#[doc = " Output parameters for the EOS_Auth_OnLoginStatusChangedCallback Function."]
2657#[repr(C)]
2658#[derive(Debug, Copy, Clone)]
2659pub struct _tagEOS_Auth_LoginStatusChangedCallbackInfo {
2660 #[doc = " Context that was passed into EOS_Auth_AddNotifyLoginStatusChanged"]
2661 pub ClientData: *mut ::std::os::raw::c_void,
2662 #[doc = " The Epic Account ID of the local user whose status has changed"]
2663 pub LocalUserId: EOS_EpicAccountId,
2664 #[doc = " The status prior to the change"]
2665 pub PrevStatus: EOS_ELoginStatus,
2666 #[doc = " The status at the time of the notification"]
2667 pub CurrentStatus: EOS_ELoginStatus,
2668}
2669impl Default for _tagEOS_Auth_LoginStatusChangedCallbackInfo {
2670 fn default() -> Self {
2671 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2672 unsafe {
2673 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2674 s.assume_init()
2675 }
2676 }
2677}
2678#[doc = " Output parameters for the EOS_Auth_OnLoginStatusChangedCallback Function."]
2679pub type EOS_Auth_LoginStatusChangedCallbackInfo = _tagEOS_Auth_LoginStatusChangedCallbackInfo;
2680#[doc = " Function prototype definition for notifications that come from EOS_Auth_AddNotifyLoginStatusChanged\n\n @param Data A EOS_Auth_LoginStatusChangedCallbackInfo containing the output information and result"]
2681pub type EOS_Auth_OnLoginStatusChangedCallback = ::std::option::Option<
2682 unsafe extern "C" fn(Data: *const EOS_Auth_LoginStatusChangedCallbackInfo),
2683>;
2684#[repr(C)]
2685#[derive(Debug, Copy, Clone)]
2686pub struct EOS_EcomHandle {
2687 _unused: [u8; 0],
2688}
2689pub type EOS_HEcom = *mut EOS_EcomHandle;
2690#[repr(C)]
2691#[derive(Debug, Copy, Clone)]
2692pub struct EOS_Ecom_TransactionHandle {
2693 _unused: [u8; 0],
2694}
2695#[doc = " This handle is copied when EOS_Ecom_CopyTransactionById or EOS_Ecom_CopyTransactionByIndex is called.\n A EOS_Ecom_CheckoutCallbackInfo provides the ID for the copy.\n After being copied, EOS_Ecom_Transaction_Release must be called.\n\n @see EOS_Ecom_CheckoutCallbackInfo\n @see EOS_Ecom_CopyTransactionById\n @see EOS_Ecom_CopyTransactionByIndex\n @see EOS_Ecom_Transaction_Release"]
2696pub type EOS_Ecom_HTransaction = *mut EOS_Ecom_TransactionHandle;
2697#[doc = " A unique identifier for a catalog item defined and stored with the backend catalog service.\n A catalog item represents a distinct object within the catalog. When acquired by an account, an\n entitlement is granted that references a specific catalog item."]
2698pub type EOS_Ecom_CatalogItemId = *const ::std::os::raw::c_char;
2699#[doc = " A unique identifier for a catalog offer defined and stored with the backend catalog service.\n A catalog offer is a purchasable collection of 1 or more items, associated with a price (which\n could be 0). When an offer is purchased an entitlement is granted for each of the items\n referenced by the offer."]
2700pub type EOS_Ecom_CatalogOfferId = *const ::std::os::raw::c_char;
2701#[doc = " An identifier which is defined on a catalog item and stored with the backend catalog service.\n The entitlement name may not be unique. A catalog may be configured with multiple items with the\n same entitlement name in order to define a logical grouping of entitlements. This is used to\n retrieve all entitlements granted to an account grouped in this way.\n\n @see EOS_Ecom_QueryEntitlements"]
2702pub type EOS_Ecom_EntitlementName = *const ::std::os::raw::c_char;
2703#[doc = " A unique identifier for an entitlement owned by an account. An entitlement is always associated\n with a single account. The entitlement ID is provided to allow redeeming the entitlement as\n well as identify individual entitlement grants.\n\n @see EOS_Ecom_QueryEntitlements\n @see EOS_Ecom_RedeemEntitlements"]
2704pub type EOS_Ecom_EntitlementId = *const ::std::os::raw::c_char;
2705#[doc = " A unique identifier for the Sandbox.\n\n @see EOS_Ecom_QueryOwnershipBySandboxIds"]
2706pub type EOS_Ecom_SandboxId = *const ::std::os::raw::c_char;
2707#[doc = " The catalog item is not owned by the local user"]
2708pub const EOS_EOwnershipStatus_EOS_OS_NotOwned: EOS_EOwnershipStatus = 0;
2709#[doc = " The catalog item is owned by the local user"]
2710pub const EOS_EOwnershipStatus_EOS_OS_Owned: EOS_EOwnershipStatus = 1;
2711pub const EOS_EOwnershipStatus___EOS_EOwnershipStatus_PAD_INT32__: EOS_EOwnershipStatus =
2712 2147483647;
2713#[doc = " An enumeration of the different ownership statuses."]
2714pub type EOS_EOwnershipStatus = ::std::os::raw::c_int;
2715#[doc = " This entitlement is intended to persist."]
2716pub const EOS_EEcomItemType_EOS_EIT_Durable: EOS_EEcomItemType = 0;
2717#[doc = " This entitlement is intended to be transient and redeemed.\n\n @see EOS_Ecom_RedeemEntitlements"]
2718pub const EOS_EEcomItemType_EOS_EIT_Consumable: EOS_EEcomItemType = 1;
2719#[doc = " This entitlement has a type that is not currently intended for an in-game store."]
2720pub const EOS_EEcomItemType_EOS_EIT_Other: EOS_EEcomItemType = 2;
2721pub const EOS_EEcomItemType___EOS_EEcomItemType_PAD_INT32__: EOS_EEcomItemType = 2147483647;
2722#[doc = " An enumeration defining the type of catalog item. The primary use is to identify how the item is expended."]
2723pub type EOS_EEcomItemType = ::std::os::raw::c_int;
2724#[doc = " Current orientation will be used"]
2725pub const EOS_ECheckoutOrientation_EOS_ECO_Default: EOS_ECheckoutOrientation = 0;
2726#[doc = " Portrait orientation"]
2727pub const EOS_ECheckoutOrientation_EOS_ECO_Portrait: EOS_ECheckoutOrientation = 1;
2728#[doc = " Landscape orientation"]
2729pub const EOS_ECheckoutOrientation_EOS_ECO_Landscape: EOS_ECheckoutOrientation = 2;
2730pub const EOS_ECheckoutOrientation___EOS_ECheckoutOrientation_PAD_INT32__:
2731 EOS_ECheckoutOrientation = 2147483647;
2732#[doc = " An enumeration defining the possible orientation for the checkout page. This will be used on mobile."]
2733pub type EOS_ECheckoutOrientation = ::std::os::raw::c_int;
2734#[doc = " Contains information about a single entitlement associated with an account. Instances of this structure are\n created by EOS_Ecom_CopyEntitlementByIndex, EOS_Ecom_CopyEntitlementByNameAndIndex, or EOS_Ecom_CopyEntitlementById.\n They must be passed to EOS_Ecom_Entitlement_Release."]
2735#[repr(C)]
2736#[derive(Debug, Copy, Clone)]
2737pub struct _tagEOS_Ecom_Entitlement {
2738 #[doc = " API Version: Set this to EOS_ECOM_ENTITLEMENT_API_LATEST."]
2739 pub ApiVersion: i32,
2740 #[doc = " Name of the entitlement"]
2741 pub EntitlementName: EOS_Ecom_EntitlementName,
2742 #[doc = " ID of the entitlement owned by an account"]
2743 pub EntitlementId: EOS_Ecom_EntitlementId,
2744 #[doc = " ID of the item associated with the offer which granted this entitlement"]
2745 pub CatalogItemId: EOS_Ecom_CatalogItemId,
2746 #[doc = " If queried using pagination then ServerIndex represents the index of the entitlement as it\n exists on the server. If not queried using pagination then ServerIndex will be -1."]
2747 pub ServerIndex: i32,
2748 #[doc = " If true then the catalog has this entitlement marked as redeemed"]
2749 pub bRedeemed: EOS_Bool,
2750 #[doc = " If not -1 then this is a POSIX timestamp that this entitlement will end"]
2751 pub EndTimestamp: i64,
2752}
2753impl Default for _tagEOS_Ecom_Entitlement {
2754 fn default() -> Self {
2755 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2756 unsafe {
2757 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2758 s.assume_init()
2759 }
2760 }
2761}
2762#[doc = " Contains information about a single entitlement associated with an account. Instances of this structure are\n created by EOS_Ecom_CopyEntitlementByIndex, EOS_Ecom_CopyEntitlementByNameAndIndex, or EOS_Ecom_CopyEntitlementById.\n They must be passed to EOS_Ecom_Entitlement_Release."]
2763pub type EOS_Ecom_Entitlement = _tagEOS_Ecom_Entitlement;
2764unsafe extern "C" {
2765 #[doc = " Release the memory associated with an EOS_Ecom_Entitlement structure. This must be called on data\n retrieved from EOS_Ecom_CopyEntitlementByIndex and EOS_Ecom_CopyEntitlementById.\n\n @param Entitlement - The entitlement structure to be released\n\n @see EOS_Ecom_Entitlement\n @see EOS_Ecom_CopyEntitlementByIndex\n @see EOS_Ecom_CopyEntitlementById"]
2766 pub fn EOS_Ecom_Entitlement_Release(Entitlement: *mut EOS_Ecom_Entitlement);
2767}
2768#[doc = " Contains information about a single item ownership associated with an account. This structure is\n returned as part of the EOS_Ecom_QueryOwnershipCallbackInfo structure."]
2769#[repr(C)]
2770#[derive(Debug, Copy, Clone)]
2771pub struct _tagEOS_Ecom_ItemOwnership {
2772 #[doc = " API Version: Set this to EOS_ECOM_ITEMOWNERSHIP_API_LATEST."]
2773 pub ApiVersion: i32,
2774 #[doc = " ID of the catalog item"]
2775 pub Id: EOS_Ecom_CatalogItemId,
2776 #[doc = " Is this catalog item owned by the local user"]
2777 pub OwnershipStatus: EOS_EOwnershipStatus,
2778}
2779impl Default for _tagEOS_Ecom_ItemOwnership {
2780 fn default() -> Self {
2781 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2782 unsafe {
2783 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2784 s.assume_init()
2785 }
2786 }
2787}
2788#[doc = " Contains information about a single item ownership associated with an account. This structure is\n returned as part of the EOS_Ecom_QueryOwnershipCallbackInfo structure."]
2789pub type EOS_Ecom_ItemOwnership = _tagEOS_Ecom_ItemOwnership;
2790#[doc = " Contains information about a single item within the catalog. Instances of this structure are created\n by EOS_Ecom_CopyOfferItemByIndex. They must be passed to EOS_Ecom_CatalogItem_Release."]
2791#[repr(C)]
2792#[derive(Debug, Copy, Clone)]
2793pub struct _tagEOS_Ecom_CatalogItem {
2794 #[doc = " API Version: Set this to EOS_ECOM_CATALOGITEM_API_LATEST."]
2795 pub ApiVersion: i32,
2796 #[doc = " Product namespace in which this item exists"]
2797 pub CatalogNamespace: *const ::std::os::raw::c_char,
2798 #[doc = " The ID of this item"]
2799 pub Id: EOS_Ecom_CatalogItemId,
2800 #[doc = " The entitlement name associated with this item"]
2801 pub EntitlementName: EOS_Ecom_EntitlementName,
2802 #[doc = " Localized UTF-8 title of this item"]
2803 pub TitleText: *const ::std::os::raw::c_char,
2804 #[doc = " Localized UTF-8 description of this item"]
2805 pub DescriptionText: *const ::std::os::raw::c_char,
2806 #[doc = " Localized UTF-8 long description of this item"]
2807 pub LongDescriptionText: *const ::std::os::raw::c_char,
2808 #[doc = " Localized UTF-8 technical details of this item"]
2809 pub TechnicalDetailsText: *const ::std::os::raw::c_char,
2810 #[doc = " Localized UTF-8 developer of this item"]
2811 pub DeveloperText: *const ::std::os::raw::c_char,
2812 #[doc = " The type of item as defined in the catalog"]
2813 pub ItemType: EOS_EEcomItemType,
2814 #[doc = " If not -1 then this is the POSIX timestamp that the entitlement will end"]
2815 pub EntitlementEndTimestamp: i64,
2816}
2817impl Default for _tagEOS_Ecom_CatalogItem {
2818 fn default() -> Self {
2819 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2820 unsafe {
2821 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2822 s.assume_init()
2823 }
2824 }
2825}
2826#[doc = " Contains information about a single item within the catalog. Instances of this structure are created\n by EOS_Ecom_CopyOfferItemByIndex. They must be passed to EOS_Ecom_CatalogItem_Release."]
2827pub type EOS_Ecom_CatalogItem = _tagEOS_Ecom_CatalogItem;
2828unsafe extern "C" {
2829 #[doc = " Release the memory associated with an EOS_Ecom_CatalogItem structure. This must be called on data\n retrieved from EOS_Ecom_CopyOfferItemByIndex.\n\n @param CatalogItem - The catalog item structure to be released\n\n @see EOS_Ecom_CatalogItem\n @see EOS_Ecom_CopyOfferItemByIndex"]
2830 pub fn EOS_Ecom_CatalogItem_Release(CatalogItem: *mut EOS_Ecom_CatalogItem);
2831}
2832#[doc = " Contains information about a single offer within the catalog. Instances of this structure are\n created by EOS_Ecom_CopyOfferByIndex. They must be passed to EOS_Ecom_CatalogOffer_Release.\n Prices are stored in the lowest denomination for the associated currency. If CurrencyCode is\n \"USD\" then a price of 299 represents \"$2.99\"."]
2833#[repr(C)]
2834#[derive(Debug, Copy, Clone)]
2835pub struct _tagEOS_Ecom_CatalogOffer {
2836 #[doc = " API Version: Set this to EOS_ECOM_CATALOGOFFER_API_LATEST."]
2837 pub ApiVersion: i32,
2838 #[doc = " The index of this offer as it exists on the server.\n This is useful for understanding pagination data."]
2839 pub ServerIndex: i32,
2840 #[doc = " Product namespace in which this offer exists"]
2841 pub CatalogNamespace: *const ::std::os::raw::c_char,
2842 #[doc = " The ID of this offer"]
2843 pub Id: EOS_Ecom_CatalogOfferId,
2844 #[doc = " Localized UTF-8 title of this offer"]
2845 pub TitleText: *const ::std::os::raw::c_char,
2846 #[doc = " Localized UTF-8 description of this offer"]
2847 pub DescriptionText: *const ::std::os::raw::c_char,
2848 #[doc = " Localized UTF-8 long description of this offer"]
2849 pub LongDescriptionText: *const ::std::os::raw::c_char,
2850 #[doc = " Deprecated.\n EOS_Ecom_CatalogItem::TechnicalDetailsText is still valid."]
2851 pub TechnicalDetailsText_DEPRECATED: *const ::std::os::raw::c_char,
2852 #[doc = " The Currency Code for this offer"]
2853 pub CurrencyCode: *const ::std::os::raw::c_char,
2854 #[doc = " If this value is EOS_Success then OriginalPrice, CurrentPrice, and DiscountPercentage contain valid data.\n Otherwise this value represents the error that occurred on the price query."]
2855 pub PriceResult: EOS_EResult,
2856 #[doc = " The original price of this offer as a 32-bit number is deprecated."]
2857 pub OriginalPrice_DEPRECATED: u32,
2858 #[doc = " The current price including discounts of this offer as a 32-bit number is deprecated.."]
2859 pub CurrentPrice_DEPRECATED: u32,
2860 #[doc = " A value from 0 to 100 define the percentage of the OrignalPrice that the CurrentPrice represents"]
2861 pub DiscountPercentage: u8,
2862 #[doc = " Contains the POSIX timestamp that the offer expires or -1 if it does not expire"]
2863 pub ExpirationTimestamp: i64,
2864 #[doc = " The number of times that the requesting account has purchased this offer.\n This value is deprecated and the backend no longer returns this value."]
2865 pub PurchasedCount_DEPRECATED: u32,
2866 #[doc = " The maximum number of times that the offer can be purchased.\n A negative value implies there is no limit."]
2867 pub PurchaseLimit: i32,
2868 #[doc = " True if the user can purchase this offer."]
2869 pub bAvailableForPurchase: EOS_Bool,
2870 #[doc = " The original price of this offer as a 64-bit number."]
2871 pub OriginalPrice64: u64,
2872 #[doc = " The current price including discounts of this offer as a 64-bit number."]
2873 pub CurrentPrice64: u64,
2874 #[doc = " The decimal point for the provided price. For example, DecimalPoint '2' and CurrentPrice64 '12345' would be '123.45'."]
2875 pub DecimalPoint: u32,
2876 #[doc = " Timestamp indicating when the time when the offer was released. Can be ignored if set to -1."]
2877 pub ReleaseDateTimestamp: i64,
2878 #[doc = " Timestamp indicating the effective date of the offer. Can be ignored if set to -1."]
2879 pub EffectiveDateTimestamp: i64,
2880}
2881impl Default for _tagEOS_Ecom_CatalogOffer {
2882 fn default() -> Self {
2883 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2884 unsafe {
2885 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2886 s.assume_init()
2887 }
2888 }
2889}
2890#[doc = " Contains information about a single offer within the catalog. Instances of this structure are\n created by EOS_Ecom_CopyOfferByIndex. They must be passed to EOS_Ecom_CatalogOffer_Release.\n Prices are stored in the lowest denomination for the associated currency. If CurrencyCode is\n \"USD\" then a price of 299 represents \"$2.99\"."]
2891pub type EOS_Ecom_CatalogOffer = _tagEOS_Ecom_CatalogOffer;
2892unsafe extern "C" {
2893 #[doc = " Release the memory associated with an EOS_Ecom_CatalogOffer structure. This must be called on data\n retrieved from EOS_Ecom_CopyOfferByIndex.\n\n @param CatalogOffer - The catalog offer structure to be released\n\n @see EOS_Ecom_CatalogOffer\n @see EOS_Ecom_CopyOfferByIndex"]
2894 pub fn EOS_Ecom_CatalogOffer_Release(CatalogOffer: *mut EOS_Ecom_CatalogOffer);
2895}
2896#[doc = " Contains information about a key image used by the catalog. Instances of this structure are\n created by EOS_Ecom_CopyItemImageInfoByIndex. They must be passed to EOS_Ecom_KeyImageInfo_Release.\n A Key Image is defined within Dev Portal and is associated with a Catalog Item. A Key Image is\n intended to be used to provide imagery for an in-game store.\n\n @see EOS_Ecom_CopyItemImageInfoByIndex\n @see EOS_Ecom_KeyImageInfo_Release"]
2897#[repr(C)]
2898#[derive(Debug, Copy, Clone)]
2899pub struct _tagEOS_Ecom_KeyImageInfo {
2900 #[doc = " API Version: Set this to EOS_ECOM_KEYIMAGEINFO_API_LATEST."]
2901 pub ApiVersion: i32,
2902 #[doc = " Describes the usage of the image (ex: home_thumbnail)"]
2903 pub Type: *const ::std::os::raw::c_char,
2904 #[doc = " The URL of the image"]
2905 pub Url: *const ::std::os::raw::c_char,
2906 #[doc = " The expected width in pixels of the image"]
2907 pub Width: u32,
2908 #[doc = " The expected height in pixels of the image"]
2909 pub Height: u32,
2910}
2911impl Default for _tagEOS_Ecom_KeyImageInfo {
2912 fn default() -> Self {
2913 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2914 unsafe {
2915 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2916 s.assume_init()
2917 }
2918 }
2919}
2920#[doc = " Contains information about a key image used by the catalog. Instances of this structure are\n created by EOS_Ecom_CopyItemImageInfoByIndex. They must be passed to EOS_Ecom_KeyImageInfo_Release.\n A Key Image is defined within Dev Portal and is associated with a Catalog Item. A Key Image is\n intended to be used to provide imagery for an in-game store.\n\n @see EOS_Ecom_CopyItemImageInfoByIndex\n @see EOS_Ecom_KeyImageInfo_Release"]
2921pub type EOS_Ecom_KeyImageInfo = _tagEOS_Ecom_KeyImageInfo;
2922unsafe extern "C" {
2923 #[doc = " Release the memory associated with an EOS_Ecom_KeyImageInfo structure. This must be called on data\n retrieved from EOS_Ecom_CopyItemImageInfoByIndex.\n\n @param KeyImageInfo - The key image info structure to be released\n\n @see EOS_Ecom_KeyImageInfo\n @see EOS_Ecom_CopyItemImageInfoByIndex"]
2924 pub fn EOS_Ecom_KeyImageInfo_Release(KeyImageInfo: *mut EOS_Ecom_KeyImageInfo);
2925}
2926#[doc = " Contains information about a single release within the catalog. Instances of this structure are\n created by EOS_Ecom_CopyItemReleaseByIndex. They must be passed to EOS_Ecom_CatalogRelease_Release."]
2927#[repr(C)]
2928#[derive(Debug, Copy, Clone)]
2929pub struct _tagEOS_Ecom_CatalogRelease {
2930 #[doc = " API Version: Set this to EOS_ECOM_CATALOGRELEASE_API_LATEST."]
2931 pub ApiVersion: i32,
2932 #[doc = " The number of APP IDs"]
2933 pub CompatibleAppIdCount: u32,
2934 #[doc = " A list of compatible APP IDs"]
2935 pub CompatibleAppIds: *mut *const ::std::os::raw::c_char,
2936 #[doc = " The number of platforms"]
2937 pub CompatiblePlatformCount: u32,
2938 #[doc = " A list of compatible Platforms"]
2939 pub CompatiblePlatforms: *mut *const ::std::os::raw::c_char,
2940 #[doc = " Release note for compatible versions"]
2941 pub ReleaseNote: *const ::std::os::raw::c_char,
2942}
2943impl Default for _tagEOS_Ecom_CatalogRelease {
2944 fn default() -> Self {
2945 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2946 unsafe {
2947 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2948 s.assume_init()
2949 }
2950 }
2951}
2952#[doc = " Contains information about a single release within the catalog. Instances of this structure are\n created by EOS_Ecom_CopyItemReleaseByIndex. They must be passed to EOS_Ecom_CatalogRelease_Release."]
2953pub type EOS_Ecom_CatalogRelease = _tagEOS_Ecom_CatalogRelease;
2954unsafe extern "C" {
2955 #[doc = " Release the memory associated with an EOS_Ecom_CatalogRelease structure. This must be called on\n data retrieved from EOS_Ecom_CopyItemReleaseByIndex.\n\n @param CatalogRelease - The catalog release structure to be released\n\n @see EOS_Ecom_CatalogRelease\n @see EOS_Ecom_CopyItemReleaseByIndex"]
2956 pub fn EOS_Ecom_CatalogRelease_Release(CatalogRelease: *mut EOS_Ecom_CatalogRelease);
2957}
2958#[doc = " Contains information about a request to purchase a single offer. This structure is set as part\n of the EOS_Ecom_CheckoutOptions structure."]
2959#[repr(C)]
2960#[derive(Debug, Copy, Clone)]
2961pub struct _tagEOS_Ecom_CheckoutEntry {
2962 #[doc = " API Version: Set this to EOS_ECOM_CHECKOUTENTRY_API_LATEST."]
2963 pub ApiVersion: i32,
2964 #[doc = " The ID of the offer to purchase"]
2965 pub OfferId: EOS_Ecom_CatalogOfferId,
2966}
2967impl Default for _tagEOS_Ecom_CheckoutEntry {
2968 fn default() -> Self {
2969 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2970 unsafe {
2971 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2972 s.assume_init()
2973 }
2974 }
2975}
2976#[doc = " Contains information about a request to purchase a single offer. This structure is set as part\n of the EOS_Ecom_CheckoutOptions structure."]
2977pub type EOS_Ecom_CheckoutEntry = _tagEOS_Ecom_CheckoutEntry;
2978#[doc = " Input parameters for the EOS_Ecom_QueryOwnership function."]
2979#[repr(C)]
2980#[derive(Debug, Copy, Clone)]
2981pub struct _tagEOS_Ecom_QueryOwnershipOptions {
2982 #[doc = " API Version: Set this to EOS_ECOM_QUERYOWNERSHIP_API_LATEST."]
2983 pub ApiVersion: i32,
2984 #[doc = " The Epic Account ID of the local user whose ownership to query"]
2985 pub LocalUserId: EOS_EpicAccountId,
2986 #[doc = " The array of Catalog Item IDs to check for ownership"]
2987 pub CatalogItemIds: *mut EOS_Ecom_CatalogItemId,
2988 #[doc = " The number of Catalog Item IDs to in the array"]
2989 pub CatalogItemIdCount: u32,
2990 #[doc = " Optional product namespace, if not the one specified during initialization"]
2991 pub CatalogNamespace: *const ::std::os::raw::c_char,
2992}
2993impl Default for _tagEOS_Ecom_QueryOwnershipOptions {
2994 fn default() -> Self {
2995 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2996 unsafe {
2997 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2998 s.assume_init()
2999 }
3000 }
3001}
3002#[doc = " Input parameters for the EOS_Ecom_QueryOwnership function."]
3003pub type EOS_Ecom_QueryOwnershipOptions = _tagEOS_Ecom_QueryOwnershipOptions;
3004#[doc = " Output parameters for the EOS_Ecom_QueryOwnership Function."]
3005#[repr(C)]
3006#[derive(Debug, Copy, Clone)]
3007pub struct _tagEOS_Ecom_QueryOwnershipCallbackInfo {
3008 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
3009 pub ResultCode: EOS_EResult,
3010 #[doc = " Context that was passed into EOS_Ecom_QueryOwnership"]
3011 pub ClientData: *mut ::std::os::raw::c_void,
3012 #[doc = " The Epic Account ID of the local user whose ownership was queried"]
3013 pub LocalUserId: EOS_EpicAccountId,
3014 #[doc = " List of catalog items and their ownership status"]
3015 pub ItemOwnership: *const EOS_Ecom_ItemOwnership,
3016 #[doc = " Number of ownership results are included in this callback"]
3017 pub ItemOwnershipCount: u32,
3018}
3019impl Default for _tagEOS_Ecom_QueryOwnershipCallbackInfo {
3020 fn default() -> Self {
3021 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3022 unsafe {
3023 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3024 s.assume_init()
3025 }
3026 }
3027}
3028#[doc = " Output parameters for the EOS_Ecom_QueryOwnership Function."]
3029pub type EOS_Ecom_QueryOwnershipCallbackInfo = _tagEOS_Ecom_QueryOwnershipCallbackInfo;
3030#[doc = " Function prototype definition for callbacks passed to EOS_Ecom_QueryOwnership\n @param Data A EOS_Ecom_QueryOwnershipCallbackInfo containing the output information and result"]
3031pub type EOS_Ecom_OnQueryOwnershipCallback =
3032 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Ecom_QueryOwnershipCallbackInfo)>;
3033#[doc = " Input parameters for the EOS_Ecom_QueryOwnershipBySandboxIds function."]
3034#[repr(C)]
3035#[derive(Debug, Copy, Clone)]
3036pub struct _tagEOS_Ecom_QueryOwnershipBySandboxIdsOptions {
3037 #[doc = " API Version: Set this to EOS_ECOM_QUERYOWNERSHIPBYSANDBOXIDSOPTIONS_API_LATEST."]
3038 pub ApiVersion: i32,
3039 #[doc = " The Epic Account ID of the local user whose ownership to query."]
3040 pub LocalUserId: EOS_EpicAccountId,
3041 #[doc = " The array of Sandbox IDs to check for ownership."]
3042 pub SandboxIds: *mut EOS_Ecom_SandboxId,
3043 #[doc = " The number of Sandbox IDs in the query."]
3044 pub SandboxIdsCount: u32,
3045}
3046impl Default for _tagEOS_Ecom_QueryOwnershipBySandboxIdsOptions {
3047 fn default() -> Self {
3048 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3049 unsafe {
3050 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3051 s.assume_init()
3052 }
3053 }
3054}
3055#[doc = " Input parameters for the EOS_Ecom_QueryOwnershipBySandboxIds function."]
3056pub type EOS_Ecom_QueryOwnershipBySandboxIdsOptions =
3057 _tagEOS_Ecom_QueryOwnershipBySandboxIdsOptions;
3058#[doc = " Contains all owned catalog items for a sandbox ID. This structure is\n returned as part of the EOS_Ecom_QueryOwnershipBySandboxIdsCallbackInfo structure.\n Note: The SandboxID and CatalogItemId strings will not remain valid after EOS_Ecom_OnQueryOwnershipBySandboxIdsCallback, so a copy should be as needed."]
3059#[repr(C)]
3060#[derive(Debug, Copy, Clone)]
3061pub struct _tagEOS_Ecom_SandboxIdItemOwnership {
3062 #[doc = " SandboxId"]
3063 pub SandboxId: EOS_Ecom_SandboxId,
3064 #[doc = " List of all owned catalog items for this SandboxId"]
3065 pub OwnedCatalogItemIds: *const EOS_Ecom_CatalogItemId,
3066 #[doc = " Number of owned catalog items for this SandboxId"]
3067 pub OwnedCatalogItemIdsCount: u32,
3068}
3069impl Default for _tagEOS_Ecom_SandboxIdItemOwnership {
3070 fn default() -> Self {
3071 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3072 unsafe {
3073 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3074 s.assume_init()
3075 }
3076 }
3077}
3078#[doc = " Contains all owned catalog items for a sandbox ID. This structure is\n returned as part of the EOS_Ecom_QueryOwnershipBySandboxIdsCallbackInfo structure.\n Note: The SandboxID and CatalogItemId strings will not remain valid after EOS_Ecom_OnQueryOwnershipBySandboxIdsCallback, so a copy should be as needed."]
3079pub type EOS_Ecom_SandboxIdItemOwnership = _tagEOS_Ecom_SandboxIdItemOwnership;
3080#[doc = " Output parameters for the EOS_Ecom_QueryOwnershipBySandboxIds Function."]
3081#[repr(C)]
3082#[derive(Debug, Copy, Clone)]
3083pub struct _tagEOS_Ecom_QueryOwnershipBySandboxIdsCallbackInfo {
3084 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
3085 pub ResultCode: EOS_EResult,
3086 #[doc = " Context that was passed into EOS_Ecom_QueryOwnership"]
3087 pub ClientData: *mut ::std::os::raw::c_void,
3088 #[doc = " The Epic Account ID of the local user whose ownership was queried"]
3089 pub LocalUserId: EOS_EpicAccountId,
3090 #[doc = " List of SandboxIds and their corresponding owned catalog item Ids. If there are no ownership items, the OwnedCatalogItemIdsCount is 0 and OwnedCatalogItemIds is null."]
3091 pub SandboxIdItemOwnerships: *const EOS_Ecom_SandboxIdItemOwnership,
3092 #[doc = " Number of ownership results are included in this callback"]
3093 pub SandboxIdItemOwnershipsCount: u32,
3094}
3095impl Default for _tagEOS_Ecom_QueryOwnershipBySandboxIdsCallbackInfo {
3096 fn default() -> Self {
3097 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3098 unsafe {
3099 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3100 s.assume_init()
3101 }
3102 }
3103}
3104#[doc = " Output parameters for the EOS_Ecom_QueryOwnershipBySandboxIds Function."]
3105pub type EOS_Ecom_QueryOwnershipBySandboxIdsCallbackInfo =
3106 _tagEOS_Ecom_QueryOwnershipBySandboxIdsCallbackInfo;
3107#[doc = " Function prototype definition for callbacks passed to EOS_Ecom_QueryOwnershipBySandboxIds\n @param Data A EOS_Ecom_QueryOwnershipBySandboxIdsCallbackInfo containing the output information and result"]
3108pub type EOS_Ecom_OnQueryOwnershipBySandboxIdsCallback = ::std::option::Option<
3109 unsafe extern "C" fn(Data: *const EOS_Ecom_QueryOwnershipBySandboxIdsCallbackInfo),
3110>;
3111#[doc = " Input parameters for the EOS_Ecom_QueryOwnershipToken function."]
3112#[repr(C)]
3113#[derive(Debug, Copy, Clone)]
3114pub struct _tagEOS_Ecom_QueryOwnershipTokenOptions {
3115 #[doc = " API Version: Set this to EOS_ECOM_QUERYOWNERSHIPTOKEN_API_LATEST."]
3116 pub ApiVersion: i32,
3117 #[doc = " The Epic Account ID of the local user whose ownership token you want to query"]
3118 pub LocalUserId: EOS_EpicAccountId,
3119 #[doc = " The array of Catalog Item IDs to check for ownership, matching in number to the CatalogItemIdCount"]
3120 pub CatalogItemIds: *mut EOS_Ecom_CatalogItemId,
3121 #[doc = " The number of catalog item IDs to query"]
3122 pub CatalogItemIdCount: u32,
3123 #[doc = " Optional product namespace, if not the one specified during initialization"]
3124 pub CatalogNamespace: *const ::std::os::raw::c_char,
3125}
3126impl Default for _tagEOS_Ecom_QueryOwnershipTokenOptions {
3127 fn default() -> Self {
3128 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3129 unsafe {
3130 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3131 s.assume_init()
3132 }
3133 }
3134}
3135#[doc = " Input parameters for the EOS_Ecom_QueryOwnershipToken function."]
3136pub type EOS_Ecom_QueryOwnershipTokenOptions = _tagEOS_Ecom_QueryOwnershipTokenOptions;
3137#[doc = " Output parameters for the EOS_Ecom_QueryOwnershipToken Function."]
3138#[repr(C)]
3139#[derive(Debug, Copy, Clone)]
3140pub struct _tagEOS_Ecom_QueryOwnershipTokenCallbackInfo {
3141 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
3142 pub ResultCode: EOS_EResult,
3143 #[doc = " Context that was passed into EOS_Ecom_QueryOwnershipToken"]
3144 pub ClientData: *mut ::std::os::raw::c_void,
3145 #[doc = " The Epic Account ID of the local user whose ownership token was queried"]
3146 pub LocalUserId: EOS_EpicAccountId,
3147 #[doc = " Ownership token containing details about the catalog items queried"]
3148 pub OwnershipToken: *const ::std::os::raw::c_char,
3149}
3150impl Default for _tagEOS_Ecom_QueryOwnershipTokenCallbackInfo {
3151 fn default() -> Self {
3152 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3153 unsafe {
3154 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3155 s.assume_init()
3156 }
3157 }
3158}
3159#[doc = " Output parameters for the EOS_Ecom_QueryOwnershipToken Function."]
3160pub type EOS_Ecom_QueryOwnershipTokenCallbackInfo = _tagEOS_Ecom_QueryOwnershipTokenCallbackInfo;
3161#[doc = " Function prototype definition for callbacks passed to EOS_Ecom_QueryOwnershipToken\n @param Data A EOS_Ecom_QueryOwnershipTokenCallbackInfo containing the output information and result"]
3162pub type EOS_Ecom_OnQueryOwnershipTokenCallback = ::std::option::Option<
3163 unsafe extern "C" fn(Data: *const EOS_Ecom_QueryOwnershipTokenCallbackInfo),
3164>;
3165#[doc = " Input parameters for the EOS_Ecom_QueryEntitlements function."]
3166#[repr(C)]
3167#[derive(Debug, Copy, Clone)]
3168pub struct _tagEOS_Ecom_QueryEntitlementsOptions {
3169 #[doc = " API Version: Set this to EOS_ECOM_QUERYENTITLEMENTS_API_LATEST."]
3170 pub ApiVersion: i32,
3171 #[doc = " The Epic Account ID of the local user whose Entitlements you want to retrieve"]
3172 pub LocalUserId: EOS_EpicAccountId,
3173 #[doc = " An array of Entitlement Names that you want to check"]
3174 pub EntitlementNames: *mut EOS_Ecom_EntitlementName,
3175 #[doc = " The number of Entitlement Names included in the array, up to EOS_ECOM_QUERYENTITLEMENTS_MAX_ENTITLEMENT_IDS; use zero to request all Entitlements associated with the user's Epic Online Services account."]
3176 pub EntitlementNameCount: u32,
3177 #[doc = " If true, Entitlements that have been redeemed will be included in the results."]
3178 pub bIncludeRedeemed: EOS_Bool,
3179 #[doc = " If not provided then the SandboxId is used as the catalog namespace"]
3180 pub OverrideCatalogNamespace: *const ::std::os::raw::c_char,
3181}
3182impl Default for _tagEOS_Ecom_QueryEntitlementsOptions {
3183 fn default() -> Self {
3184 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3185 unsafe {
3186 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3187 s.assume_init()
3188 }
3189 }
3190}
3191#[doc = " Input parameters for the EOS_Ecom_QueryEntitlements function."]
3192pub type EOS_Ecom_QueryEntitlementsOptions = _tagEOS_Ecom_QueryEntitlementsOptions;
3193#[doc = " Output parameters for the EOS_Ecom_QueryEntitlements Function."]
3194#[repr(C)]
3195#[derive(Debug, Copy, Clone)]
3196pub struct _tagEOS_Ecom_QueryEntitlementsCallbackInfo {
3197 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
3198 pub ResultCode: EOS_EResult,
3199 #[doc = " Context that was passed into EOS_Ecom_QueryEntitlements"]
3200 pub ClientData: *mut ::std::os::raw::c_void,
3201 #[doc = " The Epic Account ID of the local user whose entitlement was queried"]
3202 pub LocalUserId: EOS_EpicAccountId,
3203}
3204impl Default for _tagEOS_Ecom_QueryEntitlementsCallbackInfo {
3205 fn default() -> Self {
3206 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3207 unsafe {
3208 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3209 s.assume_init()
3210 }
3211 }
3212}
3213#[doc = " Output parameters for the EOS_Ecom_QueryEntitlements Function."]
3214pub type EOS_Ecom_QueryEntitlementsCallbackInfo = _tagEOS_Ecom_QueryEntitlementsCallbackInfo;
3215#[doc = " Function prototype definition for callbacks passed to EOS_Ecom_QueryOwnershipToken\n @param Data A EOS_Ecom_QueryEntitlementsCallbackInfo containing the output information and result"]
3216pub type EOS_Ecom_OnQueryEntitlementsCallback = ::std::option::Option<
3217 unsafe extern "C" fn(Data: *const EOS_Ecom_QueryEntitlementsCallbackInfo),
3218>;
3219#[doc = " Input parameters for the EOS_Ecom_QueryEntitlementToken function."]
3220#[repr(C)]
3221#[derive(Debug, Copy, Clone)]
3222pub struct _tagEOS_Ecom_QueryEntitlementTokenOptions {
3223 #[doc = " API Version: Set this to EOS_ECOM_QUERYENTITLEMENTTOKEN_API_LATEST."]
3224 pub ApiVersion: i32,
3225 #[doc = " The Epic Account ID of the local user whose Entitlements you want to retrieve"]
3226 pub LocalUserId: EOS_EpicAccountId,
3227 #[doc = " An array of Entitlement Names that you want to check"]
3228 pub EntitlementNames: *mut EOS_Ecom_EntitlementName,
3229 #[doc = " The number of Entitlement Names included in the array, up to EOS_ECOM_QUERYENTITLEMENTTOKEN_MAX_ENTITLEMENT_IDS; use zero to request all Entitlements associated with the user's Epic Online Services account."]
3230 pub EntitlementNameCount: u32,
3231}
3232impl Default for _tagEOS_Ecom_QueryEntitlementTokenOptions {
3233 fn default() -> Self {
3234 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3235 unsafe {
3236 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3237 s.assume_init()
3238 }
3239 }
3240}
3241#[doc = " Input parameters for the EOS_Ecom_QueryEntitlementToken function."]
3242pub type EOS_Ecom_QueryEntitlementTokenOptions = _tagEOS_Ecom_QueryEntitlementTokenOptions;
3243#[doc = " Output parameters for the EOS_Ecom_QueryEntitlementToken Function."]
3244#[repr(C)]
3245#[derive(Debug, Copy, Clone)]
3246pub struct _tagEOS_Ecom_QueryEntitlementTokenCallbackInfo {
3247 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
3248 pub ResultCode: EOS_EResult,
3249 #[doc = " Context that was passed into EOS_Ecom_QueryEntitlementToken"]
3250 pub ClientData: *mut ::std::os::raw::c_void,
3251 #[doc = " The Epic Account ID of the local user whose entitlement was queried"]
3252 pub LocalUserId: EOS_EpicAccountId,
3253 #[doc = " Entitlements token containing details about the catalog items queried"]
3254 pub EntitlementToken: *const ::std::os::raw::c_char,
3255}
3256impl Default for _tagEOS_Ecom_QueryEntitlementTokenCallbackInfo {
3257 fn default() -> Self {
3258 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3259 unsafe {
3260 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3261 s.assume_init()
3262 }
3263 }
3264}
3265#[doc = " Output parameters for the EOS_Ecom_QueryEntitlementToken Function."]
3266pub type EOS_Ecom_QueryEntitlementTokenCallbackInfo =
3267 _tagEOS_Ecom_QueryEntitlementTokenCallbackInfo;
3268#[doc = " Function prototype definition for callbacks passed to EOS_Ecom_QueryEntitlementToken.\n @param Data A EOS_Ecom_QueryEntitlementTokenCallbackInfo containing the output information and result."]
3269pub type EOS_Ecom_OnQueryEntitlementTokenCallback = ::std::option::Option<
3270 unsafe extern "C" fn(Data: *const EOS_Ecom_QueryEntitlementTokenCallbackInfo),
3271>;
3272#[doc = " Input parameters for the EOS_Ecom_QueryOffers function."]
3273#[repr(C)]
3274#[derive(Debug, Copy, Clone)]
3275pub struct _tagEOS_Ecom_QueryOffersOptions {
3276 #[doc = " API Version: Set this to EOS_ECOM_QUERYOFFERS_API_LATEST."]
3277 pub ApiVersion: i32,
3278 #[doc = " The Epic Account ID of the local user whose offer to query"]
3279 pub LocalUserId: EOS_EpicAccountId,
3280 #[doc = " If not provided then the SandboxId is used as the catalog namespace"]
3281 pub OverrideCatalogNamespace: *const ::std::os::raw::c_char,
3282}
3283impl Default for _tagEOS_Ecom_QueryOffersOptions {
3284 fn default() -> Self {
3285 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3286 unsafe {
3287 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3288 s.assume_init()
3289 }
3290 }
3291}
3292#[doc = " Input parameters for the EOS_Ecom_QueryOffers function."]
3293pub type EOS_Ecom_QueryOffersOptions = _tagEOS_Ecom_QueryOffersOptions;
3294#[doc = " Output parameters for the EOS_Ecom_QueryOffers Function."]
3295#[repr(C)]
3296#[derive(Debug, Copy, Clone)]
3297pub struct _tagEOS_Ecom_QueryOffersCallbackInfo {
3298 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
3299 pub ResultCode: EOS_EResult,
3300 #[doc = " Context that was passed into EOS_Ecom_QueryOffers"]
3301 pub ClientData: *mut ::std::os::raw::c_void,
3302 #[doc = " The Epic Account ID of the local user whose offer was queried; needed for localization of Catalog Item (Item) description text and pricing information"]
3303 pub LocalUserId: EOS_EpicAccountId,
3304}
3305impl Default for _tagEOS_Ecom_QueryOffersCallbackInfo {
3306 fn default() -> Self {
3307 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3308 unsafe {
3309 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3310 s.assume_init()
3311 }
3312 }
3313}
3314#[doc = " Output parameters for the EOS_Ecom_QueryOffers Function."]
3315pub type EOS_Ecom_QueryOffersCallbackInfo = _tagEOS_Ecom_QueryOffersCallbackInfo;
3316#[doc = " Function prototype definition for callbacks passed to EOS_Ecom_QueryOffers. When one or more cached offers have an invalid price, the callback returns the result code EOS_EResult::EOS_Ecom_CatalogOfferPriceInvalid.\n @param Data A EOS_Ecom_QueryOffersCallbackInfo containing the output information and result"]
3317pub type EOS_Ecom_OnQueryOffersCallback =
3318 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Ecom_QueryOffersCallbackInfo)>;
3319#[doc = " Input parameters for the EOS_Ecom_Checkout function."]
3320#[repr(C)]
3321#[derive(Debug, Copy, Clone)]
3322pub struct _tagEOS_Ecom_CheckoutOptions {
3323 #[doc = " API Version: Set this to EOS_ECOM_CHECKOUT_API_LATEST."]
3324 pub ApiVersion: i32,
3325 #[doc = " The Epic Account ID of the local user who is making the purchase"]
3326 pub LocalUserId: EOS_EpicAccountId,
3327 #[doc = " The catalog namespace will be the current Sandbox ID (in EOS_Platform_Options) unless overridden by this field"]
3328 pub OverrideCatalogNamespace: *const ::std::os::raw::c_char,
3329 #[doc = " The number of EOS_Ecom_CheckoutEntry elements contained in Entries"]
3330 pub EntryCount: u32,
3331 #[doc = " An array of EOS_Ecom_CheckoutEntry elements, each containing the details of a single offer"]
3332 pub Entries: *const EOS_Ecom_CheckoutEntry,
3333 #[doc = " Preferred device orientation, specifies Default, Portrait or Landscape.\n This is used only on mobile platforms currently.\n SDK can use it to optimize how the Checkout page should be displayed.\n Please check the mobile SDK documentation for additional required setup."]
3334 pub PreferredOrientation: EOS_ECheckoutOrientation,
3335}
3336impl Default for _tagEOS_Ecom_CheckoutOptions {
3337 fn default() -> Self {
3338 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3339 unsafe {
3340 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3341 s.assume_init()
3342 }
3343 }
3344}
3345#[doc = " Input parameters for the EOS_Ecom_Checkout function."]
3346pub type EOS_Ecom_CheckoutOptions = _tagEOS_Ecom_CheckoutOptions;
3347#[doc = " Output parameters for the EOS_Ecom_Checkout Function."]
3348#[repr(C)]
3349#[derive(Debug, Copy, Clone)]
3350pub struct _tagEOS_Ecom_CheckoutCallbackInfo {
3351 #[doc = " Result code for the operation. EOS_Success is returned for a successful request, otherwise one of the error codes is returned. See eos_common.h"]
3352 pub ResultCode: EOS_EResult,
3353 #[doc = " Context that was passed into EOS_Ecom_Checkout"]
3354 pub ClientData: *mut ::std::os::raw::c_void,
3355 #[doc = " The Epic Account ID of the user who initiated the purchase"]
3356 pub LocalUserId: EOS_EpicAccountId,
3357 #[doc = " The transaction ID which can be used to obtain an EOS_Ecom_HTransaction using EOS_Ecom_CopyTransactionById."]
3358 pub TransactionId: *const ::std::os::raw::c_char,
3359}
3360impl Default for _tagEOS_Ecom_CheckoutCallbackInfo {
3361 fn default() -> Self {
3362 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3363 unsafe {
3364 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3365 s.assume_init()
3366 }
3367 }
3368}
3369#[doc = " Output parameters for the EOS_Ecom_Checkout Function."]
3370pub type EOS_Ecom_CheckoutCallbackInfo = _tagEOS_Ecom_CheckoutCallbackInfo;
3371#[doc = " Function prototype definition for callbacks passed to EOS_Ecom_Checkout\n @param Data A EOS_Ecom_CheckoutCallbackInfo containing the output information and result"]
3372pub type EOS_Ecom_OnCheckoutCallback =
3373 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Ecom_CheckoutCallbackInfo)>;
3374#[doc = " Input parameters for the EOS_Ecom_RedeemEntitlements function."]
3375#[repr(C)]
3376#[derive(Debug, Copy, Clone)]
3377pub struct _tagEOS_Ecom_RedeemEntitlementsOptions {
3378 #[doc = " API Version: Set this to EOS_ECOM_REDEEMENTITLEMENTS_API_LATEST."]
3379 pub ApiVersion: i32,
3380 #[doc = " The Epic Account ID of the user who is redeeming Entitlements"]
3381 pub LocalUserId: EOS_EpicAccountId,
3382 #[doc = " The number of Entitlements to redeem"]
3383 pub EntitlementIdCount: u32,
3384 #[doc = " The array of Entitlements to redeem"]
3385 pub EntitlementIds: *mut EOS_Ecom_EntitlementId,
3386}
3387impl Default for _tagEOS_Ecom_RedeemEntitlementsOptions {
3388 fn default() -> Self {
3389 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3390 unsafe {
3391 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3392 s.assume_init()
3393 }
3394 }
3395}
3396#[doc = " Input parameters for the EOS_Ecom_RedeemEntitlements function."]
3397pub type EOS_Ecom_RedeemEntitlementsOptions = _tagEOS_Ecom_RedeemEntitlementsOptions;
3398#[doc = " Output parameters for the EOS_Ecom_RedeemEntitlements Function."]
3399#[repr(C)]
3400#[derive(Debug, Copy, Clone)]
3401pub struct _tagEOS_Ecom_RedeemEntitlementsCallbackInfo {
3402 #[doc = " Result code for the operation. EOS_Success is returned for a successful request, otherwise one of the error codes is returned. See eos_common.h"]
3403 pub ResultCode: EOS_EResult,
3404 #[doc = " Context that was passed into EOS_Ecom_RedeemEntitlements"]
3405 pub ClientData: *mut ::std::os::raw::c_void,
3406 #[doc = " The Epic Account ID of the user who has redeemed entitlements"]
3407 pub LocalUserId: EOS_EpicAccountId,
3408 pub RedeemedEntitlementIdsCount: u32,
3409 pub PreviouslyRedeemedEntitlementIdsCount: u32,
3410 pub InvalidEntitlementIdsCount: u32,
3411}
3412impl Default for _tagEOS_Ecom_RedeemEntitlementsCallbackInfo {
3413 fn default() -> Self {
3414 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3415 unsafe {
3416 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3417 s.assume_init()
3418 }
3419 }
3420}
3421#[doc = " Output parameters for the EOS_Ecom_RedeemEntitlements Function."]
3422pub type EOS_Ecom_RedeemEntitlementsCallbackInfo = _tagEOS_Ecom_RedeemEntitlementsCallbackInfo;
3423#[doc = " Function prototype definition for callbacks passed to EOS_Ecom_RedeemEntitlements\n @param Data A EOS_Ecom_RedeemEntitlementsCallbackInfo containing the output information and result"]
3424pub type EOS_Ecom_OnRedeemEntitlementsCallback = ::std::option::Option<
3425 unsafe extern "C" fn(Data: *const EOS_Ecom_RedeemEntitlementsCallbackInfo),
3426>;
3427#[doc = " Input parameters for the EOS_Ecom_GetLastRedeemedEntitlementsCount function."]
3428#[repr(C)]
3429#[derive(Debug, Copy, Clone)]
3430pub struct _tagEOS_Ecom_GetLastRedeemedEntitlementsCountOptions {
3431 #[doc = " API Version: Set this to EOS_ECOM_GETLASTREDEEMEDENTITLEMENTSCOUNT_API_LATEST."]
3432 pub ApiVersion: i32,
3433 #[doc = " The Epic Account ID of the local user for who to retrieve the last redeemed entitlements count"]
3434 pub LocalUserId: EOS_EpicAccountId,
3435}
3436impl Default for _tagEOS_Ecom_GetLastRedeemedEntitlementsCountOptions {
3437 fn default() -> Self {
3438 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3439 unsafe {
3440 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3441 s.assume_init()
3442 }
3443 }
3444}
3445#[doc = " Input parameters for the EOS_Ecom_GetLastRedeemedEntitlementsCount function."]
3446pub type EOS_Ecom_GetLastRedeemedEntitlementsCountOptions =
3447 _tagEOS_Ecom_GetLastRedeemedEntitlementsCountOptions;
3448#[doc = " Input parameters for the EOS_Ecom_CopyLastRedeemedEntitlementByIndex function."]
3449#[repr(C)]
3450#[derive(Debug, Copy, Clone)]
3451pub struct _tagEOS_Ecom_CopyLastRedeemedEntitlementByIndexOptions {
3452 #[doc = " API Version: Set this to EOS_ECOM_COPYLASTREDEEMEDENTITLEMENTBYINDEX_API_LATEST."]
3453 pub ApiVersion: i32,
3454 #[doc = " The Epic Account ID of the local user whose last redeemed entitlement id is being copied"]
3455 pub LocalUserId: EOS_EpicAccountId,
3456 #[doc = " Index of the last redeemed entitlement id to retrieve from the cache"]
3457 pub RedeemedEntitlementIndex: u32,
3458}
3459impl Default for _tagEOS_Ecom_CopyLastRedeemedEntitlementByIndexOptions {
3460 fn default() -> Self {
3461 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3462 unsafe {
3463 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3464 s.assume_init()
3465 }
3466 }
3467}
3468#[doc = " Input parameters for the EOS_Ecom_CopyLastRedeemedEntitlementByIndex function."]
3469pub type EOS_Ecom_CopyLastRedeemedEntitlementByIndexOptions =
3470 _tagEOS_Ecom_CopyLastRedeemedEntitlementByIndexOptions;
3471#[doc = " List of entitlements in the Redeem Entitlements result that were redeemed."]
3472pub const EOS_ERedeemEntitlementsResultListType_EOS_ERERLT_Redeemed:
3473 EOS_ERedeemEntitlementsResultListType = 0;
3474#[doc = " List of entitlements in the Redeem Entitlements result that were previously redeemed."]
3475pub const EOS_ERedeemEntitlementsResultListType_EOS_ERERLT_PreviouslyRedeemed:
3476 EOS_ERedeemEntitlementsResultListType = 1;
3477#[doc = " List of entitlements in the Redeem Entitlements result that are invalid."]
3478pub const EOS_ERedeemEntitlementsResultListType_EOS_ERERLT_Invalid:
3479 EOS_ERedeemEntitlementsResultListType = 2;
3480pub const EOS_ERedeemEntitlementsResultListType___EOS_ERedeemEntitlementsResultListType_PAD_INT32__ : EOS_ERedeemEntitlementsResultListType = 2147483647 ;
3481#[doc = " An enumeration defining the different entitlement list types in the Redeem Entitlements result."]
3482pub type EOS_ERedeemEntitlementsResultListType = ::std::os::raw::c_int;
3483#[doc = " Input parameters for the EOS_Ecom_GetLastRedeemEntitlementsResultCount function."]
3484#[repr(C)]
3485#[derive(Debug, Copy, Clone)]
3486pub struct _tagEOS_Ecom_GetLastRedeemEntitlementsResultCountOptions {
3487 #[doc = " API Version: Set this to EOS_ECOM_GETLASTREDEEMENTITLEMENTSRESULTCOUNT_API_LATEST."]
3488 pub ApiVersion: i32,
3489 #[doc = " The Epic Account ID of the local user for who to retrieve the last redeemed entitlements count"]
3490 pub LocalUserId: EOS_EpicAccountId,
3491 #[doc = " The Redeem Entitlements Result Type."]
3492 pub ResultType: EOS_ERedeemEntitlementsResultListType,
3493}
3494impl Default for _tagEOS_Ecom_GetLastRedeemEntitlementsResultCountOptions {
3495 fn default() -> Self {
3496 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3497 unsafe {
3498 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3499 s.assume_init()
3500 }
3501 }
3502}
3503#[doc = " Input parameters for the EOS_Ecom_GetLastRedeemEntitlementsResultCount function."]
3504pub type EOS_Ecom_GetLastRedeemEntitlementsResultCountOptions =
3505 _tagEOS_Ecom_GetLastRedeemEntitlementsResultCountOptions;
3506#[doc = " Input parameters for the EOS_Ecom_CopyLastRedeemEntitlementsResultByIndex function."]
3507#[repr(C)]
3508#[derive(Debug, Copy, Clone)]
3509pub struct _tagEOS_Ecom_CopyLastRedeemEntitlementsResultByIndexOptions {
3510 #[doc = " API Version: Set this to EOS_ECOM_COPYLASTREDEEMENTITLEMENTSRESULTBYINDEX_API_LATEST."]
3511 pub ApiVersion: i32,
3512 #[doc = " The Epic Account ID of the local user whose last redeemed entitlement id is being copied"]
3513 pub LocalUserId: EOS_EpicAccountId,
3514 #[doc = " Index of the entitlement of the given result type."]
3515 pub EntitlementIndex: u32,
3516 #[doc = " The Redeem Entitlements Result Type."]
3517 pub ResultType: EOS_ERedeemEntitlementsResultListType,
3518}
3519impl Default for _tagEOS_Ecom_CopyLastRedeemEntitlementsResultByIndexOptions {
3520 fn default() -> Self {
3521 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3522 unsafe {
3523 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3524 s.assume_init()
3525 }
3526 }
3527}
3528#[doc = " Input parameters for the EOS_Ecom_CopyLastRedeemEntitlementsResultByIndex function."]
3529pub type EOS_Ecom_CopyLastRedeemEntitlementsResultByIndexOptions =
3530 _tagEOS_Ecom_CopyLastRedeemEntitlementsResultByIndexOptions;
3531#[doc = " Input parameters for the EOS_Ecom_GetEntitlementsCount function."]
3532#[repr(C)]
3533#[derive(Debug, Copy, Clone)]
3534pub struct _tagEOS_Ecom_GetEntitlementsCountOptions {
3535 #[doc = " API Version: Set this to EOS_ECOM_GETENTITLEMENTSCOUNT_API_LATEST."]
3536 pub ApiVersion: i32,
3537 #[doc = " The Epic Account ID of the local user for which to retrieve the entitlement count"]
3538 pub LocalUserId: EOS_EpicAccountId,
3539}
3540impl Default for _tagEOS_Ecom_GetEntitlementsCountOptions {
3541 fn default() -> Self {
3542 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3543 unsafe {
3544 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3545 s.assume_init()
3546 }
3547 }
3548}
3549#[doc = " Input parameters for the EOS_Ecom_GetEntitlementsCount function."]
3550pub type EOS_Ecom_GetEntitlementsCountOptions = _tagEOS_Ecom_GetEntitlementsCountOptions;
3551#[doc = " Input parameters for the EOS_Ecom_GetEntitlementsByNameCount function."]
3552#[repr(C)]
3553#[derive(Debug, Copy, Clone)]
3554pub struct _tagEOS_Ecom_GetEntitlementsByNameCountOptions {
3555 #[doc = " API Version: Set this to EOS_ECOM_GETENTITLEMENTSBYNAMECOUNT_API_LATEST."]
3556 pub ApiVersion: i32,
3557 #[doc = " The Epic Account ID of the local user for which to retrieve the entitlement count"]
3558 pub LocalUserId: EOS_EpicAccountId,
3559 #[doc = " Name of the entitlement to count in the cache"]
3560 pub EntitlementName: EOS_Ecom_EntitlementName,
3561}
3562impl Default for _tagEOS_Ecom_GetEntitlementsByNameCountOptions {
3563 fn default() -> Self {
3564 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3565 unsafe {
3566 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3567 s.assume_init()
3568 }
3569 }
3570}
3571#[doc = " Input parameters for the EOS_Ecom_GetEntitlementsByNameCount function."]
3572pub type EOS_Ecom_GetEntitlementsByNameCountOptions =
3573 _tagEOS_Ecom_GetEntitlementsByNameCountOptions;
3574#[doc = " Input parameters for the EOS_Ecom_CopyEntitlementByIndex function."]
3575#[repr(C)]
3576#[derive(Debug, Copy, Clone)]
3577pub struct _tagEOS_Ecom_CopyEntitlementByIndexOptions {
3578 #[doc = " API Version: Set this to EOS_ECOM_COPYENTITLEMENTBYINDEX_API_LATEST."]
3579 pub ApiVersion: i32,
3580 #[doc = " The Epic Account ID of the local user whose entitlement is being copied"]
3581 pub LocalUserId: EOS_EpicAccountId,
3582 #[doc = " Index of the entitlement to retrieve from the cache"]
3583 pub EntitlementIndex: u32,
3584}
3585impl Default for _tagEOS_Ecom_CopyEntitlementByIndexOptions {
3586 fn default() -> Self {
3587 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3588 unsafe {
3589 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3590 s.assume_init()
3591 }
3592 }
3593}
3594#[doc = " Input parameters for the EOS_Ecom_CopyEntitlementByIndex function."]
3595pub type EOS_Ecom_CopyEntitlementByIndexOptions = _tagEOS_Ecom_CopyEntitlementByIndexOptions;
3596#[doc = " Input parameters for the EOS_Ecom_CopyEntitlementByNameAndIndex function."]
3597#[repr(C)]
3598#[derive(Debug, Copy, Clone)]
3599pub struct _tagEOS_Ecom_CopyEntitlementByNameAndIndexOptions {
3600 #[doc = " API Version: Set this to EOS_ECOM_COPYENTITLEMENTBYNAMEANDINDEX_API_LATEST."]
3601 pub ApiVersion: i32,
3602 #[doc = " The Epic Account ID of the local user whose entitlement is being copied"]
3603 pub LocalUserId: EOS_EpicAccountId,
3604 #[doc = " Name of the entitlement to retrieve from the cache"]
3605 pub EntitlementName: EOS_Ecom_EntitlementName,
3606 #[doc = " Index of the entitlement within the named set to retrieve from the cache."]
3607 pub Index: u32,
3608}
3609impl Default for _tagEOS_Ecom_CopyEntitlementByNameAndIndexOptions {
3610 fn default() -> Self {
3611 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3612 unsafe {
3613 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3614 s.assume_init()
3615 }
3616 }
3617}
3618#[doc = " Input parameters for the EOS_Ecom_CopyEntitlementByNameAndIndex function."]
3619pub type EOS_Ecom_CopyEntitlementByNameAndIndexOptions =
3620 _tagEOS_Ecom_CopyEntitlementByNameAndIndexOptions;
3621#[doc = " Input parameters for the EOS_Ecom_CopyEntitlementById function."]
3622#[repr(C)]
3623#[derive(Debug, Copy, Clone)]
3624pub struct _tagEOS_Ecom_CopyEntitlementByIdOptions {
3625 #[doc = " API Version: Set this to EOS_ECOM_COPYENTITLEMENTBYID_API_LATEST."]
3626 pub ApiVersion: i32,
3627 #[doc = " The Epic Account ID of the local user whose entitlement is being copied"]
3628 pub LocalUserId: EOS_EpicAccountId,
3629 #[doc = " ID of the entitlement to retrieve from the cache"]
3630 pub EntitlementId: EOS_Ecom_EntitlementId,
3631}
3632impl Default for _tagEOS_Ecom_CopyEntitlementByIdOptions {
3633 fn default() -> Self {
3634 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3635 unsafe {
3636 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3637 s.assume_init()
3638 }
3639 }
3640}
3641#[doc = " Input parameters for the EOS_Ecom_CopyEntitlementById function."]
3642pub type EOS_Ecom_CopyEntitlementByIdOptions = _tagEOS_Ecom_CopyEntitlementByIdOptions;
3643#[doc = " Input parameters for the EOS_Ecom_GetOfferCount function."]
3644#[repr(C)]
3645#[derive(Debug, Copy, Clone)]
3646pub struct _tagEOS_Ecom_GetOfferCountOptions {
3647 #[doc = " API Version: Set this to EOS_ECOM_GETOFFERCOUNT_API_LATEST."]
3648 pub ApiVersion: i32,
3649 #[doc = " The Epic Account ID of the local user whose offers are being accessed"]
3650 pub LocalUserId: EOS_EpicAccountId,
3651}
3652impl Default for _tagEOS_Ecom_GetOfferCountOptions {
3653 fn default() -> Self {
3654 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3655 unsafe {
3656 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3657 s.assume_init()
3658 }
3659 }
3660}
3661#[doc = " Input parameters for the EOS_Ecom_GetOfferCount function."]
3662pub type EOS_Ecom_GetOfferCountOptions = _tagEOS_Ecom_GetOfferCountOptions;
3663#[doc = " Input parameters for the EOS_Ecom_CopyOfferByIndex function."]
3664#[repr(C)]
3665#[derive(Debug, Copy, Clone)]
3666pub struct _tagEOS_Ecom_CopyOfferByIndexOptions {
3667 #[doc = " API Version: Set this to EOS_ECOM_COPYOFFERBYINDEX_API_LATEST."]
3668 pub ApiVersion: i32,
3669 #[doc = " The Epic Account ID of the local user whose offer is being copied"]
3670 pub LocalUserId: EOS_EpicAccountId,
3671 #[doc = " The index of the offer to get."]
3672 pub OfferIndex: u32,
3673}
3674impl Default for _tagEOS_Ecom_CopyOfferByIndexOptions {
3675 fn default() -> Self {
3676 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3677 unsafe {
3678 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3679 s.assume_init()
3680 }
3681 }
3682}
3683#[doc = " Input parameters for the EOS_Ecom_CopyOfferByIndex function."]
3684pub type EOS_Ecom_CopyOfferByIndexOptions = _tagEOS_Ecom_CopyOfferByIndexOptions;
3685#[doc = " Input parameters for the EOS_Ecom_CopyOfferById function."]
3686#[repr(C)]
3687#[derive(Debug, Copy, Clone)]
3688pub struct _tagEOS_Ecom_CopyOfferByIdOptions {
3689 #[doc = " API Version: Set this to EOS_ECOM_COPYOFFERBYID_API_LATEST."]
3690 pub ApiVersion: i32,
3691 #[doc = " The Epic Account ID of the local user whose offer is being copied"]
3692 pub LocalUserId: EOS_EpicAccountId,
3693 #[doc = " The ID of the offer to get."]
3694 pub OfferId: EOS_Ecom_CatalogOfferId,
3695}
3696impl Default for _tagEOS_Ecom_CopyOfferByIdOptions {
3697 fn default() -> Self {
3698 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3699 unsafe {
3700 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3701 s.assume_init()
3702 }
3703 }
3704}
3705#[doc = " Input parameters for the EOS_Ecom_CopyOfferById function."]
3706pub type EOS_Ecom_CopyOfferByIdOptions = _tagEOS_Ecom_CopyOfferByIdOptions;
3707#[doc = " Input parameters for the EOS_Ecom_GetOfferItemCount function."]
3708#[repr(C)]
3709#[derive(Debug, Copy, Clone)]
3710pub struct _tagEOS_Ecom_GetOfferItemCountOptions {
3711 #[doc = " API Version: Set this to EOS_ECOM_GETOFFERITEMCOUNT_API_LATEST."]
3712 pub ApiVersion: i32,
3713 #[doc = " The Epic Account ID of the local user who made the initial request for the Catalog Offer through EOS_Ecom_QueryOffers"]
3714 pub LocalUserId: EOS_EpicAccountId,
3715 #[doc = " An ID that corresponds to a cached Catalog Offer (retrieved by EOS_Ecom_CopyOfferByIndex)"]
3716 pub OfferId: EOS_Ecom_CatalogOfferId,
3717}
3718impl Default for _tagEOS_Ecom_GetOfferItemCountOptions {
3719 fn default() -> Self {
3720 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3721 unsafe {
3722 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3723 s.assume_init()
3724 }
3725 }
3726}
3727#[doc = " Input parameters for the EOS_Ecom_GetOfferItemCount function."]
3728pub type EOS_Ecom_GetOfferItemCountOptions = _tagEOS_Ecom_GetOfferItemCountOptions;
3729#[doc = " Input parameters for the EOS_Ecom_CopyOfferItemByIndex function."]
3730#[repr(C)]
3731#[derive(Debug, Copy, Clone)]
3732pub struct _tagEOS_Ecom_CopyOfferItemByIndexOptions {
3733 #[doc = " API Version: Set this to EOS_ECOM_COPYOFFERITEMBYINDEX_API_LATEST."]
3734 pub ApiVersion: i32,
3735 #[doc = " The Epic Account ID of the local user whose item is being copied"]
3736 pub LocalUserId: EOS_EpicAccountId,
3737 #[doc = " The ID of the offer to get the items for."]
3738 pub OfferId: EOS_Ecom_CatalogOfferId,
3739 #[doc = " The index of the item to get."]
3740 pub ItemIndex: u32,
3741}
3742impl Default for _tagEOS_Ecom_CopyOfferItemByIndexOptions {
3743 fn default() -> Self {
3744 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3745 unsafe {
3746 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3747 s.assume_init()
3748 }
3749 }
3750}
3751#[doc = " Input parameters for the EOS_Ecom_CopyOfferItemByIndex function."]
3752pub type EOS_Ecom_CopyOfferItemByIndexOptions = _tagEOS_Ecom_CopyOfferItemByIndexOptions;
3753#[doc = " Input parameters for the EOS_Ecom_CopyItemById function."]
3754#[repr(C)]
3755#[derive(Debug, Copy, Clone)]
3756pub struct _tagEOS_Ecom_CopyItemByIdOptions {
3757 #[doc = " API Version: Set this to EOS_ECOM_COPYITEMBYID_API_LATEST."]
3758 pub ApiVersion: i32,
3759 #[doc = " The Epic Account ID of the local user whose item is being copied"]
3760 pub LocalUserId: EOS_EpicAccountId,
3761 #[doc = " The ID of the item to get."]
3762 pub ItemId: EOS_Ecom_CatalogItemId,
3763}
3764impl Default for _tagEOS_Ecom_CopyItemByIdOptions {
3765 fn default() -> Self {
3766 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3767 unsafe {
3768 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3769 s.assume_init()
3770 }
3771 }
3772}
3773#[doc = " Input parameters for the EOS_Ecom_CopyItemById function."]
3774pub type EOS_Ecom_CopyItemByIdOptions = _tagEOS_Ecom_CopyItemByIdOptions;
3775#[doc = " Input parameters for the EOS_Ecom_GetOfferImageInfoCount function."]
3776#[repr(C)]
3777#[derive(Debug, Copy, Clone)]
3778pub struct _tagEOS_Ecom_GetOfferImageInfoCountOptions {
3779 #[doc = " API Version: Set this to EOS_ECOM_GETOFFERIMAGEINFOCOUNT_API_LATEST."]
3780 pub ApiVersion: i32,
3781 #[doc = " The Epic Account ID of the local user whose offer image is being accessed."]
3782 pub LocalUserId: EOS_EpicAccountId,
3783 #[doc = " The ID of the offer to get the images for."]
3784 pub OfferId: EOS_Ecom_CatalogOfferId,
3785}
3786impl Default for _tagEOS_Ecom_GetOfferImageInfoCountOptions {
3787 fn default() -> Self {
3788 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3789 unsafe {
3790 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3791 s.assume_init()
3792 }
3793 }
3794}
3795#[doc = " Input parameters for the EOS_Ecom_GetOfferImageInfoCount function."]
3796pub type EOS_Ecom_GetOfferImageInfoCountOptions = _tagEOS_Ecom_GetOfferImageInfoCountOptions;
3797#[doc = " Input parameters for the EOS_Ecom_CopyOfferImageInfoByIndex function."]
3798#[repr(C)]
3799#[derive(Debug, Copy, Clone)]
3800pub struct _tagEOS_Ecom_CopyOfferImageInfoByIndexOptions {
3801 #[doc = " API Version: Set this to EOS_ECOM_COPYOFFERIMAGEINFOBYINDEX_API_LATEST."]
3802 pub ApiVersion: i32,
3803 #[doc = " The Epic Account ID of the local user whose offer image is being copied."]
3804 pub LocalUserId: EOS_EpicAccountId,
3805 #[doc = " The ID of the offer to get the images for."]
3806 pub OfferId: EOS_Ecom_CatalogOfferId,
3807 #[doc = " The index of the image to get."]
3808 pub ImageInfoIndex: u32,
3809}
3810impl Default for _tagEOS_Ecom_CopyOfferImageInfoByIndexOptions {
3811 fn default() -> Self {
3812 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3813 unsafe {
3814 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3815 s.assume_init()
3816 }
3817 }
3818}
3819#[doc = " Input parameters for the EOS_Ecom_CopyOfferImageInfoByIndex function."]
3820pub type EOS_Ecom_CopyOfferImageInfoByIndexOptions = _tagEOS_Ecom_CopyOfferImageInfoByIndexOptions;
3821#[doc = " Input parameters for the EOS_Ecom_GetItemImageInfoCount function."]
3822#[repr(C)]
3823#[derive(Debug, Copy, Clone)]
3824pub struct _tagEOS_Ecom_GetItemImageInfoCountOptions {
3825 #[doc = " API Version: Set this to EOS_ECOM_GETITEMIMAGEINFOCOUNT_API_LATEST."]
3826 pub ApiVersion: i32,
3827 #[doc = " The Epic Account ID of the local user whose item image is being accessed"]
3828 pub LocalUserId: EOS_EpicAccountId,
3829 #[doc = " The ID of the item to get the images for."]
3830 pub ItemId: EOS_Ecom_CatalogItemId,
3831}
3832impl Default for _tagEOS_Ecom_GetItemImageInfoCountOptions {
3833 fn default() -> Self {
3834 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3835 unsafe {
3836 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3837 s.assume_init()
3838 }
3839 }
3840}
3841#[doc = " Input parameters for the EOS_Ecom_GetItemImageInfoCount function."]
3842pub type EOS_Ecom_GetItemImageInfoCountOptions = _tagEOS_Ecom_GetItemImageInfoCountOptions;
3843#[doc = " Input parameters for the EOS_Ecom_CopyItemImageInfoByIndex function."]
3844#[repr(C)]
3845#[derive(Debug, Copy, Clone)]
3846pub struct _tagEOS_Ecom_CopyItemImageInfoByIndexOptions {
3847 #[doc = " API Version: Set this to EOS_ECOM_COPYITEMIMAGEINFOBYINDEX_API_LATEST."]
3848 pub ApiVersion: i32,
3849 #[doc = " The Epic Account ID of the local user whose item image is being copied"]
3850 pub LocalUserId: EOS_EpicAccountId,
3851 #[doc = " The ID of the item to get the images for."]
3852 pub ItemId: EOS_Ecom_CatalogItemId,
3853 #[doc = " The index of the image to get."]
3854 pub ImageInfoIndex: u32,
3855}
3856impl Default for _tagEOS_Ecom_CopyItemImageInfoByIndexOptions {
3857 fn default() -> Self {
3858 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3859 unsafe {
3860 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3861 s.assume_init()
3862 }
3863 }
3864}
3865#[doc = " Input parameters for the EOS_Ecom_CopyItemImageInfoByIndex function."]
3866pub type EOS_Ecom_CopyItemImageInfoByIndexOptions = _tagEOS_Ecom_CopyItemImageInfoByIndexOptions;
3867#[doc = " Input parameters for the EOS_Ecom_GetItemReleaseCount function."]
3868#[repr(C)]
3869#[derive(Debug, Copy, Clone)]
3870pub struct _tagEOS_Ecom_GetItemReleaseCountOptions {
3871 #[doc = " API Version: Set this to EOS_ECOM_GETITEMRELEASECOUNT_API_LATEST."]
3872 pub ApiVersion: i32,
3873 #[doc = " The Epic Account ID of the local user whose item release is being accessed"]
3874 pub LocalUserId: EOS_EpicAccountId,
3875 #[doc = " The ID of the item to get the releases for."]
3876 pub ItemId: EOS_Ecom_CatalogItemId,
3877}
3878impl Default for _tagEOS_Ecom_GetItemReleaseCountOptions {
3879 fn default() -> Self {
3880 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3881 unsafe {
3882 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3883 s.assume_init()
3884 }
3885 }
3886}
3887#[doc = " Input parameters for the EOS_Ecom_GetItemReleaseCount function."]
3888pub type EOS_Ecom_GetItemReleaseCountOptions = _tagEOS_Ecom_GetItemReleaseCountOptions;
3889#[doc = " Input parameters for the EOS_Ecom_CopyItemReleaseByIndex function."]
3890#[repr(C)]
3891#[derive(Debug, Copy, Clone)]
3892pub struct _tagEOS_Ecom_CopyItemReleaseByIndexOptions {
3893 #[doc = " API Version: Set this to EOS_ECOM_COPYITEMRELEASEBYINDEX_API_LATEST."]
3894 pub ApiVersion: i32,
3895 #[doc = " The Epic Account ID of the local user whose item release is being copied"]
3896 pub LocalUserId: EOS_EpicAccountId,
3897 #[doc = " The ID of the item to get the releases for."]
3898 pub ItemId: EOS_Ecom_CatalogItemId,
3899 #[doc = " The index of the release to get."]
3900 pub ReleaseIndex: u32,
3901}
3902impl Default for _tagEOS_Ecom_CopyItemReleaseByIndexOptions {
3903 fn default() -> Self {
3904 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3905 unsafe {
3906 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3907 s.assume_init()
3908 }
3909 }
3910}
3911#[doc = " Input parameters for the EOS_Ecom_CopyItemReleaseByIndex function."]
3912pub type EOS_Ecom_CopyItemReleaseByIndexOptions = _tagEOS_Ecom_CopyItemReleaseByIndexOptions;
3913#[doc = " Input parameters for the EOS_Ecom_GetTransactionCount function."]
3914#[repr(C)]
3915#[derive(Debug, Copy, Clone)]
3916pub struct _tagEOS_Ecom_GetTransactionCountOptions {
3917 #[doc = " API Version: Set this to EOS_ECOM_GETTRANSACTIONCOUNT_API_LATEST."]
3918 pub ApiVersion: i32,
3919 #[doc = " The Epic Account ID of the local user whose transaction count to get"]
3920 pub LocalUserId: EOS_EpicAccountId,
3921}
3922impl Default for _tagEOS_Ecom_GetTransactionCountOptions {
3923 fn default() -> Self {
3924 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3925 unsafe {
3926 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3927 s.assume_init()
3928 }
3929 }
3930}
3931#[doc = " Input parameters for the EOS_Ecom_GetTransactionCount function."]
3932pub type EOS_Ecom_GetTransactionCountOptions = _tagEOS_Ecom_GetTransactionCountOptions;
3933#[doc = " Input parameters for the EOS_Ecom_CopyTransactionByIndex function."]
3934#[repr(C)]
3935#[derive(Debug, Copy, Clone)]
3936pub struct _tagEOS_Ecom_CopyTransactionByIndexOptions {
3937 #[doc = " API Version: Set this to EOS_ECOM_COPYTRANSACTIONBYINDEX_API_LATEST."]
3938 pub ApiVersion: i32,
3939 #[doc = " The Epic Account ID of the local user who is associated with the transaction"]
3940 pub LocalUserId: EOS_EpicAccountId,
3941 #[doc = " The index of the transaction to get"]
3942 pub TransactionIndex: u32,
3943}
3944impl Default for _tagEOS_Ecom_CopyTransactionByIndexOptions {
3945 fn default() -> Self {
3946 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3947 unsafe {
3948 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3949 s.assume_init()
3950 }
3951 }
3952}
3953#[doc = " Input parameters for the EOS_Ecom_CopyTransactionByIndex function."]
3954pub type EOS_Ecom_CopyTransactionByIndexOptions = _tagEOS_Ecom_CopyTransactionByIndexOptions;
3955#[doc = " Input parameters for the EOS_Ecom_CopyTransactionById function."]
3956#[repr(C)]
3957#[derive(Debug, Copy, Clone)]
3958pub struct _tagEOS_Ecom_CopyTransactionByIdOptions {
3959 #[doc = " API Version: Set this to EOS_ECOM_COPYTRANSACTIONBYID_API_LATEST."]
3960 pub ApiVersion: i32,
3961 #[doc = " The Epic Account ID of the local user who is associated with the transaction"]
3962 pub LocalUserId: EOS_EpicAccountId,
3963 #[doc = " The ID of the transaction to get"]
3964 pub TransactionId: *const ::std::os::raw::c_char,
3965}
3966impl Default for _tagEOS_Ecom_CopyTransactionByIdOptions {
3967 fn default() -> Self {
3968 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3969 unsafe {
3970 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3971 s.assume_init()
3972 }
3973 }
3974}
3975#[doc = " Input parameters for the EOS_Ecom_CopyTransactionById function."]
3976pub type EOS_Ecom_CopyTransactionByIdOptions = _tagEOS_Ecom_CopyTransactionByIdOptions;
3977#[doc = " Input parameters for the EOS_Ecom_Transaction_GetEntitlementsCount function."]
3978#[repr(C)]
3979#[derive(Debug, Default, Copy, Clone)]
3980pub struct _tagEOS_Ecom_Transaction_GetEntitlementsCountOptions {
3981 #[doc = " API Version: Set this to EOS_ECOM_TRANSACTION_GETENTITLEMENTSCOUNT_API_LATEST."]
3982 pub ApiVersion: i32,
3983}
3984#[doc = " Input parameters for the EOS_Ecom_Transaction_GetEntitlementsCount function."]
3985pub type EOS_Ecom_Transaction_GetEntitlementsCountOptions =
3986 _tagEOS_Ecom_Transaction_GetEntitlementsCountOptions;
3987#[doc = " Input parameters for the EOS_Ecom_Transaction_CopyEntitlementByIndex function."]
3988#[repr(C)]
3989#[derive(Debug, Default, Copy, Clone)]
3990pub struct _tagEOS_Ecom_Transaction_CopyEntitlementByIndexOptions {
3991 #[doc = " API Version: Set this to EOS_ECOM_TRANSACTION_COPYENTITLEMENTBYINDEX_API_LATEST."]
3992 pub ApiVersion: i32,
3993 #[doc = " The index of the entitlement to get"]
3994 pub EntitlementIndex: u32,
3995}
3996#[doc = " Input parameters for the EOS_Ecom_Transaction_CopyEntitlementByIndex function."]
3997pub type EOS_Ecom_Transaction_CopyEntitlementByIndexOptions =
3998 _tagEOS_Ecom_Transaction_CopyEntitlementByIndexOptions;
3999unsafe extern "C" {
4000 #[doc = " Release the memory associated with an EOS_Ecom_HTransaction. Is expected to be called after\n being received from a EOS_Ecom_CheckoutCallbackInfo.\n\n @param Transaction A handle to a transaction.\n\n @see EOS_Ecom_CheckoutCallbackInfo\n @see EOS_Ecom_GetTransactionCount\n @see EOS_Ecom_CopyTransactionByIndex"]
4001 pub fn EOS_Ecom_Transaction_Release(Transaction: EOS_Ecom_HTransaction);
4002}
4003#[repr(C)]
4004#[derive(Debug, Copy, Clone)]
4005pub struct EOS_UIHandle {
4006 _unused: [u8; 0],
4007}
4008#[doc = " Handle to the UI interface"]
4009pub type EOS_HUI = *mut EOS_UIHandle;
4010#[doc = " ID representing a specific UI event."]
4011pub type EOS_UI_EventId = u64;
4012#[doc = " Input parameters for the EOS_UI_ShowFriends function."]
4013#[repr(C)]
4014#[derive(Debug, Copy, Clone)]
4015pub struct _tagEOS_UI_ShowFriendsOptions {
4016 #[doc = " API Version: Set this to EOS_UI_SHOWFRIENDS_API_LATEST."]
4017 pub ApiVersion: i32,
4018 #[doc = " The Epic Account ID of the user whose friend list is being shown."]
4019 pub LocalUserId: EOS_EpicAccountId,
4020}
4021impl Default for _tagEOS_UI_ShowFriendsOptions {
4022 fn default() -> Self {
4023 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4024 unsafe {
4025 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4026 s.assume_init()
4027 }
4028 }
4029}
4030#[doc = " Input parameters for the EOS_UI_ShowFriends function."]
4031pub type EOS_UI_ShowFriendsOptions = _tagEOS_UI_ShowFriendsOptions;
4032#[doc = " Output parameters for the EOS_UI_ShowFriends function."]
4033#[repr(C)]
4034#[derive(Debug, Copy, Clone)]
4035pub struct _tagEOS_UI_ShowFriendsCallbackInfo {
4036 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
4037 pub ResultCode: EOS_EResult,
4038 #[doc = " Context that was passed into EOS_UI_ShowFriends"]
4039 pub ClientData: *mut ::std::os::raw::c_void,
4040 #[doc = " The Epic Account ID of the user whose friend list is being shown."]
4041 pub LocalUserId: EOS_EpicAccountId,
4042}
4043impl Default for _tagEOS_UI_ShowFriendsCallbackInfo {
4044 fn default() -> Self {
4045 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4046 unsafe {
4047 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4048 s.assume_init()
4049 }
4050 }
4051}
4052#[doc = " Output parameters for the EOS_UI_ShowFriends function."]
4053pub type EOS_UI_ShowFriendsCallbackInfo = _tagEOS_UI_ShowFriendsCallbackInfo;
4054#[doc = " Function prototype definition for callbacks passed to EOS_UI_ShowFriends\n @param Data A EOS_UI_ShowFriendsCallbackInfo containing the output information and result"]
4055pub type EOS_UI_OnShowFriendsCallback =
4056 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_UI_ShowFriendsCallbackInfo)>;
4057#[doc = " Input parameters for the EOS_UI_HideFriends function."]
4058#[repr(C)]
4059#[derive(Debug, Copy, Clone)]
4060pub struct _tagEOS_UI_HideFriendsOptions {
4061 #[doc = " API Version: Set this to EOS_UI_HIDEFRIENDS_API_LATEST."]
4062 pub ApiVersion: i32,
4063 #[doc = " The Epic Account ID of the user whose friend list is being shown."]
4064 pub LocalUserId: EOS_EpicAccountId,
4065}
4066impl Default for _tagEOS_UI_HideFriendsOptions {
4067 fn default() -> Self {
4068 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4069 unsafe {
4070 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4071 s.assume_init()
4072 }
4073 }
4074}
4075#[doc = " Input parameters for the EOS_UI_HideFriends function."]
4076pub type EOS_UI_HideFriendsOptions = _tagEOS_UI_HideFriendsOptions;
4077#[doc = " Output parameters for the EOS_UI_HideFriends function."]
4078#[repr(C)]
4079#[derive(Debug, Copy, Clone)]
4080pub struct _tagEOS_UI_HideFriendsCallbackInfo {
4081 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
4082 pub ResultCode: EOS_EResult,
4083 #[doc = " Context that was passed into EOS_UI_HideFriends"]
4084 pub ClientData: *mut ::std::os::raw::c_void,
4085 #[doc = " The Epic Account ID of the user whose friend list is being shown."]
4086 pub LocalUserId: EOS_EpicAccountId,
4087}
4088impl Default for _tagEOS_UI_HideFriendsCallbackInfo {
4089 fn default() -> Self {
4090 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4091 unsafe {
4092 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4093 s.assume_init()
4094 }
4095 }
4096}
4097#[doc = " Output parameters for the EOS_UI_HideFriends function."]
4098pub type EOS_UI_HideFriendsCallbackInfo = _tagEOS_UI_HideFriendsCallbackInfo;
4099#[doc = " Function prototype definition for callbacks passed to EOS_UI_HideFriends\n @param Data A EOS_UI_HideFriendsCallbackInfo containing the output information and result"]
4100pub type EOS_UI_OnHideFriendsCallback =
4101 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_UI_HideFriendsCallbackInfo)>;
4102#[doc = " Input parameters for the EOS_UI_GetFriendsVisible function."]
4103#[repr(C)]
4104#[derive(Debug, Copy, Clone)]
4105pub struct _tagEOS_UI_GetFriendsVisibleOptions {
4106 #[doc = " API Version: Set this to EOS_UI_GETFRIENDSVISIBLE_API_LATEST."]
4107 pub ApiVersion: i32,
4108 #[doc = " The Epic Account ID of the user whose overlay is being checked."]
4109 pub LocalUserId: EOS_EpicAccountId,
4110}
4111impl Default for _tagEOS_UI_GetFriendsVisibleOptions {
4112 fn default() -> Self {
4113 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4114 unsafe {
4115 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4116 s.assume_init()
4117 }
4118 }
4119}
4120#[doc = " Input parameters for the EOS_UI_GetFriendsVisible function."]
4121pub type EOS_UI_GetFriendsVisibleOptions = _tagEOS_UI_GetFriendsVisibleOptions;
4122#[doc = " Input parameters for the EOS_UI_GetFriendsExclusiveInput function."]
4123#[repr(C)]
4124#[derive(Debug, Copy, Clone)]
4125pub struct _tagEOS_UI_GetFriendsExclusiveInputOptions {
4126 #[doc = " API Version: Set this to EOS_UI_GETFRIENDSEXCLUSIVEINPUT_API_LATEST."]
4127 pub ApiVersion: i32,
4128 #[doc = " The Epic Account ID of the user whose overlay is being checked."]
4129 pub LocalUserId: EOS_EpicAccountId,
4130}
4131impl Default for _tagEOS_UI_GetFriendsExclusiveInputOptions {
4132 fn default() -> Self {
4133 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4134 unsafe {
4135 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4136 s.assume_init()
4137 }
4138 }
4139}
4140#[doc = " Input parameters for the EOS_UI_GetFriendsExclusiveInput function."]
4141pub type EOS_UI_GetFriendsExclusiveInputOptions = _tagEOS_UI_GetFriendsExclusiveInputOptions;
4142#[doc = " Input parameters for the EOS_UI_AddNotifyDisplaySettingsUpdated function."]
4143#[repr(C)]
4144#[derive(Debug, Default, Copy, Clone)]
4145pub struct _tagEOS_UI_AddNotifyDisplaySettingsUpdatedOptions {
4146 #[doc = " API Version: Set this to EOS_UI_ADDNOTIFYDISPLAYSETTINGSUPDATED_API_LATEST."]
4147 pub ApiVersion: i32,
4148}
4149#[doc = " Input parameters for the EOS_UI_AddNotifyDisplaySettingsUpdated function."]
4150pub type EOS_UI_AddNotifyDisplaySettingsUpdatedOptions =
4151 _tagEOS_UI_AddNotifyDisplaySettingsUpdatedOptions;
4152#[doc = " Output parameters for the EOS_UI_AddNotifyDisplaySettingsUpdated function."]
4153#[repr(C)]
4154#[derive(Debug, Copy, Clone)]
4155pub struct _tagEOS_UI_OnDisplaySettingsUpdatedCallbackInfo {
4156 #[doc = " Context that was passed into EOS_UI_AddNotifyDisplaySettingsUpdated"]
4157 pub ClientData: *mut ::std::os::raw::c_void,
4158 #[doc = " True when any portion of the overlay is visible."]
4159 pub bIsVisible: EOS_Bool,
4160 #[doc = " True when the overlay has switched to exclusive input mode.\n While in exclusive input mode, no keyboard or mouse input will be sent to the game."]
4161 pub bIsExclusiveInput: EOS_Bool,
4162}
4163impl Default for _tagEOS_UI_OnDisplaySettingsUpdatedCallbackInfo {
4164 fn default() -> Self {
4165 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4166 unsafe {
4167 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4168 s.assume_init()
4169 }
4170 }
4171}
4172#[doc = " Output parameters for the EOS_UI_AddNotifyDisplaySettingsUpdated function."]
4173pub type EOS_UI_OnDisplaySettingsUpdatedCallbackInfo =
4174 _tagEOS_UI_OnDisplaySettingsUpdatedCallbackInfo;
4175#[doc = " Function prototype definition for callbacks passed to EOS_UI_AddNotifyDisplaySettingsUpdated\n @param Data A EOS_UI_OnDisplaySettingsUpdatedCallbackInfo containing the current display state."]
4176pub type EOS_UI_OnDisplaySettingsUpdatedCallback = ::std::option::Option<
4177 unsafe extern "C" fn(Data: *const EOS_UI_OnDisplaySettingsUpdatedCallbackInfo),
4178>;
4179pub const EOS_UI_EKeyCombination_EOS_UIK_ModifierShift: EOS_UI_EKeyCombination = 16;
4180pub const EOS_UI_EKeyCombination_EOS_UIK_KeyTypeMask: EOS_UI_EKeyCombination = 65535;
4181pub const EOS_UI_EKeyCombination_EOS_UIK_ModifierMask: EOS_UI_EKeyCombination = -65536;
4182pub const EOS_UI_EKeyCombination_EOS_UIK_Shift: EOS_UI_EKeyCombination = 65536;
4183pub const EOS_UI_EKeyCombination_EOS_UIK_Control: EOS_UI_EKeyCombination = 131072;
4184pub const EOS_UI_EKeyCombination_EOS_UIK_Alt: EOS_UI_EKeyCombination = 262144;
4185pub const EOS_UI_EKeyCombination_EOS_UIK_Meta: EOS_UI_EKeyCombination = 524288;
4186pub const EOS_UI_EKeyCombination_EOS_UIK_ValidModifierMask: EOS_UI_EKeyCombination = 983040;
4187pub const EOS_UI_EKeyCombination_EOS_UIK_None: EOS_UI_EKeyCombination = 0;
4188pub const EOS_UI_EKeyCombination_EOS_UIK_Space: EOS_UI_EKeyCombination = 1;
4189pub const EOS_UI_EKeyCombination_EOS_UIK_Backspace: EOS_UI_EKeyCombination = 2;
4190pub const EOS_UI_EKeyCombination_EOS_UIK_Tab: EOS_UI_EKeyCombination = 3;
4191pub const EOS_UI_EKeyCombination_EOS_UIK_Escape: EOS_UI_EKeyCombination = 4;
4192pub const EOS_UI_EKeyCombination_EOS_UIK_PageUp: EOS_UI_EKeyCombination = 5;
4193pub const EOS_UI_EKeyCombination_EOS_UIK_PageDown: EOS_UI_EKeyCombination = 6;
4194pub const EOS_UI_EKeyCombination_EOS_UIK_End: EOS_UI_EKeyCombination = 7;
4195pub const EOS_UI_EKeyCombination_EOS_UIK_Home: EOS_UI_EKeyCombination = 8;
4196pub const EOS_UI_EKeyCombination_EOS_UIK_Insert: EOS_UI_EKeyCombination = 9;
4197pub const EOS_UI_EKeyCombination_EOS_UIK_Delete: EOS_UI_EKeyCombination = 10;
4198pub const EOS_UI_EKeyCombination_EOS_UIK_Left: EOS_UI_EKeyCombination = 11;
4199pub const EOS_UI_EKeyCombination_EOS_UIK_Up: EOS_UI_EKeyCombination = 12;
4200pub const EOS_UI_EKeyCombination_EOS_UIK_Right: EOS_UI_EKeyCombination = 13;
4201pub const EOS_UI_EKeyCombination_EOS_UIK_Down: EOS_UI_EKeyCombination = 14;
4202pub const EOS_UI_EKeyCombination_EOS_UIK_Key0: EOS_UI_EKeyCombination = 15;
4203pub const EOS_UI_EKeyCombination_EOS_UIK_Key1: EOS_UI_EKeyCombination = 16;
4204pub const EOS_UI_EKeyCombination_EOS_UIK_Key2: EOS_UI_EKeyCombination = 17;
4205pub const EOS_UI_EKeyCombination_EOS_UIK_Key3: EOS_UI_EKeyCombination = 18;
4206pub const EOS_UI_EKeyCombination_EOS_UIK_Key4: EOS_UI_EKeyCombination = 19;
4207pub const EOS_UI_EKeyCombination_EOS_UIK_Key5: EOS_UI_EKeyCombination = 20;
4208pub const EOS_UI_EKeyCombination_EOS_UIK_Key6: EOS_UI_EKeyCombination = 21;
4209pub const EOS_UI_EKeyCombination_EOS_UIK_Key7: EOS_UI_EKeyCombination = 22;
4210pub const EOS_UI_EKeyCombination_EOS_UIK_Key8: EOS_UI_EKeyCombination = 23;
4211pub const EOS_UI_EKeyCombination_EOS_UIK_Key9: EOS_UI_EKeyCombination = 24;
4212pub const EOS_UI_EKeyCombination_EOS_UIK_KeyA: EOS_UI_EKeyCombination = 25;
4213pub const EOS_UI_EKeyCombination_EOS_UIK_KeyB: EOS_UI_EKeyCombination = 26;
4214pub const EOS_UI_EKeyCombination_EOS_UIK_KeyC: EOS_UI_EKeyCombination = 27;
4215pub const EOS_UI_EKeyCombination_EOS_UIK_KeyD: EOS_UI_EKeyCombination = 28;
4216pub const EOS_UI_EKeyCombination_EOS_UIK_KeyE: EOS_UI_EKeyCombination = 29;
4217pub const EOS_UI_EKeyCombination_EOS_UIK_KeyF: EOS_UI_EKeyCombination = 30;
4218pub const EOS_UI_EKeyCombination_EOS_UIK_KeyG: EOS_UI_EKeyCombination = 31;
4219pub const EOS_UI_EKeyCombination_EOS_UIK_KeyH: EOS_UI_EKeyCombination = 32;
4220pub const EOS_UI_EKeyCombination_EOS_UIK_KeyI: EOS_UI_EKeyCombination = 33;
4221pub const EOS_UI_EKeyCombination_EOS_UIK_KeyJ: EOS_UI_EKeyCombination = 34;
4222pub const EOS_UI_EKeyCombination_EOS_UIK_KeyK: EOS_UI_EKeyCombination = 35;
4223pub const EOS_UI_EKeyCombination_EOS_UIK_KeyL: EOS_UI_EKeyCombination = 36;
4224pub const EOS_UI_EKeyCombination_EOS_UIK_KeyM: EOS_UI_EKeyCombination = 37;
4225pub const EOS_UI_EKeyCombination_EOS_UIK_KeyN: EOS_UI_EKeyCombination = 38;
4226pub const EOS_UI_EKeyCombination_EOS_UIK_KeyO: EOS_UI_EKeyCombination = 39;
4227pub const EOS_UI_EKeyCombination_EOS_UIK_KeyP: EOS_UI_EKeyCombination = 40;
4228pub const EOS_UI_EKeyCombination_EOS_UIK_KeyQ: EOS_UI_EKeyCombination = 41;
4229pub const EOS_UI_EKeyCombination_EOS_UIK_KeyR: EOS_UI_EKeyCombination = 42;
4230pub const EOS_UI_EKeyCombination_EOS_UIK_KeyS: EOS_UI_EKeyCombination = 43;
4231pub const EOS_UI_EKeyCombination_EOS_UIK_KeyT: EOS_UI_EKeyCombination = 44;
4232pub const EOS_UI_EKeyCombination_EOS_UIK_KeyU: EOS_UI_EKeyCombination = 45;
4233pub const EOS_UI_EKeyCombination_EOS_UIK_KeyV: EOS_UI_EKeyCombination = 46;
4234pub const EOS_UI_EKeyCombination_EOS_UIK_KeyW: EOS_UI_EKeyCombination = 47;
4235pub const EOS_UI_EKeyCombination_EOS_UIK_KeyX: EOS_UI_EKeyCombination = 48;
4236pub const EOS_UI_EKeyCombination_EOS_UIK_KeyY: EOS_UI_EKeyCombination = 49;
4237pub const EOS_UI_EKeyCombination_EOS_UIK_KeyZ: EOS_UI_EKeyCombination = 50;
4238pub const EOS_UI_EKeyCombination_EOS_UIK_Numpad0: EOS_UI_EKeyCombination = 51;
4239pub const EOS_UI_EKeyCombination_EOS_UIK_Numpad1: EOS_UI_EKeyCombination = 52;
4240pub const EOS_UI_EKeyCombination_EOS_UIK_Numpad2: EOS_UI_EKeyCombination = 53;
4241pub const EOS_UI_EKeyCombination_EOS_UIK_Numpad3: EOS_UI_EKeyCombination = 54;
4242pub const EOS_UI_EKeyCombination_EOS_UIK_Numpad4: EOS_UI_EKeyCombination = 55;
4243pub const EOS_UI_EKeyCombination_EOS_UIK_Numpad5: EOS_UI_EKeyCombination = 56;
4244pub const EOS_UI_EKeyCombination_EOS_UIK_Numpad6: EOS_UI_EKeyCombination = 57;
4245pub const EOS_UI_EKeyCombination_EOS_UIK_Numpad7: EOS_UI_EKeyCombination = 58;
4246pub const EOS_UI_EKeyCombination_EOS_UIK_Numpad8: EOS_UI_EKeyCombination = 59;
4247pub const EOS_UI_EKeyCombination_EOS_UIK_Numpad9: EOS_UI_EKeyCombination = 60;
4248pub const EOS_UI_EKeyCombination_EOS_UIK_NumpadAsterisk: EOS_UI_EKeyCombination = 61;
4249pub const EOS_UI_EKeyCombination_EOS_UIK_NumpadPlus: EOS_UI_EKeyCombination = 62;
4250pub const EOS_UI_EKeyCombination_EOS_UIK_NumpadMinus: EOS_UI_EKeyCombination = 63;
4251pub const EOS_UI_EKeyCombination_EOS_UIK_NumpadPeriod: EOS_UI_EKeyCombination = 64;
4252pub const EOS_UI_EKeyCombination_EOS_UIK_NumpadDivide: EOS_UI_EKeyCombination = 65;
4253pub const EOS_UI_EKeyCombination_EOS_UIK_F1: EOS_UI_EKeyCombination = 66;
4254pub const EOS_UI_EKeyCombination_EOS_UIK_F2: EOS_UI_EKeyCombination = 67;
4255pub const EOS_UI_EKeyCombination_EOS_UIK_F3: EOS_UI_EKeyCombination = 68;
4256pub const EOS_UI_EKeyCombination_EOS_UIK_F4: EOS_UI_EKeyCombination = 69;
4257pub const EOS_UI_EKeyCombination_EOS_UIK_F5: EOS_UI_EKeyCombination = 70;
4258pub const EOS_UI_EKeyCombination_EOS_UIK_F6: EOS_UI_EKeyCombination = 71;
4259pub const EOS_UI_EKeyCombination_EOS_UIK_F7: EOS_UI_EKeyCombination = 72;
4260pub const EOS_UI_EKeyCombination_EOS_UIK_F8: EOS_UI_EKeyCombination = 73;
4261pub const EOS_UI_EKeyCombination_EOS_UIK_F9: EOS_UI_EKeyCombination = 74;
4262pub const EOS_UI_EKeyCombination_EOS_UIK_F10: EOS_UI_EKeyCombination = 75;
4263pub const EOS_UI_EKeyCombination_EOS_UIK_F11: EOS_UI_EKeyCombination = 76;
4264pub const EOS_UI_EKeyCombination_EOS_UIK_F12: EOS_UI_EKeyCombination = 77;
4265pub const EOS_UI_EKeyCombination_EOS_UIK_F13: EOS_UI_EKeyCombination = 78;
4266pub const EOS_UI_EKeyCombination_EOS_UIK_F14: EOS_UI_EKeyCombination = 79;
4267pub const EOS_UI_EKeyCombination_EOS_UIK_F15: EOS_UI_EKeyCombination = 80;
4268pub const EOS_UI_EKeyCombination_EOS_UIK_F16: EOS_UI_EKeyCombination = 81;
4269pub const EOS_UI_EKeyCombination_EOS_UIK_F17: EOS_UI_EKeyCombination = 82;
4270pub const EOS_UI_EKeyCombination_EOS_UIK_F18: EOS_UI_EKeyCombination = 83;
4271pub const EOS_UI_EKeyCombination_EOS_UIK_F19: EOS_UI_EKeyCombination = 84;
4272pub const EOS_UI_EKeyCombination_EOS_UIK_F20: EOS_UI_EKeyCombination = 85;
4273pub const EOS_UI_EKeyCombination_EOS_UIK_F21: EOS_UI_EKeyCombination = 86;
4274pub const EOS_UI_EKeyCombination_EOS_UIK_F22: EOS_UI_EKeyCombination = 87;
4275pub const EOS_UI_EKeyCombination_EOS_UIK_F23: EOS_UI_EKeyCombination = 88;
4276pub const EOS_UI_EKeyCombination_EOS_UIK_F24: EOS_UI_EKeyCombination = 89;
4277pub const EOS_UI_EKeyCombination_EOS_UIK_OemPlus: EOS_UI_EKeyCombination = 90;
4278pub const EOS_UI_EKeyCombination_EOS_UIK_OemComma: EOS_UI_EKeyCombination = 91;
4279pub const EOS_UI_EKeyCombination_EOS_UIK_OemMinus: EOS_UI_EKeyCombination = 92;
4280pub const EOS_UI_EKeyCombination_EOS_UIK_OemPeriod: EOS_UI_EKeyCombination = 93;
4281pub const EOS_UI_EKeyCombination_EOS_UIK_Oem1: EOS_UI_EKeyCombination = 94;
4282pub const EOS_UI_EKeyCombination_EOS_UIK_Oem2: EOS_UI_EKeyCombination = 95;
4283pub const EOS_UI_EKeyCombination_EOS_UIK_Oem3: EOS_UI_EKeyCombination = 96;
4284pub const EOS_UI_EKeyCombination_EOS_UIK_Oem4: EOS_UI_EKeyCombination = 97;
4285pub const EOS_UI_EKeyCombination_EOS_UIK_Oem5: EOS_UI_EKeyCombination = 98;
4286pub const EOS_UI_EKeyCombination_EOS_UIK_Oem6: EOS_UI_EKeyCombination = 99;
4287pub const EOS_UI_EKeyCombination_EOS_UIK_Oem7: EOS_UI_EKeyCombination = 100;
4288pub const EOS_UI_EKeyCombination_EOS_UIK_Oem8: EOS_UI_EKeyCombination = 101;
4289pub const EOS_UI_EKeyCombination_EOS_UIK_MaxKeyType: EOS_UI_EKeyCombination = 102;
4290pub const EOS_UI_EKeyCombination___EOS_UI_EKeyCombination_PAD_INT32__: EOS_UI_EKeyCombination =
4291 2147483647;
4292pub type EOS_UI_EKeyCombination = ::std::os::raw::c_int;
4293pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_None: EOS_UI_EInputStateButtonFlags = 0;
4294pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_DPad_Left: EOS_UI_EInputStateButtonFlags = 1;
4295pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_DPad_Right: EOS_UI_EInputStateButtonFlags = 2;
4296pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_DPad_Down: EOS_UI_EInputStateButtonFlags = 4;
4297pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_DPad_Up: EOS_UI_EInputStateButtonFlags = 8;
4298pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_FaceButton_Left: EOS_UI_EInputStateButtonFlags =
4299 16;
4300pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_FaceButton_Right: EOS_UI_EInputStateButtonFlags =
4301 32;
4302pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_FaceButton_Bottom: EOS_UI_EInputStateButtonFlags =
4303 64;
4304pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_FaceButton_Top: EOS_UI_EInputStateButtonFlags =
4305 128;
4306pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_LeftShoulder: EOS_UI_EInputStateButtonFlags = 256;
4307pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_RightShoulder: EOS_UI_EInputStateButtonFlags =
4308 512;
4309pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_LeftTrigger: EOS_UI_EInputStateButtonFlags = 1024;
4310pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_RightTrigger: EOS_UI_EInputStateButtonFlags =
4311 2048;
4312pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_Special_Left: EOS_UI_EInputStateButtonFlags =
4313 4096;
4314pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_Special_Right: EOS_UI_EInputStateButtonFlags =
4315 8192;
4316pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_LeftThumbstick: EOS_UI_EInputStateButtonFlags =
4317 16384;
4318pub const EOS_UI_EInputStateButtonFlags_EOS_UISBF_RightThumbstick: EOS_UI_EInputStateButtonFlags =
4319 32768;
4320pub const EOS_UI_EInputStateButtonFlags___EOS_UI_EInputStateButtonFlags_PAD_INT32__:
4321 EOS_UI_EInputStateButtonFlags = 2147483647;
4322#[doc = " Flags used in EOS_UI_ReportInputStateOptions to identify buttons which are down."]
4323pub type EOS_UI_EInputStateButtonFlags = ::std::os::raw::c_int;
4324#[doc = " Input parameters for the EOS_UI_SetToggleFriendsKey function."]
4325#[repr(C)]
4326#[derive(Debug, Copy, Clone)]
4327pub struct _tagEOS_UI_SetToggleFriendsKeyOptions {
4328 #[doc = " API Version: Set this to EOS_UI_SETTOGGLEFRIENDSKEY_API_LATEST."]
4329 pub ApiVersion: i32,
4330 #[doc = " The new key combination which will be used to toggle the friends overlay.\n The combination can be any set of modifiers and one key.\n A value of EOS_UIK_None will cause the key to revert to the default."]
4331 pub KeyCombination: EOS_UI_EKeyCombination,
4332}
4333impl Default for _tagEOS_UI_SetToggleFriendsKeyOptions {
4334 fn default() -> Self {
4335 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4336 unsafe {
4337 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4338 s.assume_init()
4339 }
4340 }
4341}
4342#[doc = " Input parameters for the EOS_UI_SetToggleFriendsKey function."]
4343pub type EOS_UI_SetToggleFriendsKeyOptions = _tagEOS_UI_SetToggleFriendsKeyOptions;
4344#[doc = " Input parameters for the EOS_UI_GetToggleFriendsKey function."]
4345#[repr(C)]
4346#[derive(Debug, Default, Copy, Clone)]
4347pub struct _tagEOS_UI_GetToggleFriendsKeyOptions {
4348 #[doc = " API Version: Set this to EOS_UI_GETTOGGLEFRIENDSKEY_API_LATEST."]
4349 pub ApiVersion: i32,
4350}
4351#[doc = " Input parameters for the EOS_UI_GetToggleFriendsKey function."]
4352pub type EOS_UI_GetToggleFriendsKeyOptions = _tagEOS_UI_GetToggleFriendsKeyOptions;
4353#[doc = " Input parameters for the EOS_UI_SetToggleFriendsButton function."]
4354#[repr(C)]
4355#[derive(Debug, Copy, Clone)]
4356pub struct _tagEOS_UI_SetToggleFriendsButtonOptions {
4357 #[doc = " API Version: Set this to EOS_UI_SETTOGGLEFRIENDSBUTTON_API_LATEST."]
4358 pub ApiVersion: i32,
4359 #[doc = " The button combination to toggle the friends-list page.\n It can be any combination of the following buttons (which can include the left or right shoulder buttons (EOS_UISBF_LeftShoulder or EOS_UISBF_RightShoulder)):\n\n - EOS_UI_EInputStateButtonFlags::EOS_UISBF_LeftTrigger\n - EOS_UI_EInputStateButtonFlags::EOS_UISBF_RightTrigger\n - EOS_UI_EInputStateButtonFlags::EOS_UISBF_Special_Left\n - EOS_UI_EInputStateButtonFlags::EOS_UISBF_Special_Right\n - EOS_UI_EInputStateButtonFlags::EOS_UISBF_LeftThumbstick\n - EOS_UI_EInputStateButtonFlags::EOS_UISBF_RightThumbstick\n\n The default value is No Button. Set the value to EOS_UISBF_None to revert to the default."]
4360 pub ButtonCombination: EOS_UI_EInputStateButtonFlags,
4361}
4362impl Default for _tagEOS_UI_SetToggleFriendsButtonOptions {
4363 fn default() -> Self {
4364 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4365 unsafe {
4366 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4367 s.assume_init()
4368 }
4369 }
4370}
4371#[doc = " Input parameters for the EOS_UI_SetToggleFriendsButton function."]
4372pub type EOS_UI_SetToggleFriendsButtonOptions = _tagEOS_UI_SetToggleFriendsButtonOptions;
4373#[doc = " Input parameters for the EOS_UI_GetToggleFriendsButton function."]
4374#[repr(C)]
4375#[derive(Debug, Default, Copy, Clone)]
4376pub struct _tagEOS_UI_GetToggleFriendsButtonOptions {
4377 #[doc = " API Version: Set this to EOS_UI_GETTOGGLEFRIENDSBUTTON_API_LATEST."]
4378 pub ApiVersion: i32,
4379}
4380#[doc = " Input parameters for the EOS_UI_GetToggleFriendsButton function."]
4381pub type EOS_UI_GetToggleFriendsButtonOptions = _tagEOS_UI_GetToggleFriendsButtonOptions;
4382#[doc = " The top left corner"]
4383pub const EOS_UI_ENotificationLocation_EOS_UNL_TopLeft: EOS_UI_ENotificationLocation = 0;
4384#[doc = " The top right corner"]
4385pub const EOS_UI_ENotificationLocation_EOS_UNL_TopRight: EOS_UI_ENotificationLocation = 1;
4386#[doc = " The bottom left corner"]
4387pub const EOS_UI_ENotificationLocation_EOS_UNL_BottomLeft: EOS_UI_ENotificationLocation = 2;
4388#[doc = " The bottom right corner"]
4389pub const EOS_UI_ENotificationLocation_EOS_UNL_BottomRight: EOS_UI_ENotificationLocation = 3;
4390pub const EOS_UI_ENotificationLocation___EOS_UI_ENotificationLocation_PAD_INT32__:
4391 EOS_UI_ENotificationLocation = 2147483647;
4392#[doc = " Notification locations to be used to set the preference\n for pop-up.\n\n @see EOS_UI_SetDisplayPreference"]
4393pub type EOS_UI_ENotificationLocation = ::std::os::raw::c_int;
4394#[doc = " Input parameters for the EOS_UI_SetDisplayPreference function."]
4395#[repr(C)]
4396#[derive(Debug, Copy, Clone)]
4397pub struct _tagEOS_UI_SetDisplayPreferenceOptions {
4398 #[doc = " API Version: Set this to EOS_UI_SETDISPLAYPREFERENCE_API_LATEST."]
4399 pub ApiVersion: i32,
4400 #[doc = " Preference for notification pop-up locations."]
4401 pub NotificationLocation: EOS_UI_ENotificationLocation,
4402}
4403impl Default for _tagEOS_UI_SetDisplayPreferenceOptions {
4404 fn default() -> Self {
4405 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4406 unsafe {
4407 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4408 s.assume_init()
4409 }
4410 }
4411}
4412#[doc = " Input parameters for the EOS_UI_SetDisplayPreference function."]
4413pub type EOS_UI_SetDisplayPreferenceOptions = _tagEOS_UI_SetDisplayPreferenceOptions;
4414#[doc = " Input parameters for the EOS_UI_AcknowledgeEventId."]
4415#[repr(C)]
4416#[derive(Debug, Copy, Clone)]
4417pub struct _tagEOS_UI_AcknowledgeEventIdOptions {
4418 #[doc = " API Version: Set this to EOS_UI_ACKNOWLEDGEEVENTID_API_LATEST."]
4419 pub ApiVersion: i32,
4420 #[doc = " The ID being acknowledged."]
4421 pub UiEventId: EOS_UI_EventId,
4422 #[doc = " The result to use for the acknowledgment.\n When acknowledging EOS_Presence_JoinGameAcceptedCallbackInfo this should be the\n result code from the JoinSession call."]
4423 pub Result: EOS_EResult,
4424}
4425impl Default for _tagEOS_UI_AcknowledgeEventIdOptions {
4426 fn default() -> Self {
4427 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4428 unsafe {
4429 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4430 s.assume_init()
4431 }
4432 }
4433}
4434#[doc = " Input parameters for the EOS_UI_AcknowledgeEventId."]
4435pub type EOS_UI_AcknowledgeEventIdOptions = _tagEOS_UI_AcknowledgeEventIdOptions;
4436#[doc = " Input parameters for the EOS_UI_ReportInputState function."]
4437#[repr(C)]
4438#[derive(Debug, Copy, Clone)]
4439pub struct _tagEOS_UI_ReportInputStateOptions {
4440 #[doc = " API Version: Set this to EOS_UI_REPORTINPUTSTATE_API_LATEST."]
4441 pub ApiVersion: i32,
4442 #[doc = " Flags to identify the current buttons which are pressed."]
4443 pub ButtonDownFlags: EOS_UI_EInputStateButtonFlags,
4444 #[doc = " Whether the current platform and configuration uses the right face button as the default accept button.\n When this flag is true, the right face button is the accept action, and the down face button is the cancel action.\n When this flag is false, the right face button is the cancel action, and the down face button is the accept action."]
4445 pub bAcceptIsFaceButtonRight: EOS_Bool,
4446 #[doc = " The current state of the mouse button."]
4447 pub bMouseButtonDown: EOS_Bool,
4448 #[doc = " The current x-position of the mouse."]
4449 pub MousePosX: u32,
4450 #[doc = " The current y-position of the mouse."]
4451 pub MousePosY: u32,
4452 #[doc = " The gamepad or player index"]
4453 pub GamepadIndex: u32,
4454 #[doc = " Left analog stick horizontal movement in [-1, 1]. Negative for left, positive for right"]
4455 pub LeftStickX: f32,
4456 #[doc = " Left analog stick vertical movement in [-1, 1]. Negative for up, positive for down"]
4457 pub LeftStickY: f32,
4458 #[doc = " Right analog stick horizontal movement in [-1, 1]. Negative for left, positive for right"]
4459 pub RightStickX: f32,
4460 #[doc = " Right analog stick vertical movement in [-1, 1]. Negative for up, positive for down"]
4461 pub RightStickY: f32,
4462 #[doc = " Left trigger analog value in [0, 1]"]
4463 pub LeftTrigger: f32,
4464 #[doc = " Right trigger analog value in [0, 1]"]
4465 pub RightTrigger: f32,
4466}
4467impl Default for _tagEOS_UI_ReportInputStateOptions {
4468 fn default() -> Self {
4469 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4470 unsafe {
4471 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4472 s.assume_init()
4473 }
4474 }
4475}
4476#[doc = " Input parameters for the EOS_UI_ReportInputState function."]
4477pub type EOS_UI_ReportInputStateOptions = _tagEOS_UI_ReportInputStateOptions;
4478#[doc = " Parameters for the EOS_UI_PrePresent function."]
4479#[repr(C)]
4480#[derive(Debug, Copy, Clone)]
4481pub struct _tagEOS_UI_PrePresentOptions {
4482 #[doc = " API Version: Set this to EOS_UI_PREPRESENT_API_LATEST."]
4483 pub ApiVersion: i32,
4484 #[doc = " Platform specific data."]
4485 pub PlatformSpecificData: *const ::std::os::raw::c_void,
4486}
4487impl Default for _tagEOS_UI_PrePresentOptions {
4488 fn default() -> Self {
4489 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4490 unsafe {
4491 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4492 s.assume_init()
4493 }
4494 }
4495}
4496#[doc = " Parameters for the EOS_UI_PrePresent function."]
4497pub type EOS_UI_PrePresentOptions = _tagEOS_UI_PrePresentOptions;
4498#[doc = " Parameters for the EOS_UI_ShowBlockPlayer function."]
4499#[repr(C)]
4500#[derive(Debug, Copy, Clone)]
4501pub struct _tagEOS_UI_ShowBlockPlayerOptions {
4502 #[doc = " API Version: Set this to EOS_UI_SHOWBLOCKPLAYER_API_LATEST."]
4503 pub ApiVersion: i32,
4504 #[doc = " The Epic Online Services Account ID of the user who is requesting the Block."]
4505 pub LocalUserId: EOS_EpicAccountId,
4506 #[doc = " The Epic Online Services Account ID of the user whose is being Blocked."]
4507 pub TargetUserId: EOS_EpicAccountId,
4508}
4509impl Default for _tagEOS_UI_ShowBlockPlayerOptions {
4510 fn default() -> Self {
4511 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4512 unsafe {
4513 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4514 s.assume_init()
4515 }
4516 }
4517}
4518#[doc = " Parameters for the EOS_UI_ShowBlockPlayer function."]
4519pub type EOS_UI_ShowBlockPlayerOptions = _tagEOS_UI_ShowBlockPlayerOptions;
4520#[doc = " Output parameters for the EOS_UI_ShowBlockPlayer function."]
4521#[repr(C)]
4522#[derive(Debug, Copy, Clone)]
4523pub struct _tagEOS_UI_OnShowBlockPlayerCallbackInfo {
4524 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
4525 pub ResultCode: EOS_EResult,
4526 #[doc = " Context that was passed into EOS_UI_ShowBlockPlayer"]
4527 pub ClientData: *mut ::std::os::raw::c_void,
4528 #[doc = " The Epic Online Services Account ID of the user who requested the block."]
4529 pub LocalUserId: EOS_EpicAccountId,
4530 #[doc = " The Epic Online Services Account ID of the user who was to be blocked."]
4531 pub TargetUserId: EOS_EpicAccountId,
4532}
4533impl Default for _tagEOS_UI_OnShowBlockPlayerCallbackInfo {
4534 fn default() -> Self {
4535 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4536 unsafe {
4537 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4538 s.assume_init()
4539 }
4540 }
4541}
4542#[doc = " Output parameters for the EOS_UI_ShowBlockPlayer function."]
4543pub type EOS_UI_OnShowBlockPlayerCallbackInfo = _tagEOS_UI_OnShowBlockPlayerCallbackInfo;
4544#[doc = " Function prototype definition for callbacks passed to EOS_UI_ShowBlockPlayer\n @param Data A EOS_UI_OnShowBlockPlayerCallbackInfo containing the output information and result"]
4545pub type EOS_UI_OnShowBlockPlayerCallback =
4546 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_UI_OnShowBlockPlayerCallbackInfo)>;
4547#[doc = " Parameters for the EOS_UI_ShowReportPlayer function."]
4548#[repr(C)]
4549#[derive(Debug, Copy, Clone)]
4550pub struct _tagEOS_UI_ShowReportPlayerOptions {
4551 #[doc = " API Version: Set this to EOS_UI_SHOWREPORTPLAYER_API_LATEST."]
4552 pub ApiVersion: i32,
4553 #[doc = " The Epic Online Services Account ID of the user who is requesting the Report."]
4554 pub LocalUserId: EOS_EpicAccountId,
4555 #[doc = " The Epic Online Services Account ID of the user whose is being Reported."]
4556 pub TargetUserId: EOS_EpicAccountId,
4557}
4558impl Default for _tagEOS_UI_ShowReportPlayerOptions {
4559 fn default() -> Self {
4560 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4561 unsafe {
4562 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4563 s.assume_init()
4564 }
4565 }
4566}
4567#[doc = " Parameters for the EOS_UI_ShowReportPlayer function."]
4568pub type EOS_UI_ShowReportPlayerOptions = _tagEOS_UI_ShowReportPlayerOptions;
4569#[doc = " Output parameters for the EOS_UI_ShowReportPlayer function."]
4570#[repr(C)]
4571#[derive(Debug, Copy, Clone)]
4572pub struct _tagEOS_UI_OnShowReportPlayerCallbackInfo {
4573 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
4574 pub ResultCode: EOS_EResult,
4575 #[doc = " Context that was passed into EOS_UI_ShowReportPlayer"]
4576 pub ClientData: *mut ::std::os::raw::c_void,
4577 #[doc = " The Epic Online Services Account ID of the user who requested the Report."]
4578 pub LocalUserId: EOS_EpicAccountId,
4579 #[doc = " The Epic Online Services Account ID of the user who was to be Reported."]
4580 pub TargetUserId: EOS_EpicAccountId,
4581}
4582impl Default for _tagEOS_UI_OnShowReportPlayerCallbackInfo {
4583 fn default() -> Self {
4584 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4585 unsafe {
4586 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4587 s.assume_init()
4588 }
4589 }
4590}
4591#[doc = " Output parameters for the EOS_UI_ShowReportPlayer function."]
4592pub type EOS_UI_OnShowReportPlayerCallbackInfo = _tagEOS_UI_OnShowReportPlayerCallbackInfo;
4593#[doc = " Function prototype definition for callbacks passed to EOS_UI_ShowReportPlayer\n @param Data A EOS_UI_OnShowReportPlayerCallbackInfo containing the output information and result"]
4594pub type EOS_UI_OnShowReportPlayerCallback =
4595 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_UI_OnShowReportPlayerCallbackInfo)>;
4596#[doc = " Parameters for the EOS_UI_ShowNativeProfile function."]
4597#[repr(C)]
4598#[derive(Debug, Copy, Clone)]
4599pub struct _tagEOS_UI_ShowNativeProfileOptions {
4600 #[doc = " API Version: Set this to EOS_UI_SHOWNATIVEPROFILE_API_LATEST."]
4601 pub ApiVersion: i32,
4602 #[doc = " The Epic Online Services Account ID of the user who is requesting the profile."]
4603 pub LocalUserId: EOS_EpicAccountId,
4604 #[doc = " The Epic Online Services Account ID of the user whose profile is being requested."]
4605 pub TargetUserId: EOS_EpicAccountId,
4606}
4607impl Default for _tagEOS_UI_ShowNativeProfileOptions {
4608 fn default() -> Self {
4609 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4610 unsafe {
4611 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4612 s.assume_init()
4613 }
4614 }
4615}
4616#[doc = " Parameters for the EOS_UI_ShowNativeProfile function."]
4617pub type EOS_UI_ShowNativeProfileOptions = _tagEOS_UI_ShowNativeProfileOptions;
4618#[doc = " Output parameters for the EOS_UI_ShowNativeProfile function."]
4619#[repr(C)]
4620#[derive(Debug, Copy, Clone)]
4621pub struct _tagEOS_UI_ShowNativeProfileCallbackInfo {
4622 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
4623 pub ResultCode: EOS_EResult,
4624 #[doc = " Context that was passed into EOS_UI_ShowNativeProfile"]
4625 pub ClientData: *mut ::std::os::raw::c_void,
4626 #[doc = " The Epic Online Services Account ID of the user who requested the profile."]
4627 pub LocalUserId: EOS_EpicAccountId,
4628 #[doc = " The Epic Online Services Account ID of the user who was to have a profile shown."]
4629 pub TargetUserId: EOS_EpicAccountId,
4630}
4631impl Default for _tagEOS_UI_ShowNativeProfileCallbackInfo {
4632 fn default() -> Self {
4633 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4634 unsafe {
4635 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4636 s.assume_init()
4637 }
4638 }
4639}
4640#[doc = " Output parameters for the EOS_UI_ShowNativeProfile function."]
4641pub type EOS_UI_ShowNativeProfileCallbackInfo = _tagEOS_UI_ShowNativeProfileCallbackInfo;
4642#[doc = " Function prototype definition for callbacks passed to EOS_UI_ShowNativeProfile\n @param Data A EOS_UI_ShowNativeProfileCallbackInfo containing the output information and result"]
4643pub type EOS_UI_OnShowNativeProfileCallback =
4644 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_UI_ShowNativeProfileCallbackInfo)>;
4645#[doc = " Input parameters for the EOS_UI_PauseSocialOverlay function."]
4646#[repr(C)]
4647#[derive(Debug, Default, Copy, Clone)]
4648pub struct _tagEOS_UI_PauseSocialOverlayOptions {
4649 #[doc = " API Version: Set this to EOS_UI_PAUSESOCIALOVERLAY_API_LATEST."]
4650 pub ApiVersion: i32,
4651 #[doc = " The desired bIsPaused state of the overlay."]
4652 pub bIsPaused: EOS_Bool,
4653}
4654#[doc = " Input parameters for the EOS_UI_PauseSocialOverlay function."]
4655pub type EOS_UI_PauseSocialOverlayOptions = _tagEOS_UI_PauseSocialOverlayOptions;
4656#[doc = " Input parameters for the EOS_UI_IsSocialOverlayPaused function."]
4657#[repr(C)]
4658#[derive(Debug, Default, Copy, Clone)]
4659pub struct _tagEOS_UI_IsSocialOverlayPausedOptions {
4660 #[doc = " API Version: Set this to EOS_UI_ISSOCIALOVERLAYPAUSED_API_LATEST."]
4661 pub ApiVersion: i32,
4662}
4663#[doc = " Input parameters for the EOS_UI_IsSocialOverlayPaused function."]
4664pub type EOS_UI_IsSocialOverlayPausedOptions = _tagEOS_UI_IsSocialOverlayPausedOptions;
4665#[doc = " A rectangle."]
4666#[repr(C)]
4667#[derive(Debug, Default, Copy, Clone)]
4668pub struct _tagEOS_UI_Rect {
4669 #[doc = " API Version: Set this to EOS_UI_RECT_API_LATEST."]
4670 pub ApiVersion: i32,
4671 #[doc = " Left coordinate."]
4672 pub X: i32,
4673 #[doc = " Top coordinate."]
4674 pub Y: i32,
4675 #[doc = " Width."]
4676 pub Width: u32,
4677 #[doc = " Height."]
4678 pub Height: u32,
4679}
4680#[doc = " A rectangle."]
4681pub type EOS_UI_Rect = _tagEOS_UI_Rect;
4682#[doc = " A structure representing a memory monitoring message."]
4683#[repr(C)]
4684#[derive(Debug, Copy, Clone)]
4685pub struct _tagEOS_UI_MemoryMonitorCallbackInfo {
4686 #[doc = " Context that was passed into EOS_UI_AddNotifyMemoryMonitor"]
4687 pub ClientData: *mut ::std::os::raw::c_void,
4688 #[doc = " This field is for system specific memory monitor report.\n\n If provided then the structure will be located in eos_<platform>_ui.h\n The structure will be named EOS_<platform>_MemoryMonitorReport."]
4689 pub SystemMemoryMonitorReport: *const ::std::os::raw::c_void,
4690}
4691impl Default for _tagEOS_UI_MemoryMonitorCallbackInfo {
4692 fn default() -> Self {
4693 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4694 unsafe {
4695 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4696 s.assume_init()
4697 }
4698 }
4699}
4700#[doc = " A structure representing a memory monitoring message."]
4701pub type EOS_UI_MemoryMonitorCallbackInfo = _tagEOS_UI_MemoryMonitorCallbackInfo;
4702#[doc = " Input parameters for the EOS_UI_AddNotifyMemoryMonitor function."]
4703#[repr(C)]
4704#[derive(Debug, Default, Copy, Clone)]
4705pub struct _tagEOS_UI_AddNotifyMemoryMonitorOptions {
4706 #[doc = " API Version: Set this to EOS_UI_ADDNOTIFYMEMORYMONITOR_API_LATEST."]
4707 pub ApiVersion: i32,
4708}
4709#[doc = " Input parameters for the EOS_UI_AddNotifyMemoryMonitor function."]
4710pub type EOS_UI_AddNotifyMemoryMonitorOptions = _tagEOS_UI_AddNotifyMemoryMonitorOptions;
4711#[doc = " Function prototype definition for callbacks passed to EOS_UI_AddNotifyMemoryMonitor\n @param Data A EOS_UI_MemoryMonitorCallbackInfo containing the output information and result"]
4712pub type EOS_UI_OnMemoryMonitorCallback =
4713 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_UI_MemoryMonitorCallbackInfo)>;
4714#[doc = " Do nothing when an on screen keyboard is requested. This effectively disables on screen keyboards."]
4715pub const EOS_UI_EOnScreenKeyboardBehavior_EOS_UIOSKB_None: EOS_UI_EOnScreenKeyboardBehavior = 0;
4716#[doc = " Receive a notification when an on screen keyboard is requested. Use this to implement custom on screen keyboard logic."]
4717pub const EOS_UI_EOnScreenKeyboardBehavior_EOS_UIOSKB_Notification:
4718 EOS_UI_EOnScreenKeyboardBehavior = 1;
4719#[doc = " Try to launch the native on screen keyboard when one is requested."]
4720pub const EOS_UI_EOnScreenKeyboardBehavior_EOS_UIOSKB_Native: EOS_UI_EOnScreenKeyboardBehavior = 2;
4721pub const EOS_UI_EOnScreenKeyboardBehavior___EOS_UI_EOnScreenKeyboardBehavior_PAD_INT32__:
4722 EOS_UI_EOnScreenKeyboardBehavior = 2147483647;
4723#[doc = " An on screen keyboard behavior."]
4724pub type EOS_UI_EOnScreenKeyboardBehavior = ::std::os::raw::c_int;
4725#[doc = " Input parameters for the EOS_UI_ConfigureOnScreenKeyboard function."]
4726#[repr(C)]
4727#[derive(Debug, Copy, Clone)]
4728pub struct _tagEOS_UI_ConfigureOnScreenKeyboardOptions {
4729 #[doc = " API Version: Set this to EOS_UI_CONFIGUREONSCREENKEYBOARD_API_LATEST."]
4730 pub ApiVersion: i32,
4731 #[doc = " The behavior of the on screen keyboard."]
4732 pub Behavior: EOS_UI_EOnScreenKeyboardBehavior,
4733 #[doc = " Whether to enable device checks.\n When enabled, the overlay will use a number of heuristics based on the device's configuration to determine whether an on screen keyboard should be requested.\n When disabled, on screen keyboards will always be requested regardless of device configuration.\n Note, by setting environment variable \"EOS_OVERLAY_OSK\" to 0, on screen keyboard requests will always fail, and by setting it to 1, device checks will always succeed."]
4734 pub bIsDeviceChecksEnabled: EOS_Bool,
4735}
4736impl Default for _tagEOS_UI_ConfigureOnScreenKeyboardOptions {
4737 fn default() -> Self {
4738 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4739 unsafe {
4740 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4741 s.assume_init()
4742 }
4743 }
4744}
4745#[doc = " Input parameters for the EOS_UI_ConfigureOnScreenKeyboard function."]
4746pub type EOS_UI_ConfigureOnScreenKeyboardOptions = _tagEOS_UI_ConfigureOnScreenKeyboardOptions;
4747#[doc = " No on screen keyboard."]
4748pub const EOS_UI_EOnScreenKeyboardType_EOS_UIOSKT_None: EOS_UI_EOnScreenKeyboardType = 0;
4749#[doc = " The default on screen keyboard."]
4750pub const EOS_UI_EOnScreenKeyboardType_EOS_UIOSKT_Default: EOS_UI_EOnScreenKeyboardType = 1;
4751#[doc = " The text on screen keyboard."]
4752pub const EOS_UI_EOnScreenKeyboardType_EOS_UIOSKT_Text: EOS_UI_EOnScreenKeyboardType = 2;
4753#[doc = " The telephone number on screen keyboard."]
4754pub const EOS_UI_EOnScreenKeyboardType_EOS_UIOSKT_TelephoneNumber: EOS_UI_EOnScreenKeyboardType = 3;
4755#[doc = " The URL on screen keyboard."]
4756pub const EOS_UI_EOnScreenKeyboardType_EOS_UIOSKT_URL: EOS_UI_EOnScreenKeyboardType = 4;
4757#[doc = " The email on screen keyboard."]
4758pub const EOS_UI_EOnScreenKeyboardType_EOS_UIOSKT_Email: EOS_UI_EOnScreenKeyboardType = 5;
4759#[doc = " The numeric on screen keyboard."]
4760pub const EOS_UI_EOnScreenKeyboardType_EOS_UIOSKT_Numeric: EOS_UI_EOnScreenKeyboardType = 6;
4761#[doc = " The decimal on screen keyboard."]
4762pub const EOS_UI_EOnScreenKeyboardType_EOS_UIOSKT_Decimal: EOS_UI_EOnScreenKeyboardType = 7;
4763#[doc = " The search on screen keyboard."]
4764pub const EOS_UI_EOnScreenKeyboardType_EOS_UIOSKT_Search: EOS_UI_EOnScreenKeyboardType = 8;
4765pub const EOS_UI_EOnScreenKeyboardType___EOS_UI_EOnScreenKeyboardType_PAD_INT32__:
4766 EOS_UI_EOnScreenKeyboardType = 2147483647;
4767#[doc = " An on screen keyboard type."]
4768pub type EOS_UI_EOnScreenKeyboardType = ::std::os::raw::c_int;
4769#[doc = " Input parameters for the EOS_UI_AddNotifyOnScreenKeyboardRequested function."]
4770#[repr(C)]
4771#[derive(Debug, Default, Copy, Clone)]
4772pub struct _tagEOS_UI_AddNotifyOnScreenKeyboardRequestedOptions {
4773 #[doc = " API Version: Set this to EOS_UI_ADDNOTIFYONSCREENKEYBOARDREQUESTED_API_LATEST."]
4774 pub ApiVersion: i32,
4775}
4776#[doc = " Input parameters for the EOS_UI_AddNotifyOnScreenKeyboardRequested function."]
4777pub type EOS_UI_AddNotifyOnScreenKeyboardRequestedOptions =
4778 _tagEOS_UI_AddNotifyOnScreenKeyboardRequestedOptions;
4779#[doc = " Output parameters for the EOS_UI_AddNotifyOnScreenKeyboardRequested function."]
4780#[repr(C)]
4781#[derive(Debug, Copy, Clone)]
4782pub struct _tagEOS_UI_OnScreenKeyboardRequestedCallbackInfo {
4783 #[doc = " Context that was passed into EOS_UI_AddNotifyOnScreenKeyboardRequested"]
4784 pub ClientData: *mut ::std::os::raw::c_void,
4785 #[doc = " The type of on screen keyboard being requested."]
4786 pub Type: EOS_UI_EOnScreenKeyboardType,
4787}
4788impl Default for _tagEOS_UI_OnScreenKeyboardRequestedCallbackInfo {
4789 fn default() -> Self {
4790 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4791 unsafe {
4792 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4793 s.assume_init()
4794 }
4795 }
4796}
4797#[doc = " Output parameters for the EOS_UI_AddNotifyOnScreenKeyboardRequested function."]
4798pub type EOS_UI_OnScreenKeyboardRequestedCallbackInfo =
4799 _tagEOS_UI_OnScreenKeyboardRequestedCallbackInfo;
4800#[doc = " Function prototype definition for callbacks passed to EOS_UI_AddNotifyOnScreenKeyboardRequested.\n @param Data A EOS_UI_OnScreenKeyboardRequestedCallbackInfo containing notification data."]
4801pub type EOS_UI_OnScreenKeyboardRequestedCallback = ::std::option::Option<
4802 unsafe extern "C" fn(Data: *const EOS_UI_OnScreenKeyboardRequestedCallbackInfo),
4803>;
4804#[repr(C)]
4805#[derive(Debug, Copy, Clone)]
4806pub struct EOS_FriendsHandle {
4807 _unused: [u8; 0],
4808}
4809pub type EOS_HFriends = *mut EOS_FriendsHandle;
4810#[doc = " Input parameters for the EOS_Friends_QueryFriends function."]
4811#[repr(C)]
4812#[derive(Debug, Copy, Clone)]
4813pub struct _tagEOS_Friends_QueryFriendsOptions {
4814 #[doc = " API Version: Set this to EOS_FRIENDS_QUERYFRIENDS_API_LATEST."]
4815 pub ApiVersion: i32,
4816 #[doc = " The Epic Account ID of the local, logged-in user whose friends list you want to retrieve"]
4817 pub LocalUserId: EOS_EpicAccountId,
4818}
4819impl Default for _tagEOS_Friends_QueryFriendsOptions {
4820 fn default() -> Self {
4821 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4822 unsafe {
4823 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4824 s.assume_init()
4825 }
4826 }
4827}
4828#[doc = " Input parameters for the EOS_Friends_QueryFriends function."]
4829pub type EOS_Friends_QueryFriendsOptions = _tagEOS_Friends_QueryFriendsOptions;
4830#[doc = " Output parameters for the EOS_Friends_QueryFriends Function. These parameters are received through the callback provided to EOS_Friends_QueryFriends"]
4831#[repr(C)]
4832#[derive(Debug, Copy, Clone)]
4833pub struct _tagEOS_Friends_QueryFriendsCallbackInfo {
4834 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
4835 pub ResultCode: EOS_EResult,
4836 #[doc = " Context that was passed into EOS_Friends_QueryFriends"]
4837 pub ClientData: *mut ::std::os::raw::c_void,
4838 #[doc = " The Epic Account ID of the user whose friends were queried"]
4839 pub LocalUserId: EOS_EpicAccountId,
4840}
4841impl Default for _tagEOS_Friends_QueryFriendsCallbackInfo {
4842 fn default() -> Self {
4843 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4844 unsafe {
4845 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4846 s.assume_init()
4847 }
4848 }
4849}
4850#[doc = " Output parameters for the EOS_Friends_QueryFriends Function. These parameters are received through the callback provided to EOS_Friends_QueryFriends"]
4851pub type EOS_Friends_QueryFriendsCallbackInfo = _tagEOS_Friends_QueryFriendsCallbackInfo;
4852#[doc = " Function prototype definition for callbacks passed to EOS_Friends_QueryFriends\n @param Data A EOS_Friends_QueryFriendsCallbackInfo containing the output information and result"]
4853pub type EOS_Friends_OnQueryFriendsCallback =
4854 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Friends_QueryFriendsCallbackInfo)>;
4855#[doc = " Input parameters for the EOS_Friends_SendInvite function."]
4856#[repr(C)]
4857#[derive(Debug, Copy, Clone)]
4858pub struct _tagEOS_Friends_SendInviteOptions {
4859 #[doc = " API Version: Set this to EOS_FRIENDS_SENDINVITE_API_LATEST."]
4860 pub ApiVersion: i32,
4861 #[doc = " The Epic Account ID of the local, logged-in user who is sending the friends list invitation"]
4862 pub LocalUserId: EOS_EpicAccountId,
4863 #[doc = " The Epic Account ID of the user who is receiving the friends list invitation"]
4864 pub TargetUserId: EOS_EpicAccountId,
4865}
4866impl Default for _tagEOS_Friends_SendInviteOptions {
4867 fn default() -> Self {
4868 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4869 unsafe {
4870 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4871 s.assume_init()
4872 }
4873 }
4874}
4875#[doc = " Input parameters for the EOS_Friends_SendInvite function."]
4876pub type EOS_Friends_SendInviteOptions = _tagEOS_Friends_SendInviteOptions;
4877#[doc = " Output parameters for the EOS_Friends_SendInvite API."]
4878#[repr(C)]
4879#[derive(Debug, Copy, Clone)]
4880pub struct _tagEOS_Friends_SendInviteCallbackInfo {
4881 #[doc = " Result code for the operation. EOS_Success is returned if the invitation was sent, otherwise one of the error codes is returned. See eos_common.h"]
4882 pub ResultCode: EOS_EResult,
4883 #[doc = " Context that was passed into EOS_Friends_SendInvite"]
4884 pub ClientData: *mut ::std::os::raw::c_void,
4885 #[doc = " The Epic Account ID of the user who sent the friends list invitation"]
4886 pub LocalUserId: EOS_EpicAccountId,
4887 #[doc = " The Epic Account ID of the user to whom the friends list invitation was sent"]
4888 pub TargetUserId: EOS_EpicAccountId,
4889}
4890impl Default for _tagEOS_Friends_SendInviteCallbackInfo {
4891 fn default() -> Self {
4892 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4893 unsafe {
4894 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4895 s.assume_init()
4896 }
4897 }
4898}
4899#[doc = " Output parameters for the EOS_Friends_SendInvite API."]
4900pub type EOS_Friends_SendInviteCallbackInfo = _tagEOS_Friends_SendInviteCallbackInfo;
4901#[doc = " Function prototype definition for callbacks passed to EOS_Friends_SendInvite\n @param Data A EOS_Friends_SendInviteCallbackInfo containing the output information and result."]
4902pub type EOS_Friends_OnSendInviteCallback =
4903 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Friends_SendInviteCallbackInfo)>;
4904#[doc = " Input parameters for the EOS_Friends_AcceptInvite function."]
4905#[repr(C)]
4906#[derive(Debug, Copy, Clone)]
4907pub struct _tagEOS_Friends_AcceptInviteOptions {
4908 #[doc = " API Version: Set this to EOS_FRIENDS_ACCEPTINVITE_API_LATEST."]
4909 pub ApiVersion: i32,
4910 #[doc = " The Epic Account ID of the local, logged-in user who is accepting the friends list invitation"]
4911 pub LocalUserId: EOS_EpicAccountId,
4912 #[doc = " The Epic Account ID of the user who sent the friends list invitation"]
4913 pub TargetUserId: EOS_EpicAccountId,
4914}
4915impl Default for _tagEOS_Friends_AcceptInviteOptions {
4916 fn default() -> Self {
4917 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4918 unsafe {
4919 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4920 s.assume_init()
4921 }
4922 }
4923}
4924#[doc = " Input parameters for the EOS_Friends_AcceptInvite function."]
4925pub type EOS_Friends_AcceptInviteOptions = _tagEOS_Friends_AcceptInviteOptions;
4926#[doc = " Output parameters for the EOS_Friends_AcceptInvite Function."]
4927#[repr(C)]
4928#[derive(Debug, Copy, Clone)]
4929pub struct _tagEOS_Friends_AcceptInviteCallbackInfo {
4930 #[doc = " Result code for the operation. EOS_Success is returned if an invite was accepted, otherwise one of the error codes is returned. See eos_common.h"]
4931 pub ResultCode: EOS_EResult,
4932 #[doc = " Context that is passed into EOS_Friends_AcceptInvite"]
4933 pub ClientData: *mut ::std::os::raw::c_void,
4934 #[doc = " The Epic Account ID of the user who is accepting the friends list invitation"]
4935 pub LocalUserId: EOS_EpicAccountId,
4936 #[doc = " The Epic Account ID of the user who sent the local user a friends list invitation"]
4937 pub TargetUserId: EOS_EpicAccountId,
4938}
4939impl Default for _tagEOS_Friends_AcceptInviteCallbackInfo {
4940 fn default() -> Self {
4941 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4942 unsafe {
4943 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4944 s.assume_init()
4945 }
4946 }
4947}
4948#[doc = " Output parameters for the EOS_Friends_AcceptInvite Function."]
4949pub type EOS_Friends_AcceptInviteCallbackInfo = _tagEOS_Friends_AcceptInviteCallbackInfo;
4950#[doc = " Function prototype definition for callbacks passed to EOS_Friends_AcceptInvite\n @param Data A EOS_Friends_AcceptInviteCallbackInfo containing the output information and result."]
4951pub type EOS_Friends_OnAcceptInviteCallback =
4952 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Friends_AcceptInviteCallbackInfo)>;
4953#[doc = " Input parameters for the EOS_Friends_RejectInvite function."]
4954#[repr(C)]
4955#[derive(Debug, Copy, Clone)]
4956pub struct _tagEOS_Friends_RejectInviteOptions {
4957 #[doc = " API Version: Set this to EOS_FRIENDS_REJECTINVITE_API_LATEST."]
4958 pub ApiVersion: i32,
4959 #[doc = " The Epic Account ID of the local, logged-in user who is rejecting a friends list invitation"]
4960 pub LocalUserId: EOS_EpicAccountId,
4961 #[doc = " The Epic Account ID of the user who sent the friends list invitation"]
4962 pub TargetUserId: EOS_EpicAccountId,
4963}
4964impl Default for _tagEOS_Friends_RejectInviteOptions {
4965 fn default() -> Self {
4966 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4967 unsafe {
4968 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4969 s.assume_init()
4970 }
4971 }
4972}
4973#[doc = " Input parameters for the EOS_Friends_RejectInvite function."]
4974pub type EOS_Friends_RejectInviteOptions = _tagEOS_Friends_RejectInviteOptions;
4975#[doc = " Output parameters for the EOS_Friends_RejectInvite Function."]
4976#[repr(C)]
4977#[derive(Debug, Copy, Clone)]
4978pub struct _tagEOS_Friends_RejectInviteCallbackInfo {
4979 #[doc = " Result code for the operation. EOS_Success is returned if an invite was accepted, otherwise one of the error codes is returned. See eos_common.h"]
4980 pub ResultCode: EOS_EResult,
4981 #[doc = " Context that is passed into EOS_Friends_RejectInvite"]
4982 pub ClientData: *mut ::std::os::raw::c_void,
4983 #[doc = " The Epic Account ID of the user who is rejecting the friends list invitation"]
4984 pub LocalUserId: EOS_EpicAccountId,
4985 #[doc = " The Epic Account ID of the user who sent the friends list invitation"]
4986 pub TargetUserId: EOS_EpicAccountId,
4987}
4988impl Default for _tagEOS_Friends_RejectInviteCallbackInfo {
4989 fn default() -> Self {
4990 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4991 unsafe {
4992 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4993 s.assume_init()
4994 }
4995 }
4996}
4997#[doc = " Output parameters for the EOS_Friends_RejectInvite Function."]
4998pub type EOS_Friends_RejectInviteCallbackInfo = _tagEOS_Friends_RejectInviteCallbackInfo;
4999#[doc = " Function prototype definition for callbacks passed to EOS_Friends_RejectInvite\n @param Data A EOS_Friends_RejectInviteCallbackInfo containing output information and the result."]
5000pub type EOS_Friends_OnRejectInviteCallback =
5001 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Friends_RejectInviteCallbackInfo)>;
5002#[doc = " Input parameters for the EOS_Friends_GetFriendsCount function."]
5003#[repr(C)]
5004#[derive(Debug, Copy, Clone)]
5005pub struct _tagEOS_Friends_GetFriendsCountOptions {
5006 #[doc = " API Version: Set this to EOS_FRIENDS_GETFRIENDSCOUNT_API_LATEST."]
5007 pub ApiVersion: i32,
5008 #[doc = " The Epic Account ID of the user whose friends should be counted"]
5009 pub LocalUserId: EOS_EpicAccountId,
5010}
5011impl Default for _tagEOS_Friends_GetFriendsCountOptions {
5012 fn default() -> Self {
5013 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5014 unsafe {
5015 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5016 s.assume_init()
5017 }
5018 }
5019}
5020#[doc = " Input parameters for the EOS_Friends_GetFriendsCount function."]
5021pub type EOS_Friends_GetFriendsCountOptions = _tagEOS_Friends_GetFriendsCountOptions;
5022#[doc = " Input parameters for the EOS_Friends_GetFriendAtIndex function."]
5023#[repr(C)]
5024#[derive(Debug, Copy, Clone)]
5025pub struct _tagEOS_Friends_GetFriendAtIndexOptions {
5026 #[doc = " API Version: Set this to EOS_FRIENDS_GETFRIENDATINDEX_API_LATEST."]
5027 pub ApiVersion: i32,
5028 #[doc = " The Epic Account ID of the user whose friend list is being queried"]
5029 pub LocalUserId: EOS_EpicAccountId,
5030 #[doc = " Index into the friend list. This value must be between 0 and EOS_Friends_GetFriendsCount-1 inclusively."]
5031 pub Index: i32,
5032}
5033impl Default for _tagEOS_Friends_GetFriendAtIndexOptions {
5034 fn default() -> Self {
5035 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5036 unsafe {
5037 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5038 s.assume_init()
5039 }
5040 }
5041}
5042#[doc = " Input parameters for the EOS_Friends_GetFriendAtIndex function."]
5043pub type EOS_Friends_GetFriendAtIndexOptions = _tagEOS_Friends_GetFriendAtIndexOptions;
5044#[doc = " The two accounts have no friendship status."]
5045pub const EOS_EFriendsStatus_EOS_FS_NotFriends: EOS_EFriendsStatus = 0;
5046#[doc = " The local account has sent a friend invite to the other account.\n\n NOTE: EOS_FS_InviteSent is not returned by EOS_Friends_GetStatus or in EOS_Friends_AddNotifyFriendsUpdate callbacks unless\n the local account was logged in with the EOS_AS_FriendsManagement authentication scope. Friend invites are managed\n automatically by the Social Overlay."]
5047pub const EOS_EFriendsStatus_EOS_FS_InviteSent: EOS_EFriendsStatus = 1;
5048#[doc = " The other account has sent a friend invite to the local account.\n\n NOTE: EOS_FS_InviteReceived is not returned by EOS_Friends_GetStatus or in EOS_Friends_AddNotifyFriendsUpdate callbacks unless\n the local account was logged in with the EOS_AS_FriendsManagement authentication scope. Friend invites are managed\n automatically by the Social Overlay."]
5049pub const EOS_EFriendsStatus_EOS_FS_InviteReceived: EOS_EFriendsStatus = 2;
5050#[doc = " The accounts have accepted friendship."]
5051pub const EOS_EFriendsStatus_EOS_FS_Friends: EOS_EFriendsStatus = 3;
5052pub const EOS_EFriendsStatus___EOS_EFriendsStatus_PAD_INT32__: EOS_EFriendsStatus = 2147483647;
5053#[doc = " An enumeration of the different friendship statuses."]
5054pub type EOS_EFriendsStatus = ::std::os::raw::c_int;
5055#[doc = " Input parameters for the EOS_Friends_GetStatus function."]
5056#[repr(C)]
5057#[derive(Debug, Copy, Clone)]
5058pub struct _tagEOS_Friends_GetStatusOptions {
5059 #[doc = " API Version: Set this to EOS_FRIENDS_GETSTATUS_API_LATEST."]
5060 pub ApiVersion: i32,
5061 #[doc = " The Epic Account ID of the local, logged in user"]
5062 pub LocalUserId: EOS_EpicAccountId,
5063 #[doc = " The Epic Account ID of the user whose friendship status with the local user is being queried"]
5064 pub TargetUserId: EOS_EpicAccountId,
5065}
5066impl Default for _tagEOS_Friends_GetStatusOptions {
5067 fn default() -> Self {
5068 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5069 unsafe {
5070 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5071 s.assume_init()
5072 }
5073 }
5074}
5075#[doc = " Input parameters for the EOS_Friends_GetStatus function."]
5076pub type EOS_Friends_GetStatusOptions = _tagEOS_Friends_GetStatusOptions;
5077#[doc = " Input parameters for the EOS_Friends_AddNotifyFriendsUpdate function."]
5078#[repr(C)]
5079#[derive(Debug, Default, Copy, Clone)]
5080pub struct _tagEOS_Friends_AddNotifyFriendsUpdateOptions {
5081 #[doc = " API Version: Set this to EOS_FRIENDS_ADDNOTIFYFRIENDSUPDATE_API_LATEST."]
5082 pub ApiVersion: i32,
5083}
5084#[doc = " Input parameters for the EOS_Friends_AddNotifyFriendsUpdate function."]
5085pub type EOS_Friends_AddNotifyFriendsUpdateOptions = _tagEOS_Friends_AddNotifyFriendsUpdateOptions;
5086#[doc = " Structure containing information about a friend status update."]
5087#[repr(C)]
5088#[derive(Debug, Copy, Clone)]
5089pub struct _tagEOS_Friends_OnFriendsUpdateInfo {
5090 #[doc = " Client-specified data passed into EOS_Friends_AddNotifyFriendsUpdate"]
5091 pub ClientData: *mut ::std::os::raw::c_void,
5092 #[doc = " The Epic Account ID of the local user who is receiving the update"]
5093 pub LocalUserId: EOS_EpicAccountId,
5094 #[doc = " The Epic Account ID of the user whose status is being updated."]
5095 pub TargetUserId: EOS_EpicAccountId,
5096 #[doc = " The previous status of the user."]
5097 pub PreviousStatus: EOS_EFriendsStatus,
5098 #[doc = " The current status of the user."]
5099 pub CurrentStatus: EOS_EFriendsStatus,
5100}
5101impl Default for _tagEOS_Friends_OnFriendsUpdateInfo {
5102 fn default() -> Self {
5103 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5104 unsafe {
5105 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5106 s.assume_init()
5107 }
5108 }
5109}
5110#[doc = " Structure containing information about a friend status update."]
5111pub type EOS_Friends_OnFriendsUpdateInfo = _tagEOS_Friends_OnFriendsUpdateInfo;
5112#[doc = " Callback for information related to a friend status update."]
5113pub type EOS_Friends_OnFriendsUpdateCallback =
5114 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Friends_OnFriendsUpdateInfo)>;
5115#[doc = " Input parameters for the EOS_Friends_GetBlockedUsersCount function."]
5116#[repr(C)]
5117#[derive(Debug, Copy, Clone)]
5118pub struct _tagEOS_Friends_GetBlockedUsersCountOptions {
5119 #[doc = " API Version: Set this to EOS_FRIENDS_GETBLOCKEDUSERSCOUNT_API_LATEST."]
5120 pub ApiVersion: i32,
5121 #[doc = " The Epic Account ID of the user whose blocked users should be counted."]
5122 pub LocalUserId: EOS_EpicAccountId,
5123}
5124impl Default for _tagEOS_Friends_GetBlockedUsersCountOptions {
5125 fn default() -> Self {
5126 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5127 unsafe {
5128 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5129 s.assume_init()
5130 }
5131 }
5132}
5133#[doc = " Input parameters for the EOS_Friends_GetBlockedUsersCount function."]
5134pub type EOS_Friends_GetBlockedUsersCountOptions = _tagEOS_Friends_GetBlockedUsersCountOptions;
5135#[doc = " Input parameters for the EOS_Friends_GetBlockedUserAtIndex function."]
5136#[repr(C)]
5137#[derive(Debug, Copy, Clone)]
5138pub struct _tagEOS_Friends_GetBlockedUserAtIndexOptions {
5139 #[doc = " API Version: Set this to EOS_FRIENDS_GETBLOCKEDUSERATINDEX_API_LATEST."]
5140 pub ApiVersion: i32,
5141 #[doc = " The Epic Account ID of the user whose blocked users list is being queried."]
5142 pub LocalUserId: EOS_EpicAccountId,
5143 #[doc = " Index into the blocked users list. This value must be between 0 and EOS_Friends_GetBlockedUsersCount-1 inclusively."]
5144 pub Index: i32,
5145}
5146impl Default for _tagEOS_Friends_GetBlockedUserAtIndexOptions {
5147 fn default() -> Self {
5148 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5149 unsafe {
5150 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5151 s.assume_init()
5152 }
5153 }
5154}
5155#[doc = " Input parameters for the EOS_Friends_GetBlockedUserAtIndex function."]
5156pub type EOS_Friends_GetBlockedUserAtIndexOptions = _tagEOS_Friends_GetBlockedUserAtIndexOptions;
5157#[doc = " Input parameters for the EOS_Friends_AddNotifyBlockedUsersUpdate function."]
5158#[repr(C)]
5159#[derive(Debug, Default, Copy, Clone)]
5160pub struct _tagEOS_Friends_AddNotifyBlockedUsersUpdateOptions {
5161 #[doc = " API Version: Set this to EOS_FRIENDS_ADDNOTIFYBLOCKEDUSERSUPDATE_API_LATEST."]
5162 pub ApiVersion: i32,
5163}
5164#[doc = " Input parameters for the EOS_Friends_AddNotifyBlockedUsersUpdate function."]
5165pub type EOS_Friends_AddNotifyBlockedUsersUpdateOptions =
5166 _tagEOS_Friends_AddNotifyBlockedUsersUpdateOptions;
5167#[doc = " Structure containing information about a blocklist update."]
5168#[repr(C)]
5169#[derive(Debug, Copy, Clone)]
5170pub struct _tagEOS_Friends_OnBlockedUsersUpdateInfo {
5171 #[doc = " Client-specified data passed into EOS_Friends_AddNotifyBlockedUsersUpdate"]
5172 pub ClientData: *mut ::std::os::raw::c_void,
5173 #[doc = " The Epic Account ID of the local user who is receiving the update"]
5174 pub LocalUserId: EOS_EpicAccountId,
5175 #[doc = " The Epic Account ID of the user whose blocked status is being updated."]
5176 pub TargetUserId: EOS_EpicAccountId,
5177 #[doc = " TargetUserId block status (blocked or not)."]
5178 pub bBlocked: EOS_Bool,
5179}
5180impl Default for _tagEOS_Friends_OnBlockedUsersUpdateInfo {
5181 fn default() -> Self {
5182 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5183 unsafe {
5184 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5185 s.assume_init()
5186 }
5187 }
5188}
5189#[doc = " Structure containing information about a blocklist update."]
5190pub type EOS_Friends_OnBlockedUsersUpdateInfo = _tagEOS_Friends_OnBlockedUsersUpdateInfo;
5191#[doc = " Callback for information related to a blocklist update."]
5192pub type EOS_Friends_OnBlockedUsersUpdateCallback =
5193 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Friends_OnBlockedUsersUpdateInfo)>;
5194#[repr(C)]
5195#[derive(Debug, Copy, Clone)]
5196pub struct EOS_PresenceHandle {
5197 _unused: [u8; 0],
5198}
5199pub type EOS_HPresence = *mut EOS_PresenceHandle;
5200#[repr(C)]
5201#[derive(Debug, Copy, Clone)]
5202pub struct EOS_PresenceModificationHandle {
5203 _unused: [u8; 0],
5204}
5205pub type EOS_HPresenceModification = *mut EOS_PresenceModificationHandle;
5206#[doc = " The status of the account is offline or not known"]
5207pub const EOS_Presence_EStatus_EOS_PS_Offline: EOS_Presence_EStatus = 0;
5208#[doc = " The status of the account is online"]
5209pub const EOS_Presence_EStatus_EOS_PS_Online: EOS_Presence_EStatus = 1;
5210#[doc = " The status of the account is away"]
5211pub const EOS_Presence_EStatus_EOS_PS_Away: EOS_Presence_EStatus = 2;
5212#[doc = " The status of the account is away, and has been away for a while"]
5213pub const EOS_Presence_EStatus_EOS_PS_ExtendedAway: EOS_Presence_EStatus = 3;
5214#[doc = " The status of the account is do-not-disturb"]
5215pub const EOS_Presence_EStatus_EOS_PS_DoNotDisturb: EOS_Presence_EStatus = 4;
5216pub const EOS_Presence_EStatus___EOS_Presence_EStatus_PAD_INT32__: EOS_Presence_EStatus =
5217 2147483647;
5218#[doc = " Presence Status states of a user\n\n @see EOS_Presence_CopyPresence\n @see EOS_PresenceModification_SetStatus"]
5219pub type EOS_Presence_EStatus = ::std::os::raw::c_int;
5220#[doc = " An individual presence data record that belongs to a EOS_Presence_Info object. This object is released when its parent EOS_Presence_Info object is released.\n\n @see EOS_Presence_Info"]
5221#[repr(C)]
5222#[derive(Debug, Copy, Clone)]
5223pub struct _tagEOS_Presence_DataRecord {
5224 #[doc = " API Version: Set this to EOS_PRESENCE_DATARECORD_API_LATEST."]
5225 pub ApiVersion: i32,
5226 #[doc = " The name of this data"]
5227 pub Key: *const ::std::os::raw::c_char,
5228 #[doc = " The value of this data"]
5229 pub Value: *const ::std::os::raw::c_char,
5230}
5231impl Default for _tagEOS_Presence_DataRecord {
5232 fn default() -> Self {
5233 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5234 unsafe {
5235 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5236 s.assume_init()
5237 }
5238 }
5239}
5240#[doc = " An individual presence data record that belongs to a EOS_Presence_Info object. This object is released when its parent EOS_Presence_Info object is released.\n\n @see EOS_Presence_Info"]
5241pub type EOS_Presence_DataRecord = _tagEOS_Presence_DataRecord;
5242#[doc = " All the known presence information for a specific user. This object must be released by calling EOS_Presence_Info_Release.\n\n @see EOS_Presence_CopyPresence\n @see EOS_Presence_Info_Release"]
5243#[repr(C)]
5244#[derive(Debug, Copy, Clone)]
5245pub struct _tagEOS_Presence_Info {
5246 #[doc = " API Version: Set this to EOS_PRESENCE_INFO_API_LATEST."]
5247 pub ApiVersion: i32,
5248 #[doc = " The status of the user"]
5249 pub Status: EOS_Presence_EStatus,
5250 #[doc = " The Epic Account ID of the user"]
5251 pub UserId: EOS_EpicAccountId,
5252 #[doc = " The product ID that the user is logged in from"]
5253 pub ProductId: *const ::std::os::raw::c_char,
5254 #[doc = " The version of the product the user is logged in from"]
5255 pub ProductVersion: *const ::std::os::raw::c_char,
5256 #[doc = " The platform of that the user is logged in from"]
5257 pub Platform: *const ::std::os::raw::c_char,
5258 #[doc = " Rich text of the user."]
5259 pub RichText: *const ::std::os::raw::c_char,
5260 #[doc = " The count of records available"]
5261 pub RecordsCount: i32,
5262 #[doc = " The first data record, or NULL if RecordsCount is not at least 1"]
5263 pub Records: *const EOS_Presence_DataRecord,
5264 #[doc = " The user-facing name for the product the user is logged in from"]
5265 pub ProductName: *const ::std::os::raw::c_char,
5266 #[doc = " The integrated platform that the user is logged in with"]
5267 pub IntegratedPlatform: *const ::std::os::raw::c_char,
5268}
5269impl Default for _tagEOS_Presence_Info {
5270 fn default() -> Self {
5271 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5272 unsafe {
5273 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5274 s.assume_init()
5275 }
5276 }
5277}
5278#[doc = " All the known presence information for a specific user. This object must be released by calling EOS_Presence_Info_Release.\n\n @see EOS_Presence_CopyPresence\n @see EOS_Presence_Info_Release"]
5279pub type EOS_Presence_Info = _tagEOS_Presence_Info;
5280#[doc = " Data for the EOS_Presence_QueryPresence function"]
5281#[repr(C)]
5282#[derive(Debug, Copy, Clone)]
5283pub struct _tagEOS_Presence_QueryPresenceOptions {
5284 #[doc = " API Version: Set this to EOS_PRESENCE_QUERYPRESENCE_API_LATEST."]
5285 pub ApiVersion: i32,
5286 #[doc = " The Epic Account ID of the local, logged-in user making the request"]
5287 pub LocalUserId: EOS_EpicAccountId,
5288 #[doc = " The Epic Account ID of the user whose presence data you want to retrieve; this value must be either the user making the request, or a friend of that user"]
5289 pub TargetUserId: EOS_EpicAccountId,
5290}
5291impl Default for _tagEOS_Presence_QueryPresenceOptions {
5292 fn default() -> Self {
5293 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5294 unsafe {
5295 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5296 s.assume_init()
5297 }
5298 }
5299}
5300#[doc = " Data for the EOS_Presence_QueryPresence function"]
5301pub type EOS_Presence_QueryPresenceOptions = _tagEOS_Presence_QueryPresenceOptions;
5302#[doc = " The result meta-data for a presence query."]
5303#[repr(C)]
5304#[derive(Debug, Copy, Clone)]
5305pub struct _tagEOS_Presence_QueryPresenceCallbackInfo {
5306 #[doc = " Result code for the operation. EOS_Success is returned for a successful query, other codes indicate an error"]
5307 pub ResultCode: EOS_EResult,
5308 #[doc = " Client-specified data passed into EOS_Presence_QueryPresence"]
5309 pub ClientData: *mut ::std::os::raw::c_void,
5310 #[doc = " The Epic Account ID of the local user who made this request"]
5311 pub LocalUserId: EOS_EpicAccountId,
5312 #[doc = " The Epic Account ID of the user whose presence was potentially queried"]
5313 pub TargetUserId: EOS_EpicAccountId,
5314}
5315impl Default for _tagEOS_Presence_QueryPresenceCallbackInfo {
5316 fn default() -> Self {
5317 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5318 unsafe {
5319 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5320 s.assume_init()
5321 }
5322 }
5323}
5324#[doc = " The result meta-data for a presence query."]
5325pub type EOS_Presence_QueryPresenceCallbackInfo = _tagEOS_Presence_QueryPresenceCallbackInfo;
5326#[doc = " Callback for information related to EOS_Presence_QueryPresence finishing."]
5327pub type EOS_Presence_OnQueryPresenceCompleteCallback = ::std::option::Option<
5328 unsafe extern "C" fn(Data: *const EOS_Presence_QueryPresenceCallbackInfo),
5329>;
5330#[doc = " Data for the EOS_Presence_HasPresence function."]
5331#[repr(C)]
5332#[derive(Debug, Copy, Clone)]
5333pub struct _tagEOS_Presence_HasPresenceOptions {
5334 #[doc = " API Version: Set this to EOS_PRESENCE_HASPRESENCE_API_LATEST."]
5335 pub ApiVersion: i32,
5336 #[doc = " The Epic Account ID of the local, logged-in user making the request"]
5337 pub LocalUserId: EOS_EpicAccountId,
5338 #[doc = " The Epic Account ID of the user whose cached presence data you want to locate"]
5339 pub TargetUserId: EOS_EpicAccountId,
5340}
5341impl Default for _tagEOS_Presence_HasPresenceOptions {
5342 fn default() -> Self {
5343 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5344 unsafe {
5345 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5346 s.assume_init()
5347 }
5348 }
5349}
5350#[doc = " Data for the EOS_Presence_HasPresence function."]
5351pub type EOS_Presence_HasPresenceOptions = _tagEOS_Presence_HasPresenceOptions;
5352#[doc = " Data for the EOS_Presence_CopyPresence function."]
5353#[repr(C)]
5354#[derive(Debug, Copy, Clone)]
5355pub struct _tagEOS_Presence_CopyPresenceOptions {
5356 #[doc = " API Version: Set this to EOS_PRESENCE_COPYPRESENCE_API_LATEST."]
5357 pub ApiVersion: i32,
5358 #[doc = " The Epic Account ID of the local, logged-in user making the request"]
5359 pub LocalUserId: EOS_EpicAccountId,
5360 #[doc = " The Epic Account ID of the user whose cached presence data you want to copy from the cache"]
5361 pub TargetUserId: EOS_EpicAccountId,
5362}
5363impl Default for _tagEOS_Presence_CopyPresenceOptions {
5364 fn default() -> Self {
5365 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5366 unsafe {
5367 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5368 s.assume_init()
5369 }
5370 }
5371}
5372#[doc = " Data for the EOS_Presence_CopyPresence function."]
5373pub type EOS_Presence_CopyPresenceOptions = _tagEOS_Presence_CopyPresenceOptions;
5374unsafe extern "C" {
5375 #[doc = " Release the memory associated with an EOS_Presence_Info structure and its sub-objects. This must be called on data retrieved from EOS_Presence_CopyPresence.\n This can be safely called on a NULL presence info object.\n\n @param PresenceInfo The presence info structure to be release"]
5376 pub fn EOS_Presence_Info_Release(PresenceInfo: *mut EOS_Presence_Info);
5377}
5378#[doc = " Data for the EOS_Presence_CreatePresenceModification function."]
5379#[repr(C)]
5380#[derive(Debug, Copy, Clone)]
5381pub struct _tagEOS_Presence_CreatePresenceModificationOptions {
5382 #[doc = " API Version: Set this to EOS_PRESENCE_CREATEPRESENCEMODIFICATION_API_LATEST."]
5383 pub ApiVersion: i32,
5384 #[doc = " The Epic Account ID of the local, logged-in user making the request"]
5385 pub LocalUserId: EOS_EpicAccountId,
5386}
5387impl Default for _tagEOS_Presence_CreatePresenceModificationOptions {
5388 fn default() -> Self {
5389 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5390 unsafe {
5391 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5392 s.assume_init()
5393 }
5394 }
5395}
5396#[doc = " Data for the EOS_Presence_CreatePresenceModification function."]
5397pub type EOS_Presence_CreatePresenceModificationOptions =
5398 _tagEOS_Presence_CreatePresenceModificationOptions;
5399unsafe extern "C" {
5400 #[doc = " Release the memory associated with an EOS_HPresenceModification handle. This must be called on Handles retrieved from EOS_Presence_CreatePresenceModification.\n This can be safely called on a NULL presence modification handle. This also may be safely called while a call to SetPresence is still pending.\n\n @param PresenceModificationHandle The presence modification handle to release\n\n @see EOS_Presence_CreatePresenceModification"]
5401 pub fn EOS_PresenceModification_Release(PresenceModificationHandle: EOS_HPresenceModification);
5402}
5403#[doc = " Data for the EOS_Presence_SetPresence function."]
5404#[repr(C)]
5405#[derive(Debug, Copy, Clone)]
5406pub struct _tagEOS_Presence_SetPresenceOptions {
5407 #[doc = " API Version: Set this to EOS_PRESENCE_SETPRESENCE_API_LATEST."]
5408 pub ApiVersion: i32,
5409 #[doc = " The Epic Account ID of the local, logged-in user making the request"]
5410 pub LocalUserId: EOS_EpicAccountId,
5411 #[doc = " The handle to the presence update"]
5412 pub PresenceModificationHandle: EOS_HPresenceModification,
5413}
5414impl Default for _tagEOS_Presence_SetPresenceOptions {
5415 fn default() -> Self {
5416 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5417 unsafe {
5418 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5419 s.assume_init()
5420 }
5421 }
5422}
5423#[doc = " Data for the EOS_Presence_SetPresence function."]
5424pub type EOS_Presence_SetPresenceOptions = _tagEOS_Presence_SetPresenceOptions;
5425#[doc = " The result meta-data from setting a user's presence."]
5426#[repr(C)]
5427#[derive(Debug, Copy, Clone)]
5428pub struct _tagEOS_Presence_SetPresenceCallbackInfo {
5429 #[doc = " Result code for the operation. EOS_Success is returned if presence was successfully set, other codes indicate an error"]
5430 pub ResultCode: EOS_EResult,
5431 #[doc = " Client-specified data passed into EOS_Presence_SetPresence"]
5432 pub ClientData: *mut ::std::os::raw::c_void,
5433 #[doc = " The Epic Account ID of the local user that had their presence set"]
5434 pub LocalUserId: EOS_EpicAccountId,
5435 #[doc = " Result code for the Rich presence operation. EOS_Success is returned if the Rich presence was successfully set, other code indicates an error."]
5436 pub RichPresenceResultCode: EOS_EResult,
5437}
5438impl Default for _tagEOS_Presence_SetPresenceCallbackInfo {
5439 fn default() -> Self {
5440 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5441 unsafe {
5442 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5443 s.assume_init()
5444 }
5445 }
5446}
5447#[doc = " The result meta-data from setting a user's presence."]
5448pub type EOS_Presence_SetPresenceCallbackInfo = _tagEOS_Presence_SetPresenceCallbackInfo;
5449#[doc = " Callback for information related to EOS_Presence_SetPresence finishing."]
5450pub type EOS_Presence_SetPresenceCompleteCallback =
5451 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Presence_SetPresenceCallbackInfo)>;
5452#[doc = " Data for the EOS_Presence_AddNotifyOnPresenceChanged function."]
5453#[repr(C)]
5454#[derive(Debug, Default, Copy, Clone)]
5455pub struct _tagEOS_Presence_AddNotifyOnPresenceChangedOptions {
5456 #[doc = " API Version: Set this to EOS_PRESENCE_ADDNOTIFYONPRESENCECHANGED_API_LATEST."]
5457 pub ApiVersion: i32,
5458}
5459#[doc = " Data for the EOS_Presence_AddNotifyOnPresenceChanged function."]
5460pub type EOS_Presence_AddNotifyOnPresenceChangedOptions =
5461 _tagEOS_Presence_AddNotifyOnPresenceChangedOptions;
5462#[doc = " Data containing which users presence has changed"]
5463#[repr(C)]
5464#[derive(Debug, Copy, Clone)]
5465pub struct _tagEOS_Presence_PresenceChangedCallbackInfo {
5466 #[doc = " Client-specified data passed into EOS_Presence_AddNotifyOnPresenceChanged"]
5467 pub ClientData: *mut ::std::os::raw::c_void,
5468 #[doc = " The Epic Account ID of the local user who is being informed for PresenceUserId's presence change"]
5469 pub LocalUserId: EOS_EpicAccountId,
5470 #[doc = " The Epic Account ID of the user who had their presence changed"]
5471 pub PresenceUserId: EOS_EpicAccountId,
5472}
5473impl Default for _tagEOS_Presence_PresenceChangedCallbackInfo {
5474 fn default() -> Self {
5475 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5476 unsafe {
5477 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5478 s.assume_init()
5479 }
5480 }
5481}
5482#[doc = " Data containing which users presence has changed"]
5483pub type EOS_Presence_PresenceChangedCallbackInfo = _tagEOS_Presence_PresenceChangedCallbackInfo;
5484#[doc = " Input parameters for the EOS_Presence_AddNotifyJoinGameAccepted function."]
5485#[repr(C)]
5486#[derive(Debug, Default, Copy, Clone)]
5487pub struct _tagEOS_Presence_AddNotifyJoinGameAcceptedOptions {
5488 #[doc = " API Version: Set this to EOS_PRESENCE_ADDNOTIFYJOINGAMEACCEPTED_API_LATEST."]
5489 pub ApiVersion: i32,
5490}
5491#[doc = " Input parameters for the EOS_Presence_AddNotifyJoinGameAccepted function."]
5492pub type EOS_Presence_AddNotifyJoinGameAcceptedOptions =
5493 _tagEOS_Presence_AddNotifyJoinGameAcceptedOptions;
5494#[doc = " Output parameters for the EOS_Presence_OnJoinGameAcceptedCallback Function."]
5495#[repr(C)]
5496#[derive(Debug, Copy, Clone)]
5497pub struct _tagEOS_Presence_JoinGameAcceptedCallbackInfo {
5498 #[doc = " Context that was passed into EOS_Presence_AddNotifyJoinGameAccepted"]
5499 pub ClientData: *mut ::std::os::raw::c_void,
5500 #[doc = " The Join Info custom game-data string to use to join the target user.\n Set to a null pointer to delete the value."]
5501 pub JoinInfo: *const ::std::os::raw::c_char,
5502 #[doc = " The Epic Account ID of the user who accepted the invitation"]
5503 pub LocalUserId: EOS_EpicAccountId,
5504 #[doc = " The Epic Account ID of the user who sent the invitation"]
5505 pub TargetUserId: EOS_EpicAccountId,
5506 #[doc = " If the value is not EOS_UI_EVENTID_INVALID then it must be passed back to the SDK using EOS_UI_AcknowledgeEventId.\n This should be done after attempting to join the game and either succeeding or failing to connect.\n This is necessary to allow the Social Overlay UI to manage the `Join` button."]
5507 pub UiEventId: EOS_UI_EventId,
5508}
5509impl Default for _tagEOS_Presence_JoinGameAcceptedCallbackInfo {
5510 fn default() -> Self {
5511 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5512 unsafe {
5513 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5514 s.assume_init()
5515 }
5516 }
5517}
5518#[doc = " Output parameters for the EOS_Presence_OnJoinGameAcceptedCallback Function."]
5519pub type EOS_Presence_JoinGameAcceptedCallbackInfo = _tagEOS_Presence_JoinGameAcceptedCallbackInfo;
5520#[doc = " Function prototype definition for notifications that come from EOS_Presence_AddNotifyJoinGameAccepted\n\n @param Data A EOS_Presence_JoinGameAcceptedCallbackInfo containing the output information and result\n\n @note EOS_UI_AcknowledgeEventId must be called with any valid UiEventId passed via the data."]
5521pub type EOS_Presence_OnJoinGameAcceptedCallback = ::std::option::Option<
5522 unsafe extern "C" fn(Data: *const EOS_Presence_JoinGameAcceptedCallbackInfo),
5523>;
5524#[doc = " Callback for information related to notifications from EOS_Presence_AddNotifyOnPresenceChanged triggering."]
5525pub type EOS_Presence_OnPresenceChangedCallback = ::std::option::Option<
5526 unsafe extern "C" fn(Data: *const EOS_Presence_PresenceChangedCallbackInfo),
5527>;
5528#[doc = " Data for the EOS_Presence_GetJoinInfo function."]
5529#[repr(C)]
5530#[derive(Debug, Copy, Clone)]
5531pub struct _tagEOS_Presence_GetJoinInfoOptions {
5532 #[doc = " API Version: Set this to EOS_PRESENCE_GETJOININFO_API_LATEST."]
5533 pub ApiVersion: i32,
5534 #[doc = " The local user's Epic Account ID"]
5535 pub LocalUserId: EOS_EpicAccountId,
5536 #[doc = " The Epic Account ID to query for join info; this value must either be a logged-in local user, or a friend of that user"]
5537 pub TargetUserId: EOS_EpicAccountId,
5538}
5539impl Default for _tagEOS_Presence_GetJoinInfoOptions {
5540 fn default() -> Self {
5541 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5542 unsafe {
5543 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5544 s.assume_init()
5545 }
5546 }
5547}
5548#[doc = " Data for the EOS_Presence_GetJoinInfo function."]
5549pub type EOS_Presence_GetJoinInfoOptions = _tagEOS_Presence_GetJoinInfoOptions;
5550#[doc = " Data for the EOS_PresenceModification_SetJoinInfo function."]
5551#[repr(C)]
5552#[derive(Debug, Copy, Clone)]
5553pub struct _tagEOS_PresenceModification_SetJoinInfoOptions {
5554 #[doc = " API Version: Set this to EOS_PRESENCEMODIFICATION_SETJOININFO_API_LATEST."]
5555 pub ApiVersion: i32,
5556 #[doc = " The string which will be advertised as this player's join info.\n An application is expected to freely define the meaning of this string to use for connecting to an active game session.\n The string should not exceed EOS_PRESENCEMODIFICATION_JOININFO_MAX_LENGTH in length.\n This affects the ability of the Social Overlay to show game related actions to take in the player's social graph.\n\n @note The Social Overlay can handle only one of the following three options at a time:\n * using the bPresenceEnabled flags within the Sessions interface\n * using the bPresenceEnabled flags within the Lobby interface\n * using EOS_PresenceModification_SetJoinInfo\n\n @see EOS_Lobby_CreateLobbyOptions\n @see EOS_Lobby_JoinLobbyOptions\n @see EOS_Sessions_CreateSessionModificationOptions\n @see EOS_Sessions_JoinSessionOptions"]
5557 pub JoinInfo: *const ::std::os::raw::c_char,
5558}
5559impl Default for _tagEOS_PresenceModification_SetJoinInfoOptions {
5560 fn default() -> Self {
5561 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5562 unsafe {
5563 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5564 s.assume_init()
5565 }
5566 }
5567}
5568#[doc = " Data for the EOS_PresenceModification_SetJoinInfo function."]
5569pub type EOS_PresenceModification_SetJoinInfoOptions =
5570 _tagEOS_PresenceModification_SetJoinInfoOptions;
5571#[doc = " Data for the EOS_PresenceModification_SetStatus function."]
5572#[repr(C)]
5573#[derive(Debug, Copy, Clone)]
5574pub struct _tagEOS_PresenceModification_SetStatusOptions {
5575 #[doc = " API Version: Set this to EOS_PRESENCEMODIFICATION_SETSTATUS_API_LATEST."]
5576 pub ApiVersion: i32,
5577 #[doc = " The status of the user"]
5578 pub Status: EOS_Presence_EStatus,
5579}
5580impl Default for _tagEOS_PresenceModification_SetStatusOptions {
5581 fn default() -> Self {
5582 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5583 unsafe {
5584 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5585 s.assume_init()
5586 }
5587 }
5588}
5589#[doc = " Data for the EOS_PresenceModification_SetStatus function."]
5590pub type EOS_PresenceModification_SetStatusOptions = _tagEOS_PresenceModification_SetStatusOptions;
5591#[doc = " Data for the EOS_PresenceModification_SetRawRichText API."]
5592#[repr(C)]
5593#[derive(Debug, Copy, Clone)]
5594pub struct _tagEOS_PresenceModification_SetRawRichTextOptions {
5595 #[doc = " API Version: Set this to EOS_PRESENCEMODIFICATION_SETRAWRICHTEXT_API_LATEST."]
5596 pub ApiVersion: i32,
5597 #[doc = " The status of the user"]
5598 pub RichText: *const ::std::os::raw::c_char,
5599}
5600impl Default for _tagEOS_PresenceModification_SetRawRichTextOptions {
5601 fn default() -> Self {
5602 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5603 unsafe {
5604 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5605 s.assume_init()
5606 }
5607 }
5608}
5609#[doc = " Data for the EOS_PresenceModification_SetRawRichText API."]
5610pub type EOS_PresenceModification_SetRawRichTextOptions =
5611 _tagEOS_PresenceModification_SetRawRichTextOptions;
5612#[doc = " Data for the EOS_PresenceModification_SetData function."]
5613#[repr(C)]
5614#[derive(Debug, Copy, Clone)]
5615pub struct _tagEOS_PresenceModification_SetDataOptions {
5616 #[doc = " API Version: Set this to EOS_PRESENCEMODIFICATION_SETDATA_API_LATEST."]
5617 pub ApiVersion: i32,
5618 #[doc = " The count of records to set"]
5619 pub RecordsCount: i32,
5620 #[doc = " The pointer to start of a sequential array of Presence DataRecords"]
5621 pub Records: *const EOS_Presence_DataRecord,
5622}
5623impl Default for _tagEOS_PresenceModification_SetDataOptions {
5624 fn default() -> Self {
5625 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5626 unsafe {
5627 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5628 s.assume_init()
5629 }
5630 }
5631}
5632#[doc = " Data for the EOS_PresenceModification_SetData function."]
5633pub type EOS_PresenceModification_SetDataOptions = _tagEOS_PresenceModification_SetDataOptions;
5634#[doc = " Data for identifying which data records should be deleted."]
5635#[repr(C)]
5636#[derive(Debug, Copy, Clone)]
5637pub struct _tagEOS_PresenceModification_DataRecordId {
5638 #[doc = " API Version: Set this to EOS_PRESENCEMODIFICATION_DATARECORDID_API_LATEST."]
5639 pub ApiVersion: i32,
5640 #[doc = " The key to be deleted from the data record"]
5641 pub Key: *const ::std::os::raw::c_char,
5642}
5643impl Default for _tagEOS_PresenceModification_DataRecordId {
5644 fn default() -> Self {
5645 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5646 unsafe {
5647 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5648 s.assume_init()
5649 }
5650 }
5651}
5652#[doc = " Data for identifying which data records should be deleted."]
5653pub type EOS_PresenceModification_DataRecordId = _tagEOS_PresenceModification_DataRecordId;
5654#[doc = " Data for the EOS_PresenceModification_DeleteData function."]
5655#[repr(C)]
5656#[derive(Debug, Copy, Clone)]
5657pub struct _tagEOS_PresenceModification_DeleteDataOptions {
5658 #[doc = " API Version: Set this to EOS_PRESENCEMODIFICATION_DELETEDATA_API_LATEST."]
5659 pub ApiVersion: i32,
5660 #[doc = " The count of data keys to delete"]
5661 pub RecordsCount: i32,
5662 #[doc = " The pointer to start of a sequential array"]
5663 pub Records: *const EOS_PresenceModification_DataRecordId,
5664}
5665impl Default for _tagEOS_PresenceModification_DeleteDataOptions {
5666 fn default() -> Self {
5667 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5668 unsafe {
5669 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5670 s.assume_init()
5671 }
5672 }
5673}
5674#[doc = " Data for the EOS_PresenceModification_DeleteData function."]
5675pub type EOS_PresenceModification_DeleteDataOptions =
5676 _tagEOS_PresenceModification_DeleteDataOptions;
5677#[repr(C)]
5678#[derive(Debug, Copy, Clone)]
5679pub struct EOS_P2PHandle {
5680 _unused: [u8; 0],
5681}
5682pub type EOS_HP2P = *mut EOS_P2PHandle;
5683#[doc = " NAT type either unknown (remote) or we are unable to determine it (local)"]
5684pub const EOS_ENATType_EOS_NAT_Unknown: EOS_ENATType = 0;
5685#[doc = " All peers can directly-connect to you"]
5686pub const EOS_ENATType_EOS_NAT_Open: EOS_ENATType = 1;
5687#[doc = " You can directly-connect to other Moderate and Open peers"]
5688pub const EOS_ENATType_EOS_NAT_Moderate: EOS_ENATType = 2;
5689#[doc = " You can only directly-connect to Open peers"]
5690pub const EOS_ENATType_EOS_NAT_Strict: EOS_ENATType = 3;
5691pub const EOS_ENATType___EOS_ENATType_PAD_INT32__: EOS_ENATType = 2147483647;
5692#[doc = " Categories of NAT strictness."]
5693pub type EOS_ENATType = ::std::os::raw::c_int;
5694#[doc = " P2P Socket ID\n\n The Socket ID contains an application-defined name for the connection between a local person and another peer.\n\n When a remote user receives a connection request from you, they will receive this information. It can be important\n to only accept connections with a known socket-name and/or from a known user, to prevent leaking of private\n information, such as a user's IP address. Using the socket name as a secret key can help prevent such leaks. Shared\n private data, like a private match's Session ID are good candidates for a socket name."]
5695#[repr(C)]
5696#[derive(Debug, Copy, Clone)]
5697pub struct _tagEOS_P2P_SocketId {
5698 #[doc = " API Version: Set this to EOS_P2P_SOCKETID_API_LATEST."]
5699 pub ApiVersion: i32,
5700 #[doc = " A name for the connection. Must be a NULL-terminated string of between 1-32 alpha-numeric characters (A-Z, a-z, 0-9, '-', '_', ' ', '+', '=', '.')"]
5701 pub SocketName: [::std::os::raw::c_char; 33usize],
5702}
5703impl Default for _tagEOS_P2P_SocketId {
5704 fn default() -> Self {
5705 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5706 unsafe {
5707 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5708 s.assume_init()
5709 }
5710 }
5711}
5712#[doc = " P2P Socket ID\n\n The Socket ID contains an application-defined name for the connection between a local person and another peer.\n\n When a remote user receives a connection request from you, they will receive this information. It can be important\n to only accept connections with a known socket-name and/or from a known user, to prevent leaking of private\n information, such as a user's IP address. Using the socket name as a secret key can help prevent such leaks. Shared\n private data, like a private match's Session ID are good candidates for a socket name."]
5713pub type EOS_P2P_SocketId = _tagEOS_P2P_SocketId;
5714#[doc = " Packets will only be sent once and may be received out of order"]
5715pub const EOS_EPacketReliability_EOS_PR_UnreliableUnordered: EOS_EPacketReliability = 0;
5716#[doc = " Packets may be sent multiple times and may be received out of order"]
5717pub const EOS_EPacketReliability_EOS_PR_ReliableUnordered: EOS_EPacketReliability = 1;
5718#[doc = " Packets may be sent multiple times and will be received in order"]
5719pub const EOS_EPacketReliability_EOS_PR_ReliableOrdered: EOS_EPacketReliability = 2;
5720pub const EOS_EPacketReliability___EOS_EPacketReliability_PAD_INT32__: EOS_EPacketReliability =
5721 2147483647;
5722#[doc = " Types of packet reliability.\n\n Ordered packets will only be ordered relative to other ordered packets. Reliable/unreliable and ordered/unordered communication\n can be sent on the same Socket ID and Channel."]
5723pub type EOS_EPacketReliability = ::std::os::raw::c_int;
5724#[doc = " Structure containing information about the data being sent and to which player"]
5725#[repr(C)]
5726#[derive(Debug, Copy, Clone)]
5727pub struct _tagEOS_P2P_SendPacketOptions {
5728 #[doc = " API Version: Set this to EOS_P2P_SENDPACKET_API_LATEST."]
5729 pub ApiVersion: i32,
5730 #[doc = " The Product User ID of the local user who is sending this packet"]
5731 pub LocalUserId: EOS_ProductUserId,
5732 #[doc = " The Product User ID of the Peer you would like to send a packet to"]
5733 pub RemoteUserId: EOS_ProductUserId,
5734 #[doc = " The socket ID for data you are sending in this packet"]
5735 pub SocketId: *const EOS_P2P_SocketId,
5736 #[doc = " Channel associated with this data"]
5737 pub Channel: u8,
5738 #[doc = " The size of the data to be sent to the RemoteUser"]
5739 pub DataLengthBytes: u32,
5740 #[doc = " The data to be sent to the RemoteUser"]
5741 pub Data: *const ::std::os::raw::c_void,
5742 #[doc = " If false and we do not already have an established connection to the peer, this data will be dropped"]
5743 pub bAllowDelayedDelivery: EOS_Bool,
5744 #[doc = " Sets the reliability of the delivery of this packet. The reliability can be `EOS_PR_UnreliableUnordered`, `EOS_PR_ReliableUnordered`, or `EOS_PR_ReliableOrdered`."]
5745 pub Reliability: EOS_EPacketReliability,
5746 #[doc = " If set to EOS_TRUE, EOS_P2P_SendPacket will not automatically establish a connection with the RemoteUserId and will require explicit calls to\n EOS_P2P_AcceptConnection first whenever the connection is closed. If set to EOS_FALSE, EOS_P2P_SendPacket will automatically accept and start\n the connection any time it is called and the connection is not already open."]
5747 pub bDisableAutoAcceptConnection: EOS_Bool,
5748}
5749impl Default for _tagEOS_P2P_SendPacketOptions {
5750 fn default() -> Self {
5751 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5752 unsafe {
5753 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5754 s.assume_init()
5755 }
5756 }
5757}
5758#[doc = " Structure containing information about the data being sent and to which player"]
5759pub type EOS_P2P_SendPacketOptions = _tagEOS_P2P_SendPacketOptions;
5760#[doc = " Structure containing information about who would like to receive a packet."]
5761#[repr(C)]
5762#[derive(Debug, Copy, Clone)]
5763pub struct _tagEOS_P2P_GetNextReceivedPacketSizeOptions {
5764 #[doc = " API Version: Set this to EOS_P2P_GETNEXTRECEIVEDPACKETSIZE_API_LATEST."]
5765 pub ApiVersion: i32,
5766 #[doc = " The Product User ID of the local user who is receiving the packet"]
5767 pub LocalUserId: EOS_ProductUserId,
5768 #[doc = " An optional channel to request the data for. If NULL, we're retrieving the size of the next packet on any channel."]
5769 pub RequestedChannel: *const u8,
5770}
5771impl Default for _tagEOS_P2P_GetNextReceivedPacketSizeOptions {
5772 fn default() -> Self {
5773 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5774 unsafe {
5775 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5776 s.assume_init()
5777 }
5778 }
5779}
5780#[doc = " Structure containing information about who would like to receive a packet."]
5781pub type EOS_P2P_GetNextReceivedPacketSizeOptions = _tagEOS_P2P_GetNextReceivedPacketSizeOptions;
5782#[doc = " Structure containing information about who would like to receive a packet, and how much data can be stored safely."]
5783#[repr(C)]
5784#[derive(Debug, Copy, Clone)]
5785pub struct _tagEOS_P2P_ReceivePacketOptions {
5786 #[doc = " API Version: Set this to EOS_P2P_RECEIVEPACKET_API_LATEST."]
5787 pub ApiVersion: i32,
5788 #[doc = " The Product User ID of the user who is receiving the packet"]
5789 pub LocalUserId: EOS_ProductUserId,
5790 #[doc = " The maximum amount of data in bytes that can be safely copied to OutData in the function call"]
5791 pub MaxDataSizeBytes: u32,
5792 #[doc = " An optional channel to request the data for. If NULL, we're retrieving the next packet on any channel"]
5793 pub RequestedChannel: *const u8,
5794}
5795impl Default for _tagEOS_P2P_ReceivePacketOptions {
5796 fn default() -> Self {
5797 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5798 unsafe {
5799 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5800 s.assume_init()
5801 }
5802 }
5803}
5804#[doc = " Structure containing information about who would like to receive a packet, and how much data can be stored safely."]
5805pub type EOS_P2P_ReceivePacketOptions = _tagEOS_P2P_ReceivePacketOptions;
5806#[doc = " Structure containing information about who would like connection notifications, and about which socket."]
5807#[repr(C)]
5808#[derive(Debug, Copy, Clone)]
5809pub struct _tagEOS_P2P_AddNotifyPeerConnectionRequestOptions {
5810 #[doc = " API Version: Set this to EOS_P2P_ADDNOTIFYPEERCONNECTIONREQUEST_API_LATEST."]
5811 pub ApiVersion: i32,
5812 #[doc = " The Product User ID of the user who is listening for incoming connection requests"]
5813 pub LocalUserId: EOS_ProductUserId,
5814 #[doc = " The optional socket ID to listen for, used as a filter for incoming connection requests; If NULL, incoming connection requests will not be filtered"]
5815 pub SocketId: *const EOS_P2P_SocketId,
5816}
5817impl Default for _tagEOS_P2P_AddNotifyPeerConnectionRequestOptions {
5818 fn default() -> Self {
5819 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5820 unsafe {
5821 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5822 s.assume_init()
5823 }
5824 }
5825}
5826#[doc = " Structure containing information about who would like connection notifications, and about which socket."]
5827pub type EOS_P2P_AddNotifyPeerConnectionRequestOptions =
5828 _tagEOS_P2P_AddNotifyPeerConnectionRequestOptions;
5829#[doc = " Structure containing information about an incoming connection request."]
5830#[repr(C)]
5831#[derive(Debug, Copy, Clone)]
5832pub struct _tagEOS_P2P_OnIncomingConnectionRequestInfo {
5833 #[doc = " Client-specified data passed into EOS_Presence_AddNotifyOnPresenceChanged"]
5834 pub ClientData: *mut ::std::os::raw::c_void,
5835 #[doc = " The Product User ID of the local user who is being requested to open a P2P session with RemoteUserId"]
5836 pub LocalUserId: EOS_ProductUserId,
5837 #[doc = " The Product User ID of the remote user who requested a peer connection with the local user"]
5838 pub RemoteUserId: EOS_ProductUserId,
5839 #[doc = " The ID of the socket the Remote User wishes to communicate on"]
5840 pub SocketId: *const EOS_P2P_SocketId,
5841}
5842impl Default for _tagEOS_P2P_OnIncomingConnectionRequestInfo {
5843 fn default() -> Self {
5844 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5845 unsafe {
5846 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5847 s.assume_init()
5848 }
5849 }
5850}
5851#[doc = " Structure containing information about an incoming connection request."]
5852pub type EOS_P2P_OnIncomingConnectionRequestInfo = _tagEOS_P2P_OnIncomingConnectionRequestInfo;
5853#[doc = " Callback for information related to incoming connection requests."]
5854pub type EOS_P2P_OnIncomingConnectionRequestCallback = ::std::option::Option<
5855 unsafe extern "C" fn(Data: *const EOS_P2P_OnIncomingConnectionRequestInfo),
5856>;
5857#[doc = " Structure containing information about which connections should be notified"]
5858#[repr(C)]
5859#[derive(Debug, Copy, Clone)]
5860pub struct _tagEOS_P2P_AddNotifyPeerConnectionEstablishedOptions {
5861 #[doc = " API Version: Set this to EOS_P2P_ADDNOTIFYPEERCONNECTIONESTABLISHED_API_LATEST."]
5862 pub ApiVersion: i32,
5863 #[doc = " The Product User ID of the local user who would like to receive notifications"]
5864 pub LocalUserId: EOS_ProductUserId,
5865 #[doc = " The optional socket ID, used as a filter for established connections. If NULL, this function handler will be called for all sockets"]
5866 pub SocketId: *const EOS_P2P_SocketId,
5867}
5868impl Default for _tagEOS_P2P_AddNotifyPeerConnectionEstablishedOptions {
5869 fn default() -> Self {
5870 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5871 unsafe {
5872 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5873 s.assume_init()
5874 }
5875 }
5876}
5877#[doc = " Structure containing information about which connections should be notified"]
5878pub type EOS_P2P_AddNotifyPeerConnectionEstablishedOptions =
5879 _tagEOS_P2P_AddNotifyPeerConnectionEstablishedOptions;
5880#[doc = " The connection is brand new"]
5881pub const EOS_EConnectionEstablishedType_EOS_CET_NewConnection: EOS_EConnectionEstablishedType = 0;
5882#[doc = " The connection is reestablished (reconnection)"]
5883pub const EOS_EConnectionEstablishedType_EOS_CET_Reconnection: EOS_EConnectionEstablishedType = 1;
5884pub const EOS_EConnectionEstablishedType___EOS_EConnectionEstablishedType_PAD_INT32__:
5885 EOS_EConnectionEstablishedType = 2147483647;
5886#[doc = " Type of established connection"]
5887pub type EOS_EConnectionEstablishedType = ::std::os::raw::c_int;
5888#[doc = " There is no established connection"]
5889pub const EOS_ENetworkConnectionType_EOS_NCT_NoConnection: EOS_ENetworkConnectionType = 0;
5890#[doc = " A direct connection to the peer over the Internet or Local Network"]
5891pub const EOS_ENetworkConnectionType_EOS_NCT_DirectConnection: EOS_ENetworkConnectionType = 1;
5892#[doc = " A relayed connection using Epic-provided servers to the peer over the Internet"]
5893pub const EOS_ENetworkConnectionType_EOS_NCT_RelayedConnection: EOS_ENetworkConnectionType = 2;
5894pub const EOS_ENetworkConnectionType___EOS_ENetworkConnectionType_PAD_INT32__:
5895 EOS_ENetworkConnectionType = 2147483647;
5896#[doc = " Types of network connections."]
5897pub type EOS_ENetworkConnectionType = ::std::os::raw::c_int;
5898#[doc = " Structure containing information about a connection being established"]
5899#[repr(C)]
5900#[derive(Debug, Copy, Clone)]
5901pub struct _tagEOS_P2P_OnPeerConnectionEstablishedInfo {
5902 #[doc = " Client-specified data passed into EOS_P2P_AddNotifyPeerConnectionEstablished"]
5903 pub ClientData: *mut ::std::os::raw::c_void,
5904 #[doc = " The Product User ID of the local user who is being notified of a connection being established"]
5905 pub LocalUserId: EOS_ProductUserId,
5906 #[doc = " The Product User ID of the remote user who this connection was with"]
5907 pub RemoteUserId: EOS_ProductUserId,
5908 #[doc = " The socket ID of the connection being established"]
5909 pub SocketId: *const EOS_P2P_SocketId,
5910 #[doc = " Information if this is a new connection or reconnection"]
5911 pub ConnectionType: EOS_EConnectionEstablishedType,
5912 #[doc = " What type of network connection is being used for this connection"]
5913 pub NetworkType: EOS_ENetworkConnectionType,
5914}
5915impl Default for _tagEOS_P2P_OnPeerConnectionEstablishedInfo {
5916 fn default() -> Self {
5917 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5918 unsafe {
5919 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5920 s.assume_init()
5921 }
5922 }
5923}
5924#[doc = " Structure containing information about a connection being established"]
5925pub type EOS_P2P_OnPeerConnectionEstablishedInfo = _tagEOS_P2P_OnPeerConnectionEstablishedInfo;
5926#[doc = " Callback for information related to new connections being established"]
5927pub type EOS_P2P_OnPeerConnectionEstablishedCallback = ::std::option::Option<
5928 unsafe extern "C" fn(Data: *const EOS_P2P_OnPeerConnectionEstablishedInfo),
5929>;
5930#[doc = " Structure containing information about who would like notifications about interrupted connections, and for which socket."]
5931#[repr(C)]
5932#[derive(Debug, Copy, Clone)]
5933pub struct _tagEOS_P2P_AddNotifyPeerConnectionInterruptedOptions {
5934 #[doc = " API Version: Set this to EOS_P2P_ADDNOTIFYPEERCONNECTIONINTERRUPTED_API_LATEST."]
5935 pub ApiVersion: i32,
5936 #[doc = " The Product User ID of the local user who would like notifications"]
5937 pub LocalUserId: EOS_ProductUserId,
5938 #[doc = " An optional socket ID to filter interrupted connections on. If NULL, this function handler will be called for all interrupted connections"]
5939 pub SocketId: *const EOS_P2P_SocketId,
5940}
5941impl Default for _tagEOS_P2P_AddNotifyPeerConnectionInterruptedOptions {
5942 fn default() -> Self {
5943 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5944 unsafe {
5945 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5946 s.assume_init()
5947 }
5948 }
5949}
5950#[doc = " Structure containing information about who would like notifications about interrupted connections, and for which socket."]
5951pub type EOS_P2P_AddNotifyPeerConnectionInterruptedOptions =
5952 _tagEOS_P2P_AddNotifyPeerConnectionInterruptedOptions;
5953#[doc = " Structure containing information about an connection request that is that was interrupted."]
5954#[repr(C)]
5955#[derive(Debug, Copy, Clone)]
5956pub struct _tagEOS_P2P_OnPeerConnectionInterruptedInfo {
5957 #[doc = " Client-specified data passed into EOS_Presence_AddNotifyOnPresenceChanged"]
5958 pub ClientData: *mut ::std::os::raw::c_void,
5959 #[doc = " The local user who is being notified of a connection that was interrupted"]
5960 pub LocalUserId: EOS_ProductUserId,
5961 #[doc = " The Product User ID of the remote user who this connection was with"]
5962 pub RemoteUserId: EOS_ProductUserId,
5963 #[doc = " The socket ID of the connection that was interrupted"]
5964 pub SocketId: *const EOS_P2P_SocketId,
5965}
5966impl Default for _tagEOS_P2P_OnPeerConnectionInterruptedInfo {
5967 fn default() -> Self {
5968 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5969 unsafe {
5970 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5971 s.assume_init()
5972 }
5973 }
5974}
5975#[doc = " Structure containing information about an connection request that is that was interrupted."]
5976pub type EOS_P2P_OnPeerConnectionInterruptedInfo = _tagEOS_P2P_OnPeerConnectionInterruptedInfo;
5977#[doc = " Callback for information related to open connections that are interrupted."]
5978pub type EOS_P2P_OnPeerConnectionInterruptedCallback = ::std::option::Option<
5979 unsafe extern "C" fn(Data: *const EOS_P2P_OnPeerConnectionInterruptedInfo),
5980>;
5981#[doc = " Structure containing information about who would like notifications about closed connections, and for which socket."]
5982#[repr(C)]
5983#[derive(Debug, Copy, Clone)]
5984pub struct _tagEOS_P2P_AddNotifyPeerConnectionClosedOptions {
5985 #[doc = " API Version: Set this to EOS_P2P_ADDNOTIFYPEERCONNECTIONCLOSED_API_LATEST."]
5986 pub ApiVersion: i32,
5987 #[doc = " The Product User ID of the local user who would like notifications"]
5988 pub LocalUserId: EOS_ProductUserId,
5989 #[doc = " The optional socket ID to listen for to be closed. If NULL, this function handler will be called for all closed connections"]
5990 pub SocketId: *const EOS_P2P_SocketId,
5991}
5992impl Default for _tagEOS_P2P_AddNotifyPeerConnectionClosedOptions {
5993 fn default() -> Self {
5994 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5995 unsafe {
5996 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5997 s.assume_init()
5998 }
5999 }
6000}
6001#[doc = " Structure containing information about who would like notifications about closed connections, and for which socket."]
6002pub type EOS_P2P_AddNotifyPeerConnectionClosedOptions =
6003 _tagEOS_P2P_AddNotifyPeerConnectionClosedOptions;
6004#[doc = " The connection was closed for unknown reasons. This most notably happens during application shutdown."]
6005pub const EOS_EConnectionClosedReason_EOS_CCR_Unknown: EOS_EConnectionClosedReason = 0;
6006#[doc = " The connection was at least locally accepted, but was closed by the local user via a call to EOS_P2P_CloseConnection / EOS_P2P_CloseConnections."]
6007pub const EOS_EConnectionClosedReason_EOS_CCR_ClosedByLocalUser: EOS_EConnectionClosedReason = 1;
6008#[doc = " The connection was at least locally accepted, but was gracefully closed by the remote user via a call to EOS_P2P_CloseConnection / EOS_P2P_CloseConnections."]
6009pub const EOS_EConnectionClosedReason_EOS_CCR_ClosedByPeer: EOS_EConnectionClosedReason = 2;
6010#[doc = " The connection was at least locally accepted, but was not remotely accepted in time."]
6011pub const EOS_EConnectionClosedReason_EOS_CCR_TimedOut: EOS_EConnectionClosedReason = 3;
6012#[doc = " The connection was accepted, but the connection could not be created due to too many other existing connections"]
6013pub const EOS_EConnectionClosedReason_EOS_CCR_TooManyConnections: EOS_EConnectionClosedReason = 4;
6014#[doc = " The connection was accepted, The remote user sent an invalid message"]
6015pub const EOS_EConnectionClosedReason_EOS_CCR_InvalidMessage: EOS_EConnectionClosedReason = 5;
6016#[doc = " The connection was accepted, but the remote user sent us invalid data"]
6017pub const EOS_EConnectionClosedReason_EOS_CCR_InvalidData: EOS_EConnectionClosedReason = 6;
6018#[doc = " The connection was accepted, but we failed to ever establish a connection with the remote user due to connectivity issues."]
6019pub const EOS_EConnectionClosedReason_EOS_CCR_ConnectionFailed: EOS_EConnectionClosedReason = 7;
6020#[doc = " The connection was accepted and established, but the peer silently went away."]
6021pub const EOS_EConnectionClosedReason_EOS_CCR_ConnectionClosed: EOS_EConnectionClosedReason = 8;
6022#[doc = " The connection was locally accepted, but we failed to negotiate a connection with the remote user. This most commonly occurs if the local user goes offline or is logged-out during the connection process."]
6023pub const EOS_EConnectionClosedReason_EOS_CCR_NegotiationFailed: EOS_EConnectionClosedReason = 9;
6024#[doc = " The connection was accepted, but there was an internal error occurred and the connection cannot be created or continue."]
6025pub const EOS_EConnectionClosedReason_EOS_CCR_UnexpectedError: EOS_EConnectionClosedReason = 10;
6026#[doc = " The connection was ignored because no connection listeners were bound."]
6027pub const EOS_EConnectionClosedReason_EOS_CCR_ConnectionIgnored: EOS_EConnectionClosedReason = 11;
6028pub const EOS_EConnectionClosedReason___EOS_EConnectionClosedReason_PAD_INT32__:
6029 EOS_EConnectionClosedReason = 2147483647;
6030#[doc = " Reasons why a P2P connection was closed"]
6031pub type EOS_EConnectionClosedReason = ::std::os::raw::c_int;
6032#[doc = " Structure containing information about an connection request that is being closed."]
6033#[repr(C)]
6034#[derive(Debug, Copy, Clone)]
6035pub struct _tagEOS_P2P_OnRemoteConnectionClosedInfo {
6036 #[doc = " Client-specified data passed into EOS_Presence_AddNotifyOnPresenceChanged"]
6037 pub ClientData: *mut ::std::os::raw::c_void,
6038 #[doc = " The local user who is being notified of a connection being closed"]
6039 pub LocalUserId: EOS_ProductUserId,
6040 #[doc = " The Product User ID of the remote user who this connection was with"]
6041 pub RemoteUserId: EOS_ProductUserId,
6042 #[doc = " The socket ID of the connection being closed"]
6043 pub SocketId: *const EOS_P2P_SocketId,
6044 #[doc = " The reason the connection was closed (if known)"]
6045 pub Reason: EOS_EConnectionClosedReason,
6046}
6047impl Default for _tagEOS_P2P_OnRemoteConnectionClosedInfo {
6048 fn default() -> Self {
6049 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6050 unsafe {
6051 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6052 s.assume_init()
6053 }
6054 }
6055}
6056#[doc = " Structure containing information about an connection request that is being closed."]
6057pub type EOS_P2P_OnRemoteConnectionClosedInfo = _tagEOS_P2P_OnRemoteConnectionClosedInfo;
6058#[doc = " Callback for information related to open connections being closed."]
6059pub type EOS_P2P_OnRemoteConnectionClosedCallback =
6060 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_P2P_OnRemoteConnectionClosedInfo)>;
6061#[doc = " Structure containing information about who would like to accept a connection, and which connection."]
6062#[repr(C)]
6063#[derive(Debug, Copy, Clone)]
6064pub struct _tagEOS_P2P_AcceptConnectionOptions {
6065 #[doc = " API Version: Set this to EOS_P2P_ACCEPTCONNECTION_API_LATEST."]
6066 pub ApiVersion: i32,
6067 #[doc = " The Product User ID of the local user who is accepting any pending or future connections with RemoteUserId"]
6068 pub LocalUserId: EOS_ProductUserId,
6069 #[doc = " The Product User ID of the remote user who has either sent a connection request or is expected to in the future"]
6070 pub RemoteUserId: EOS_ProductUserId,
6071 #[doc = " The socket ID of the connection to accept on"]
6072 pub SocketId: *const EOS_P2P_SocketId,
6073}
6074impl Default for _tagEOS_P2P_AcceptConnectionOptions {
6075 fn default() -> Self {
6076 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6077 unsafe {
6078 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6079 s.assume_init()
6080 }
6081 }
6082}
6083#[doc = " Structure containing information about who would like to accept a connection, and which connection."]
6084pub type EOS_P2P_AcceptConnectionOptions = _tagEOS_P2P_AcceptConnectionOptions;
6085#[doc = " Structure containing information about who would like to close a connection, and which connection."]
6086#[repr(C)]
6087#[derive(Debug, Copy, Clone)]
6088pub struct _tagEOS_P2P_CloseConnectionOptions {
6089 #[doc = " API Version: Set this to EOS_P2P_CLOSECONNECTION_API_LATEST."]
6090 pub ApiVersion: i32,
6091 #[doc = " The Product User ID of the local user who would like to close a previously accepted connection (or decline a pending invite)"]
6092 pub LocalUserId: EOS_ProductUserId,
6093 #[doc = " The Product User ID of the remote user to disconnect from (or to reject a pending invite from)"]
6094 pub RemoteUserId: EOS_ProductUserId,
6095 #[doc = " The socket ID of the connection to close (or optionally NULL to not accept any connection requests from the Remote User)"]
6096 pub SocketId: *const EOS_P2P_SocketId,
6097}
6098impl Default for _tagEOS_P2P_CloseConnectionOptions {
6099 fn default() -> Self {
6100 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6101 unsafe {
6102 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6103 s.assume_init()
6104 }
6105 }
6106}
6107#[doc = " Structure containing information about who would like to close a connection, and which connection."]
6108pub type EOS_P2P_CloseConnectionOptions = _tagEOS_P2P_CloseConnectionOptions;
6109#[doc = " Structure containing information about who would like to close connections, and by what socket ID"]
6110#[repr(C)]
6111#[derive(Debug, Copy, Clone)]
6112pub struct _tagEOS_P2P_CloseConnectionsOptions {
6113 #[doc = " API Version: Set this to EOS_P2P_CLOSECONNECTIONS_API_LATEST."]
6114 pub ApiVersion: i32,
6115 #[doc = " The Product User ID of the local user who would like to close all connections that use a particular socket ID"]
6116 pub LocalUserId: EOS_ProductUserId,
6117 #[doc = " The socket ID of the connections to close"]
6118 pub SocketId: *const EOS_P2P_SocketId,
6119}
6120impl Default for _tagEOS_P2P_CloseConnectionsOptions {
6121 fn default() -> Self {
6122 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6123 unsafe {
6124 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6125 s.assume_init()
6126 }
6127 }
6128}
6129#[doc = " Structure containing information about who would like to close connections, and by what socket ID"]
6130pub type EOS_P2P_CloseConnectionsOptions = _tagEOS_P2P_CloseConnectionsOptions;
6131#[doc = " Structure containing information needed to query NAT-types"]
6132#[repr(C)]
6133#[derive(Debug, Default, Copy, Clone)]
6134pub struct _tagEOS_P2P_QueryNATTypeOptions {
6135 #[doc = " API Version: Set this to EOS_P2P_QUERYNATTYPE_API_LATEST."]
6136 pub ApiVersion: i32,
6137}
6138#[doc = " Structure containing information needed to query NAT-types"]
6139pub type EOS_P2P_QueryNATTypeOptions = _tagEOS_P2P_QueryNATTypeOptions;
6140#[doc = " Structure containing information about the local network NAT type"]
6141#[repr(C)]
6142#[derive(Debug, Copy, Clone)]
6143pub struct _tagEOS_P2P_OnQueryNATTypeCompleteInfo {
6144 #[doc = " Result code for the operation. EOS_Success is returned for a successful query, other codes indicate an error"]
6145 pub ResultCode: EOS_EResult,
6146 #[doc = " Client-specified data passed into EOS_P2P_QueryNATType"]
6147 pub ClientData: *mut ::std::os::raw::c_void,
6148 #[doc = " The queried NAT type"]
6149 pub NATType: EOS_ENATType,
6150}
6151impl Default for _tagEOS_P2P_OnQueryNATTypeCompleteInfo {
6152 fn default() -> Self {
6153 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6154 unsafe {
6155 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6156 s.assume_init()
6157 }
6158 }
6159}
6160#[doc = " Structure containing information about the local network NAT type"]
6161pub type EOS_P2P_OnQueryNATTypeCompleteInfo = _tagEOS_P2P_OnQueryNATTypeCompleteInfo;
6162#[doc = " Callback for information related to our NAT type query completing."]
6163pub type EOS_P2P_OnQueryNATTypeCompleteCallback =
6164 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_P2P_OnQueryNATTypeCompleteInfo)>;
6165#[doc = " Structure containing information needed to get previously queried NAT-types"]
6166#[repr(C)]
6167#[derive(Debug, Default, Copy, Clone)]
6168pub struct _tagEOS_P2P_GetNATTypeOptions {
6169 #[doc = " API Version: Set this to EOS_P2P_GETNATTYPE_API_LATEST."]
6170 pub ApiVersion: i32,
6171}
6172#[doc = " Structure containing information needed to get previously queried NAT-types"]
6173pub type EOS_P2P_GetNATTypeOptions = _tagEOS_P2P_GetNATTypeOptions;
6174#[doc = " Peer connections will never attempt to use relay servers. Clients with restrictive NATs may not be able to connect to peers."]
6175pub const EOS_ERelayControl_EOS_RC_NoRelays: EOS_ERelayControl = 0;
6176#[doc = " Peer connections will attempt to use relay servers, but only after direct connection attempts fail. This is the default value if not changed."]
6177pub const EOS_ERelayControl_EOS_RC_AllowRelays: EOS_ERelayControl = 1;
6178#[doc = " Peer connections will only ever use relay servers. This will add latency to all connections, but will hide IP Addresses from peers."]
6179pub const EOS_ERelayControl_EOS_RC_ForceRelays: EOS_ERelayControl = 2;
6180pub const EOS_ERelayControl___EOS_ERelayControl_PAD_INT32__: EOS_ERelayControl = 2147483647;
6181#[doc = " Setting for controlling whether relay servers are used.\n\n Please see the following EOS_ERelayControl value compatibility-chart to better understand how changing this value\n can affect compatibility between clients with different settings. Connections between clients using\n Incompatible settings may succeed in limited scenarios but should be treated as though they will consistently fail.\n\n +------------------------------+---------------------+-------------------------------+---------------------+\n | | EOS_RC_NoRelays | EOS_RC_AllowRelays (Default) | EOS_RC_ForceRelays |\n +------------------------------+---------------------+-------------------------------+---------------------+\n | EOS_RC_NoRelays | Compatible | Compatible | Incompatible |\n | EOS_RC_AllowRelays (Default) | Compatible | Compatible | Compatible |\n | EOS_RC_ForceRelays | Incompatible | Compatible | Compatible |\n +------------------------------+---------------------+-------------------------------+---------------------+"]
6182pub type EOS_ERelayControl = ::std::os::raw::c_int;
6183#[doc = " Structure containing information about new relay configurations."]
6184#[repr(C)]
6185#[derive(Debug, Copy, Clone)]
6186pub struct _tagEOS_P2P_SetRelayControlOptions {
6187 #[doc = " API Version: Set this to EOS_P2P_SETRELAYCONTROL_API_LATEST."]
6188 pub ApiVersion: i32,
6189 #[doc = " The requested level of relay servers for P2P connections. This setting is only applied to new P2P connections, or when existing P2P connections\n reconnect during a temporary connectivity outage. Peers with an incompatible setting to the local setting will not be able to connect."]
6190 pub RelayControl: EOS_ERelayControl,
6191}
6192impl Default for _tagEOS_P2P_SetRelayControlOptions {
6193 fn default() -> Self {
6194 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6195 unsafe {
6196 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6197 s.assume_init()
6198 }
6199 }
6200}
6201#[doc = " Structure containing information about new relay configurations."]
6202pub type EOS_P2P_SetRelayControlOptions = _tagEOS_P2P_SetRelayControlOptions;
6203#[doc = " Structure containing information about getting the relay control setting."]
6204#[repr(C)]
6205#[derive(Debug, Default, Copy, Clone)]
6206pub struct _tagEOS_P2P_GetRelayControlOptions {
6207 #[doc = " API Version: Set this to EOS_P2P_GETRELAYCONTROL_API_LATEST."]
6208 pub ApiVersion: i32,
6209}
6210#[doc = " Structure containing information about getting the relay control setting."]
6211pub type EOS_P2P_GetRelayControlOptions = _tagEOS_P2P_GetRelayControlOptions;
6212#[doc = " Structure containing information about new port range settings."]
6213#[repr(C)]
6214#[derive(Debug, Default, Copy, Clone)]
6215pub struct _tagEOS_P2P_SetPortRangeOptions {
6216 #[doc = " API Version: Set this to EOS_P2P_SETPORTRANGE_API_LATEST."]
6217 pub ApiVersion: i32,
6218 #[doc = " The ideal port to use for P2P traffic. The default value is 7777. If set to 0, the OS will choose a port. If set to 0, MaxAdditionalPortsToTry must be set to 0."]
6219 pub Port: u16,
6220 #[doc = " The maximum amount of additional ports to try if Port is unavailable. Ports will be tried from Port to Port + MaxAdditionalPortsToTry\n inclusive, until one is available or we run out of ports. If no ports are available, P2P connections will fail. The default value is 99."]
6221 pub MaxAdditionalPortsToTry: u16,
6222}
6223#[doc = " Structure containing information about new port range settings."]
6224pub type EOS_P2P_SetPortRangeOptions = _tagEOS_P2P_SetPortRangeOptions;
6225#[doc = " Structure containing information about getting the configured port range settings."]
6226#[repr(C)]
6227#[derive(Debug, Default, Copy, Clone)]
6228pub struct _tagEOS_P2P_GetPortRangeOptions {
6229 #[doc = " API Version: Set this to EOS_P2P_GETPORTRANGE_API_LATEST."]
6230 pub ApiVersion: i32,
6231}
6232#[doc = " Structure containing information about getting the configured port range settings."]
6233pub type EOS_P2P_GetPortRangeOptions = _tagEOS_P2P_GetPortRangeOptions;
6234#[doc = " Structure containing information about new packet queue size settings."]
6235#[repr(C)]
6236#[derive(Debug, Default, Copy, Clone)]
6237pub struct _tagEOS_P2P_SetPacketQueueSizeOptions {
6238 #[doc = " API Version: Set this to EOS_P2P_SETPACKETQUEUESIZE_API_LATEST."]
6239 pub ApiVersion: i32,
6240 #[doc = " The ideal maximum amount of bytes the Incoming packet queue can consume"]
6241 pub IncomingPacketQueueMaxSizeBytes: u64,
6242 #[doc = " The ideal maximum amount of bytes the Outgoing packet queue can consume"]
6243 pub OutgoingPacketQueueMaxSizeBytes: u64,
6244}
6245#[doc = " Structure containing information about new packet queue size settings."]
6246pub type EOS_P2P_SetPacketQueueSizeOptions = _tagEOS_P2P_SetPacketQueueSizeOptions;
6247#[doc = " Structure containing information needed to get the current packet queue information."]
6248#[repr(C)]
6249#[derive(Debug, Default, Copy, Clone)]
6250pub struct _tagEOS_P2P_GetPacketQueueInfoOptions {
6251 #[doc = " API Version: Set this to EOS_P2P_GETPACKETQUEUEINFO_API_LATEST."]
6252 pub ApiVersion: i32,
6253}
6254#[doc = " Structure containing information needed to get the current packet queue information."]
6255pub type EOS_P2P_GetPacketQueueInfoOptions = _tagEOS_P2P_GetPacketQueueInfoOptions;
6256#[doc = " Information related to the current state of the packet queues. It is possible for the current size\n to be larger than the maximum size if the maximum size changes or if the maximum queue size is\n set to EOS_P2P_MAX_QUEUE_SIZE_UNLIMITED."]
6257#[repr(C)]
6258#[derive(Debug, Default, Copy, Clone)]
6259pub struct _tagEOS_P2P_PacketQueueInfo {
6260 #[doc = " The maximum size in bytes of the incoming packet queue"]
6261 pub IncomingPacketQueueMaxSizeBytes: u64,
6262 #[doc = " The current size in bytes of the incoming packet queue"]
6263 pub IncomingPacketQueueCurrentSizeBytes: u64,
6264 #[doc = " The current number of queued packets in the incoming packet queue"]
6265 pub IncomingPacketQueueCurrentPacketCount: u64,
6266 #[doc = " The maximum size in bytes of the outgoing packet queue"]
6267 pub OutgoingPacketQueueMaxSizeBytes: u64,
6268 #[doc = " The current size in bytes of the outgoing packet queue"]
6269 pub OutgoingPacketQueueCurrentSizeBytes: u64,
6270 #[doc = " The current amount of queued packets in the outgoing packet queue"]
6271 pub OutgoingPacketQueueCurrentPacketCount: u64,
6272}
6273#[doc = " Information related to the current state of the packet queues. It is possible for the current size\n to be larger than the maximum size if the maximum size changes or if the maximum queue size is\n set to EOS_P2P_MAX_QUEUE_SIZE_UNLIMITED."]
6274pub type EOS_P2P_PacketQueueInfo = _tagEOS_P2P_PacketQueueInfo;
6275#[doc = " Structure containing information about what version of the EOS_P2P_AddNotifyIncomingPacketQueueFull function is supported."]
6276#[repr(C)]
6277#[derive(Debug, Default, Copy, Clone)]
6278pub struct _tagEOS_P2P_AddNotifyIncomingPacketQueueFullOptions {
6279 #[doc = " API Version: Set this to EOS_P2P_ADDNOTIFYINCOMINGPACKETQUEUEFULL_API_LATEST."]
6280 pub ApiVersion: i32,
6281}
6282#[doc = " Structure containing information about what version of the EOS_P2P_AddNotifyIncomingPacketQueueFull function is supported."]
6283pub type EOS_P2P_AddNotifyIncomingPacketQueueFullOptions =
6284 _tagEOS_P2P_AddNotifyIncomingPacketQueueFullOptions;
6285#[doc = " Structure containing information about the packet queue's state and the incoming packet that would overflow the queue"]
6286#[repr(C)]
6287#[derive(Debug, Copy, Clone)]
6288pub struct _tagEOS_P2P_OnIncomingPacketQueueFullInfo {
6289 #[doc = " Client-specified data passed into AddNotifyIncomingPacketQueueFull"]
6290 pub ClientData: *mut ::std::os::raw::c_void,
6291 #[doc = " The maximum size in bytes the incoming packet queue is allowed to use"]
6292 pub PacketQueueMaxSizeBytes: u64,
6293 #[doc = " The current size in bytes the incoming packet queue is currently using"]
6294 pub PacketQueueCurrentSizeBytes: u64,
6295 #[doc = " The Product User ID of the local user who is receiving the packet that would overflow the queue"]
6296 pub OverflowPacketLocalUserId: EOS_ProductUserId,
6297 #[doc = " The channel the incoming packet is for"]
6298 pub OverflowPacketChannel: u8,
6299 #[doc = " The size in bytes of the incoming packet (and related metadata) that would overflow the queue"]
6300 pub OverflowPacketSizeBytes: u32,
6301}
6302impl Default for _tagEOS_P2P_OnIncomingPacketQueueFullInfo {
6303 fn default() -> Self {
6304 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6305 unsafe {
6306 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6307 s.assume_init()
6308 }
6309 }
6310}
6311#[doc = " Structure containing information about the packet queue's state and the incoming packet that would overflow the queue"]
6312pub type EOS_P2P_OnIncomingPacketQueueFullInfo = _tagEOS_P2P_OnIncomingPacketQueueFullInfo;
6313#[doc = " Callback for information related to incoming connection requests."]
6314pub type EOS_P2P_OnIncomingPacketQueueFullCallback =
6315 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_P2P_OnIncomingPacketQueueFullInfo)>;
6316#[doc = " Structure containing information about the packet queue to be cleared"]
6317#[repr(C)]
6318#[derive(Debug, Copy, Clone)]
6319pub struct _tagEOS_P2P_ClearPacketQueueOptions {
6320 #[doc = " API Version: Set this to EOS_P2P_CLEARPACKETQUEUE_API_LATEST."]
6321 pub ApiVersion: i32,
6322 #[doc = " The Product User ID of the local user for whom we want to clear the queued packets"]
6323 pub LocalUserId: EOS_ProductUserId,
6324 #[doc = " The Product User ID to who (outgoing) or from who (incoming) packets are queued"]
6325 pub RemoteUserId: EOS_ProductUserId,
6326 #[doc = " The socket used for packets to be cleared"]
6327 pub SocketId: *const EOS_P2P_SocketId,
6328}
6329impl Default for _tagEOS_P2P_ClearPacketQueueOptions {
6330 fn default() -> Self {
6331 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6332 unsafe {
6333 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6334 s.assume_init()
6335 }
6336 }
6337}
6338#[doc = " Structure containing information about the packet queue to be cleared"]
6339pub type EOS_P2P_ClearPacketQueueOptions = _tagEOS_P2P_ClearPacketQueueOptions;
6340#[repr(C)]
6341#[derive(Debug, Copy, Clone)]
6342pub struct EOS_SessionsHandle {
6343 _unused: [u8; 0],
6344}
6345#[doc = " Handle to the sessions interface"]
6346pub type EOS_HSessions = *mut EOS_SessionsHandle;
6347#[repr(C)]
6348#[derive(Debug, Copy, Clone)]
6349pub struct EOS_SessionModificationHandle {
6350 _unused: [u8; 0],
6351}
6352#[doc = " Handle to the calls responsible for creating/updating sessions"]
6353pub type EOS_HSessionModification = *mut EOS_SessionModificationHandle;
6354#[repr(C)]
6355#[derive(Debug, Copy, Clone)]
6356pub struct EOS_ActiveSessionHandle {
6357 _unused: [u8; 0],
6358}
6359#[doc = " Handle to a single named session that exists locally"]
6360pub type EOS_HActiveSession = *mut EOS_ActiveSessionHandle;
6361#[repr(C)]
6362#[derive(Debug, Copy, Clone)]
6363pub struct EOS_SessionDetailsHandle {
6364 _unused: [u8; 0],
6365}
6366#[doc = " Handle to a single session that may be part of a named session, search result, or invite"]
6367pub type EOS_HSessionDetails = *mut EOS_SessionDetailsHandle;
6368#[repr(C)]
6369#[derive(Debug, Copy, Clone)]
6370pub struct EOS_SessionSearchHandle {
6371 _unused: [u8; 0],
6372}
6373#[doc = " Handle to the calls responsible for creating a search object"]
6374pub type EOS_HSessionSearch = *mut EOS_SessionSearchHandle;
6375unsafe extern "C" {
6376 #[doc = " Release the memory associated with session modification.\n This must be called on data retrieved from EOS_Sessions_CreateSessionModification or EOS_Sessions_UpdateSessionModification\n\n @param SessionModificationHandle - The session modification handle to release\n\n @see EOS_Sessions_CreateSessionModification\n @see EOS_Sessions_UpdateSessionModification"]
6377 pub fn EOS_SessionModification_Release(SessionModificationHandle: EOS_HSessionModification);
6378}
6379unsafe extern "C" {
6380 #[doc = " Release the memory associated with an active session.\n This must be called on data retrieved from EOS_Sessions_CopyActiveSessionHandle\n\n @param ActiveSessionHandle - The active session handle to release\n\n @see EOS_Sessions_CopyActiveSessionHandle"]
6381 pub fn EOS_ActiveSession_Release(ActiveSessionHandle: EOS_HActiveSession);
6382}
6383unsafe extern "C" {
6384 #[doc = " Release the memory associated with a single session. This must be called on data retrieved from EOS_SessionSearch_CopySearchResultByIndex.\n\n @param SessionHandle - The session handle to release\n\n @see EOS_SessionSearch_CopySearchResultByIndex"]
6385 pub fn EOS_SessionDetails_Release(SessionHandle: EOS_HSessionDetails);
6386}
6387unsafe extern "C" {
6388 #[doc = " Release the memory associated with a session search. This must be called on data retrieved from EOS_Sessions_CreateSessionSearch.\n\n @param SessionSearchHandle - The session search handle to release\n\n @see EOS_Sessions_CreateSessionSearch"]
6389 pub fn EOS_SessionSearch_Release(SessionSearchHandle: EOS_HSessionSearch);
6390}
6391#[doc = " An online session has not been created yet"]
6392pub const EOS_EOnlineSessionState_EOS_OSS_NoSession: EOS_EOnlineSessionState = 0;
6393#[doc = " An online session is in the process of being created"]
6394pub const EOS_EOnlineSessionState_EOS_OSS_Creating: EOS_EOnlineSessionState = 1;
6395#[doc = " Session has been created but the session hasn't started (pre match lobby)"]
6396pub const EOS_EOnlineSessionState_EOS_OSS_Pending: EOS_EOnlineSessionState = 2;
6397#[doc = " Session has been asked to start (may take time due to communication with backend)"]
6398pub const EOS_EOnlineSessionState_EOS_OSS_Starting: EOS_EOnlineSessionState = 3;
6399#[doc = " The current session has started. Sessions with join in progress disabled are no longer joinable"]
6400pub const EOS_EOnlineSessionState_EOS_OSS_InProgress: EOS_EOnlineSessionState = 4;
6401#[doc = " The session is still valid, but the session is no longer being played (post match lobby)"]
6402pub const EOS_EOnlineSessionState_EOS_OSS_Ending: EOS_EOnlineSessionState = 5;
6403#[doc = " The session is closed and any stats committed"]
6404pub const EOS_EOnlineSessionState_EOS_OSS_Ended: EOS_EOnlineSessionState = 6;
6405#[doc = " The session is being destroyed"]
6406pub const EOS_EOnlineSessionState_EOS_OSS_Destroying: EOS_EOnlineSessionState = 7;
6407pub const EOS_EOnlineSessionState___EOS_EOnlineSessionState_PAD_INT32__: EOS_EOnlineSessionState =
6408 2147483647;
6409#[doc = " All possible states of an existing named session"]
6410pub type EOS_EOnlineSessionState = ::std::os::raw::c_int;
6411#[doc = " Don't advertise via the online service"]
6412pub const EOS_ESessionAttributeAdvertisementType_EOS_SAAT_DontAdvertise:
6413 EOS_ESessionAttributeAdvertisementType = 0;
6414#[doc = " Advertise via the online service only"]
6415pub const EOS_ESessionAttributeAdvertisementType_EOS_SAAT_Advertise:
6416 EOS_ESessionAttributeAdvertisementType = 1;
6417pub const EOS_ESessionAttributeAdvertisementType___EOS_ESessionAttributeAdvertisementType_PAD_INT32__ : EOS_ESessionAttributeAdvertisementType = 2147483647 ;
6418#[doc = " Advertisement properties for a single attribute associated with a session"]
6419pub type EOS_ESessionAttributeAdvertisementType = ::std::os::raw::c_int;
6420#[doc = " Input parameters for the EOS_Sessions_CreateSessionModification function."]
6421#[repr(C)]
6422#[derive(Debug, Copy, Clone)]
6423pub struct _tagEOS_Sessions_CreateSessionModificationOptions {
6424 #[doc = " API Version: Set this to EOS_SESSIONS_CREATESESSIONMODIFICATION_API_LATEST."]
6425 pub ApiVersion: i32,
6426 #[doc = " Name of the session to create"]
6427 pub SessionName: *const ::std::os::raw::c_char,
6428 #[doc = " Bucket ID associated with the session"]
6429 pub BucketId: *const ::std::os::raw::c_char,
6430 #[doc = " Maximum number of players allowed in the session"]
6431 pub MaxPlayers: u32,
6432 #[doc = " The Product User ID of the local user associated with the session"]
6433 pub LocalUserId: EOS_ProductUserId,
6434 #[doc = " Determines whether or not this session should be the one associated with the local user's presence information.\n If true, this session will be associated with presence. Only one session at a time can have this flag true.\n This affects the ability of the Social Overlay to show game related actions to take in the user's social graph.\n\n @note The Social Overlay can handle only one of the following three options at a time:\n * using the bPresenceEnabled flags within the Sessions interface\n * using the bPresenceEnabled flags within the Lobby interface\n * using EOS_PresenceModification_SetJoinInfo\n\n @see EOS_PresenceModification_SetJoinInfoOptions\n @see EOS_Lobby_CreateLobbyOptions\n @see EOS_Lobby_JoinLobbyOptions\n @see EOS_Sessions_JoinSessionOptions"]
6435 pub bPresenceEnabled: EOS_Bool,
6436 #[doc = " Optional session id - set to a globally unique value to override the backend assignment\n If not specified the backend service will assign one to the session. Do not mix and match.\n This value can be of size [EOS_SESSIONMODIFICATION_MIN_SESSIONIDOVERRIDE_LENGTH, EOS_SESSIONMODIFICATION_MAX_SESSIONIDOVERRIDE_LENGTH]"]
6437 pub SessionId: *const ::std::os::raw::c_char,
6438 #[doc = " If true, sanctioned players can neither join nor register with this session and, in the case of join,\n will return EOS_EResult code EOS_Sessions_PlayerSanctioned"]
6439 pub bSanctionsEnabled: EOS_Bool,
6440 #[doc = " Array of platform IDs indicating the player platforms allowed to register with the session. Platform IDs are\n found in the EOS header file (eos_common.h), for example EOS_OPT_Epic. For some platforms the value will be\n in the EOS Platform specific header file. If null, the session will be unrestricted."]
6441 pub AllowedPlatformIds: *const u32,
6442 #[doc = " Number of platform IDs in the array"]
6443 pub AllowedPlatformIdsCount: u32,
6444}
6445impl Default for _tagEOS_Sessions_CreateSessionModificationOptions {
6446 fn default() -> Self {
6447 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6448 unsafe {
6449 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6450 s.assume_init()
6451 }
6452 }
6453}
6454#[doc = " Input parameters for the EOS_Sessions_CreateSessionModification function."]
6455pub type EOS_Sessions_CreateSessionModificationOptions =
6456 _tagEOS_Sessions_CreateSessionModificationOptions;
6457#[doc = " Input parameters for the EOS_Sessions_UpdateSessionModification function."]
6458#[repr(C)]
6459#[derive(Debug, Copy, Clone)]
6460pub struct _tagEOS_Sessions_UpdateSessionModificationOptions {
6461 #[doc = " API Version: Set this to EOS_SESSIONS_UPDATESESSIONMODIFICATION_API_LATEST."]
6462 pub ApiVersion: i32,
6463 #[doc = " Name of the session to update"]
6464 pub SessionName: *const ::std::os::raw::c_char,
6465}
6466impl Default for _tagEOS_Sessions_UpdateSessionModificationOptions {
6467 fn default() -> Self {
6468 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6469 unsafe {
6470 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6471 s.assume_init()
6472 }
6473 }
6474}
6475#[doc = " Input parameters for the EOS_Sessions_UpdateSessionModification function."]
6476pub type EOS_Sessions_UpdateSessionModificationOptions =
6477 _tagEOS_Sessions_UpdateSessionModificationOptions;
6478#[doc = " Input parameters for the EOS_Sessions_SendInvite function."]
6479#[repr(C)]
6480#[derive(Debug, Copy, Clone)]
6481pub struct _tagEOS_Sessions_SendInviteOptions {
6482 #[doc = " API Version: Set this to EOS_SESSIONS_SENDINVITE_API_LATEST."]
6483 pub ApiVersion: i32,
6484 #[doc = " Name of the session associated with the invite"]
6485 pub SessionName: *const ::std::os::raw::c_char,
6486 #[doc = " The Product User ID of the local user sending the invitation"]
6487 pub LocalUserId: EOS_ProductUserId,
6488 #[doc = " The Product User of the remote user receiving the invitation"]
6489 pub TargetUserId: EOS_ProductUserId,
6490}
6491impl Default for _tagEOS_Sessions_SendInviteOptions {
6492 fn default() -> Self {
6493 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6494 unsafe {
6495 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6496 s.assume_init()
6497 }
6498 }
6499}
6500#[doc = " Input parameters for the EOS_Sessions_SendInvite function."]
6501pub type EOS_Sessions_SendInviteOptions = _tagEOS_Sessions_SendInviteOptions;
6502#[doc = " Output parameters for the EOS_Sessions_SendInvite function."]
6503#[repr(C)]
6504#[derive(Debug, Copy, Clone)]
6505pub struct _tagEOS_Sessions_SendInviteCallbackInfo {
6506 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
6507 pub ResultCode: EOS_EResult,
6508 #[doc = " Context that was passed into EOS_Sessions_SendInvite"]
6509 pub ClientData: *mut ::std::os::raw::c_void,
6510}
6511impl Default for _tagEOS_Sessions_SendInviteCallbackInfo {
6512 fn default() -> Self {
6513 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6514 unsafe {
6515 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6516 s.assume_init()
6517 }
6518 }
6519}
6520#[doc = " Output parameters for the EOS_Sessions_SendInvite function."]
6521pub type EOS_Sessions_SendInviteCallbackInfo = _tagEOS_Sessions_SendInviteCallbackInfo;
6522#[doc = " Function prototype definition for callbacks passed to EOS_Sessions_SendInvite\n @param Data A EOS_Sessions_SendInviteCallbackInfo containing the output information and result"]
6523pub type EOS_Sessions_OnSendInviteCallback =
6524 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Sessions_SendInviteCallbackInfo)>;
6525#[doc = " Input parameters for the EOS_Sessions_RejectInvite function."]
6526#[repr(C)]
6527#[derive(Debug, Copy, Clone)]
6528pub struct _tagEOS_Sessions_RejectInviteOptions {
6529 #[doc = " API Version: Set this to EOS_SESSIONS_REJECTINVITE_API_LATEST."]
6530 pub ApiVersion: i32,
6531 #[doc = " The Product User ID of the local user rejecting the invitation"]
6532 pub LocalUserId: EOS_ProductUserId,
6533 #[doc = " The invite ID to reject"]
6534 pub InviteId: *const ::std::os::raw::c_char,
6535}
6536impl Default for _tagEOS_Sessions_RejectInviteOptions {
6537 fn default() -> Self {
6538 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6539 unsafe {
6540 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6541 s.assume_init()
6542 }
6543 }
6544}
6545#[doc = " Input parameters for the EOS_Sessions_RejectInvite function."]
6546pub type EOS_Sessions_RejectInviteOptions = _tagEOS_Sessions_RejectInviteOptions;
6547#[doc = " Output parameters for the EOS_Sessions_RejectInvite function."]
6548#[repr(C)]
6549#[derive(Debug, Copy, Clone)]
6550pub struct _tagEOS_Sessions_RejectInviteCallbackInfo {
6551 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
6552 pub ResultCode: EOS_EResult,
6553 #[doc = " Context that was passed into EOS_Sessions_RejectInvite"]
6554 pub ClientData: *mut ::std::os::raw::c_void,
6555}
6556impl Default for _tagEOS_Sessions_RejectInviteCallbackInfo {
6557 fn default() -> Self {
6558 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6559 unsafe {
6560 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6561 s.assume_init()
6562 }
6563 }
6564}
6565#[doc = " Output parameters for the EOS_Sessions_RejectInvite function."]
6566pub type EOS_Sessions_RejectInviteCallbackInfo = _tagEOS_Sessions_RejectInviteCallbackInfo;
6567#[doc = " Function prototype definition for callbacks passed to EOS_Sessions_RejectInvite\n @param Data A EOS_Sessions_RejectInviteCallbackInfo containing the output information and result"]
6568pub type EOS_Sessions_OnRejectInviteCallback =
6569 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Sessions_RejectInviteCallbackInfo)>;
6570#[doc = " Input parameters for the EOS_Sessions_QueryInvites function."]
6571#[repr(C)]
6572#[derive(Debug, Copy, Clone)]
6573pub struct _tagEOS_Sessions_QueryInvitesOptions {
6574 #[doc = " API Version: Set this to EOS_SESSIONS_QUERYINVITES_API_LATEST."]
6575 pub ApiVersion: i32,
6576 #[doc = " The Product User ID to query for invitations"]
6577 pub LocalUserId: EOS_ProductUserId,
6578}
6579impl Default for _tagEOS_Sessions_QueryInvitesOptions {
6580 fn default() -> Self {
6581 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6582 unsafe {
6583 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6584 s.assume_init()
6585 }
6586 }
6587}
6588#[doc = " Input parameters for the EOS_Sessions_QueryInvites function."]
6589pub type EOS_Sessions_QueryInvitesOptions = _tagEOS_Sessions_QueryInvitesOptions;
6590#[doc = " Output parameters for the EOS_Sessions_QueryInvites function."]
6591#[repr(C)]
6592#[derive(Debug, Copy, Clone)]
6593pub struct _tagEOS_Sessions_QueryInvitesCallbackInfo {
6594 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
6595 pub ResultCode: EOS_EResult,
6596 #[doc = " Context that was passed into EOS_Sessions_QueryInvites"]
6597 pub ClientData: *mut ::std::os::raw::c_void,
6598 #[doc = " The Product User of the local user who made the request"]
6599 pub LocalUserId: EOS_ProductUserId,
6600}
6601impl Default for _tagEOS_Sessions_QueryInvitesCallbackInfo {
6602 fn default() -> Self {
6603 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6604 unsafe {
6605 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6606 s.assume_init()
6607 }
6608 }
6609}
6610#[doc = " Output parameters for the EOS_Sessions_QueryInvites function."]
6611pub type EOS_Sessions_QueryInvitesCallbackInfo = _tagEOS_Sessions_QueryInvitesCallbackInfo;
6612#[doc = " Function prototype definition for callbacks passed to EOS_Sessions_QueryInvites\n @param Data A EOS_Sessions_QueryInvites CallbackInfo containing the output information and result"]
6613pub type EOS_Sessions_OnQueryInvitesCallback =
6614 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Sessions_QueryInvitesCallbackInfo)>;
6615#[doc = " Input parameters for the EOS_Sessions_GetInviteCount function."]
6616#[repr(C)]
6617#[derive(Debug, Copy, Clone)]
6618pub struct _tagEOS_Sessions_GetInviteCountOptions {
6619 #[doc = " API Version: Set this to EOS_SESSIONS_GETINVITECOUNT_API_LATEST."]
6620 pub ApiVersion: i32,
6621 #[doc = " The Product User ID of the local user who has one or more invitations in the cache"]
6622 pub LocalUserId: EOS_ProductUserId,
6623}
6624impl Default for _tagEOS_Sessions_GetInviteCountOptions {
6625 fn default() -> Self {
6626 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6627 unsafe {
6628 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6629 s.assume_init()
6630 }
6631 }
6632}
6633#[doc = " Input parameters for the EOS_Sessions_GetInviteCount function."]
6634pub type EOS_Sessions_GetInviteCountOptions = _tagEOS_Sessions_GetInviteCountOptions;
6635#[doc = " Input parameters for the EOS_Sessions_GetInviteIdByIndex function."]
6636#[repr(C)]
6637#[derive(Debug, Copy, Clone)]
6638pub struct _tagEOS_Sessions_GetInviteIdByIndexOptions {
6639 #[doc = " API Version: Set this to EOS_SESSIONS_GETINVITEIDBYINDEX_API_LATEST."]
6640 pub ApiVersion: i32,
6641 #[doc = " The Product User ID of the local user who has an invitation in the cache"]
6642 pub LocalUserId: EOS_ProductUserId,
6643 #[doc = " Index of the invite ID to retrieve"]
6644 pub Index: u32,
6645}
6646impl Default for _tagEOS_Sessions_GetInviteIdByIndexOptions {
6647 fn default() -> Self {
6648 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6649 unsafe {
6650 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6651 s.assume_init()
6652 }
6653 }
6654}
6655#[doc = " Input parameters for the EOS_Sessions_GetInviteIdByIndex function."]
6656pub type EOS_Sessions_GetInviteIdByIndexOptions = _tagEOS_Sessions_GetInviteIdByIndexOptions;
6657#[doc = " Input parameters for the EOS_Sessions_CreateSessionSearch function."]
6658#[repr(C)]
6659#[derive(Debug, Default, Copy, Clone)]
6660pub struct _tagEOS_Sessions_CreateSessionSearchOptions {
6661 #[doc = " API Version: Set this to EOS_SESSIONS_CREATESESSIONSEARCH_API_LATEST."]
6662 pub ApiVersion: i32,
6663 #[doc = " Max number of results to return"]
6664 pub MaxSearchResults: u32,
6665}
6666#[doc = " Input parameters for the EOS_Sessions_CreateSessionSearch function."]
6667pub type EOS_Sessions_CreateSessionSearchOptions = _tagEOS_Sessions_CreateSessionSearchOptions;
6668#[doc = " Input parameters for the EOS_Sessions_UpdateSession function."]
6669#[repr(C)]
6670#[derive(Debug, Copy, Clone)]
6671pub struct _tagEOS_Sessions_UpdateSessionOptions {
6672 #[doc = " API Version: Set this to EOS_SESSIONS_UPDATESESSION_API_LATEST."]
6673 pub ApiVersion: i32,
6674 #[doc = " Builder handle"]
6675 pub SessionModificationHandle: EOS_HSessionModification,
6676}
6677impl Default for _tagEOS_Sessions_UpdateSessionOptions {
6678 fn default() -> Self {
6679 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6680 unsafe {
6681 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6682 s.assume_init()
6683 }
6684 }
6685}
6686#[doc = " Input parameters for the EOS_Sessions_UpdateSession function."]
6687pub type EOS_Sessions_UpdateSessionOptions = _tagEOS_Sessions_UpdateSessionOptions;
6688#[doc = " Output parameters for the EOS_Sessions_UpdateSession function."]
6689#[repr(C)]
6690#[derive(Debug, Copy, Clone)]
6691pub struct _tagEOS_Sessions_UpdateSessionCallbackInfo {
6692 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
6693 pub ResultCode: EOS_EResult,
6694 #[doc = " Context that was passed into EOS_Sessions_UpdateSession"]
6695 pub ClientData: *mut ::std::os::raw::c_void,
6696 #[doc = " Name of the session that was created/modified"]
6697 pub SessionName: *const ::std::os::raw::c_char,
6698 #[doc = " ID of the session that was created/modified"]
6699 pub SessionId: *const ::std::os::raw::c_char,
6700}
6701impl Default for _tagEOS_Sessions_UpdateSessionCallbackInfo {
6702 fn default() -> Self {
6703 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6704 unsafe {
6705 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6706 s.assume_init()
6707 }
6708 }
6709}
6710#[doc = " Output parameters for the EOS_Sessions_UpdateSession function."]
6711pub type EOS_Sessions_UpdateSessionCallbackInfo = _tagEOS_Sessions_UpdateSessionCallbackInfo;
6712#[doc = " Function prototype definition for callbacks passed to EOS_Sessions_UpdateSession\n @param Data A EOS_Sessions_UpdateSessionCallbackInfo containing the output information and result"]
6713pub type EOS_Sessions_OnUpdateSessionCallback = ::std::option::Option<
6714 unsafe extern "C" fn(Data: *const EOS_Sessions_UpdateSessionCallbackInfo),
6715>;
6716#[doc = " Input parameters for the EOS_Sessions_DestroySession function."]
6717#[repr(C)]
6718#[derive(Debug, Copy, Clone)]
6719pub struct _tagEOS_Sessions_DestroySessionOptions {
6720 #[doc = " API Version: Set this to EOS_SESSIONS_DESTROYSESSION_API_LATEST."]
6721 pub ApiVersion: i32,
6722 #[doc = " Name of the session to destroy"]
6723 pub SessionName: *const ::std::os::raw::c_char,
6724}
6725impl Default for _tagEOS_Sessions_DestroySessionOptions {
6726 fn default() -> Self {
6727 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6728 unsafe {
6729 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6730 s.assume_init()
6731 }
6732 }
6733}
6734#[doc = " Input parameters for the EOS_Sessions_DestroySession function."]
6735pub type EOS_Sessions_DestroySessionOptions = _tagEOS_Sessions_DestroySessionOptions;
6736#[doc = " Output parameters for the EOS_Sessions_DestroySession function."]
6737#[repr(C)]
6738#[derive(Debug, Copy, Clone)]
6739pub struct _tagEOS_Sessions_DestroySessionCallbackInfo {
6740 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
6741 pub ResultCode: EOS_EResult,
6742 #[doc = " Context that was passed into EOS_Sessions_DestroySession"]
6743 pub ClientData: *mut ::std::os::raw::c_void,
6744}
6745impl Default for _tagEOS_Sessions_DestroySessionCallbackInfo {
6746 fn default() -> Self {
6747 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6748 unsafe {
6749 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6750 s.assume_init()
6751 }
6752 }
6753}
6754#[doc = " Output parameters for the EOS_Sessions_DestroySession function."]
6755pub type EOS_Sessions_DestroySessionCallbackInfo = _tagEOS_Sessions_DestroySessionCallbackInfo;
6756#[doc = " Function prototype definition for callbacks passed to EOS_Sessions_DestroySession\n @param Data A EOS_Sessions_DestroySessionCallbackInfo containing the output information and result"]
6757pub type EOS_Sessions_OnDestroySessionCallback = ::std::option::Option<
6758 unsafe extern "C" fn(Data: *const EOS_Sessions_DestroySessionCallbackInfo),
6759>;
6760#[doc = " Input parameters for the EOS_Sessions_JoinSession function."]
6761#[repr(C)]
6762#[derive(Debug, Copy, Clone)]
6763pub struct _tagEOS_Sessions_JoinSessionOptions {
6764 #[doc = " API Version: Set this to EOS_SESSIONS_JOINSESSION_API_LATEST."]
6765 pub ApiVersion: i32,
6766 #[doc = " Name of the session to create after joining session"]
6767 pub SessionName: *const ::std::os::raw::c_char,
6768 #[doc = " Session handle to join"]
6769 pub SessionHandle: EOS_HSessionDetails,
6770 #[doc = " The Product User ID of the local user who is joining the session"]
6771 pub LocalUserId: EOS_ProductUserId,
6772 #[doc = " Determines whether or not this session should be the one associated with the local user's presence information.\n If true, this session will be associated with presence. Only one session at a time can have this flag true.\n This affects the ability of the Social Overlay to show game related actions to take in the user's social graph.\n\n @note The Social Overlay can handle only one of the following three options at a time:\n * using the bPresenceEnabled flags within the Sessions interface\n * using the bPresenceEnabled flags within the Lobby interface\n * using EOS_PresenceModification_SetJoinInfo\n\n @see EOS_PresenceModification_SetJoinInfoOptions\n @see EOS_Lobby_CreateLobbyOptions\n @see EOS_Lobby_JoinLobbyOptions\n @see EOS_Sessions_CreateSessionModificationOptions"]
6773 pub bPresenceEnabled: EOS_Bool,
6774}
6775impl Default for _tagEOS_Sessions_JoinSessionOptions {
6776 fn default() -> Self {
6777 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6778 unsafe {
6779 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6780 s.assume_init()
6781 }
6782 }
6783}
6784#[doc = " Input parameters for the EOS_Sessions_JoinSession function."]
6785pub type EOS_Sessions_JoinSessionOptions = _tagEOS_Sessions_JoinSessionOptions;
6786#[doc = " Output parameters for the EOS_Sessions_JoinSession function."]
6787#[repr(C)]
6788#[derive(Debug, Copy, Clone)]
6789pub struct _tagEOS_Sessions_JoinSessionCallbackInfo {
6790 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
6791 pub ResultCode: EOS_EResult,
6792 #[doc = " Context that was passed into EOS_Sessions_JoinSession"]
6793 pub ClientData: *mut ::std::os::raw::c_void,
6794}
6795impl Default for _tagEOS_Sessions_JoinSessionCallbackInfo {
6796 fn default() -> Self {
6797 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6798 unsafe {
6799 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6800 s.assume_init()
6801 }
6802 }
6803}
6804#[doc = " Output parameters for the EOS_Sessions_JoinSession function."]
6805pub type EOS_Sessions_JoinSessionCallbackInfo = _tagEOS_Sessions_JoinSessionCallbackInfo;
6806#[doc = " Function prototype definition for callbacks passed to EOS_Sessions_JoinSession\n @param Data A EOS_Sessions_JoinSessionCallbackInfo containing the output information and result"]
6807pub type EOS_Sessions_OnJoinSessionCallback =
6808 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Sessions_JoinSessionCallbackInfo)>;
6809#[doc = " Input parameters for the EOS_Sessions_StartSession function."]
6810#[repr(C)]
6811#[derive(Debug, Copy, Clone)]
6812pub struct _tagEOS_Sessions_StartSessionOptions {
6813 #[doc = " API Version: Set this to EOS_SESSIONS_STARTSESSION_API_LATEST."]
6814 pub ApiVersion: i32,
6815 #[doc = " Name of the session to set in progress"]
6816 pub SessionName: *const ::std::os::raw::c_char,
6817}
6818impl Default for _tagEOS_Sessions_StartSessionOptions {
6819 fn default() -> Self {
6820 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6821 unsafe {
6822 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6823 s.assume_init()
6824 }
6825 }
6826}
6827#[doc = " Input parameters for the EOS_Sessions_StartSession function."]
6828pub type EOS_Sessions_StartSessionOptions = _tagEOS_Sessions_StartSessionOptions;
6829#[doc = " Output parameters for the EOS_Sessions_StartSession function."]
6830#[repr(C)]
6831#[derive(Debug, Copy, Clone)]
6832pub struct _tagEOS_Sessions_StartSessionCallbackInfo {
6833 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
6834 pub ResultCode: EOS_EResult,
6835 #[doc = " Context that was passed into EOS_Sessions_StartSession"]
6836 pub ClientData: *mut ::std::os::raw::c_void,
6837}
6838impl Default for _tagEOS_Sessions_StartSessionCallbackInfo {
6839 fn default() -> Self {
6840 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6841 unsafe {
6842 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6843 s.assume_init()
6844 }
6845 }
6846}
6847#[doc = " Output parameters for the EOS_Sessions_StartSession function."]
6848pub type EOS_Sessions_StartSessionCallbackInfo = _tagEOS_Sessions_StartSessionCallbackInfo;
6849#[doc = " Function prototype definition for callbacks passed to EOS_Sessions_StartSession\n @param Data A EOS_Sessions_StartSessionCallbackInfo containing the output information and result"]
6850pub type EOS_Sessions_OnStartSessionCallback =
6851 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Sessions_StartSessionCallbackInfo)>;
6852#[doc = " Input parameters for the EOS_Sessions_EndSession function."]
6853#[repr(C)]
6854#[derive(Debug, Copy, Clone)]
6855pub struct _tagEOS_Sessions_EndSessionOptions {
6856 #[doc = " API Version: Set this to EOS_SESSIONS_ENDSESSION_API_LATEST."]
6857 pub ApiVersion: i32,
6858 #[doc = " Name of the session to set as no long in progress"]
6859 pub SessionName: *const ::std::os::raw::c_char,
6860}
6861impl Default for _tagEOS_Sessions_EndSessionOptions {
6862 fn default() -> Self {
6863 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6864 unsafe {
6865 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6866 s.assume_init()
6867 }
6868 }
6869}
6870#[doc = " Input parameters for the EOS_Sessions_EndSession function."]
6871pub type EOS_Sessions_EndSessionOptions = _tagEOS_Sessions_EndSessionOptions;
6872#[doc = " Output parameters for the EOS_Sessions_EndSession function."]
6873#[repr(C)]
6874#[derive(Debug, Copy, Clone)]
6875pub struct _tagEOS_Sessions_EndSessionCallbackInfo {
6876 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
6877 pub ResultCode: EOS_EResult,
6878 #[doc = " Context that was passed into EOS_Sessions_EndSession"]
6879 pub ClientData: *mut ::std::os::raw::c_void,
6880}
6881impl Default for _tagEOS_Sessions_EndSessionCallbackInfo {
6882 fn default() -> Self {
6883 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6884 unsafe {
6885 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6886 s.assume_init()
6887 }
6888 }
6889}
6890#[doc = " Output parameters for the EOS_Sessions_EndSession function."]
6891pub type EOS_Sessions_EndSessionCallbackInfo = _tagEOS_Sessions_EndSessionCallbackInfo;
6892#[doc = " Function prototype definition for callbacks passed to EOS_Sessions_EndSession\n @param Data A EOS_Sessions_EndSessionCallbackInfo containing the output information and result"]
6893pub type EOS_Sessions_OnEndSessionCallback =
6894 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Sessions_EndSessionCallbackInfo)>;
6895#[doc = " Input parameters for the EOS_Sessions_RegisterPlayers function."]
6896#[repr(C)]
6897#[derive(Debug, Copy, Clone)]
6898pub struct _tagEOS_Sessions_RegisterPlayersOptions {
6899 #[doc = " API Version: Set this to EOS_SESSIONS_REGISTERPLAYERS_API_LATEST."]
6900 pub ApiVersion: i32,
6901 #[doc = " Name of the session for which to register players"]
6902 pub SessionName: *const ::std::os::raw::c_char,
6903 #[doc = " Array of players to register with the session"]
6904 pub PlayersToRegister: *mut EOS_ProductUserId,
6905 #[doc = " Number of players in the array"]
6906 pub PlayersToRegisterCount: u32,
6907}
6908impl Default for _tagEOS_Sessions_RegisterPlayersOptions {
6909 fn default() -> Self {
6910 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6911 unsafe {
6912 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6913 s.assume_init()
6914 }
6915 }
6916}
6917#[doc = " Input parameters for the EOS_Sessions_RegisterPlayers function."]
6918pub type EOS_Sessions_RegisterPlayersOptions = _tagEOS_Sessions_RegisterPlayersOptions;
6919#[doc = " Output parameters for the EOS_Sessions_RegisterPlayers function."]
6920#[repr(C)]
6921#[derive(Debug, Copy, Clone)]
6922pub struct _tagEOS_Sessions_RegisterPlayersCallbackInfo {
6923 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
6924 pub ResultCode: EOS_EResult,
6925 #[doc = " Context that was passed into EOS_Sessions_RegisterPlayers"]
6926 pub ClientData: *mut ::std::os::raw::c_void,
6927 #[doc = " The players that were successfully registered"]
6928 pub RegisteredPlayers: *mut EOS_ProductUserId,
6929 #[doc = " The number of players successfully registered"]
6930 pub RegisteredPlayersCount: u32,
6931 #[doc = " The players that failed to register because they are sanctioned"]
6932 pub SanctionedPlayers: *mut EOS_ProductUserId,
6933 #[doc = " The number of players that failed to register because they are sanctioned"]
6934 pub SanctionedPlayersCount: u32,
6935}
6936impl Default for _tagEOS_Sessions_RegisterPlayersCallbackInfo {
6937 fn default() -> Self {
6938 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6939 unsafe {
6940 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6941 s.assume_init()
6942 }
6943 }
6944}
6945#[doc = " Output parameters for the EOS_Sessions_RegisterPlayers function."]
6946pub type EOS_Sessions_RegisterPlayersCallbackInfo = _tagEOS_Sessions_RegisterPlayersCallbackInfo;
6947#[doc = " Function prototype definition for callbacks passed to EOS_Sessions_RegisterPlayers\n @param Data A EOS_Sessions_RegisterPlayersCallbackInfo containing the output information and result"]
6948pub type EOS_Sessions_OnRegisterPlayersCallback = ::std::option::Option<
6949 unsafe extern "C" fn(Data: *const EOS_Sessions_RegisterPlayersCallbackInfo),
6950>;
6951#[doc = " Input parameters for the EOS_Sessions_UnregisterPlayers function."]
6952#[repr(C)]
6953#[derive(Debug, Copy, Clone)]
6954pub struct _tagEOS_Sessions_UnregisterPlayersOptions {
6955 #[doc = " API Version: Set this to EOS_SESSIONS_UNREGISTERPLAYERS_API_LATEST."]
6956 pub ApiVersion: i32,
6957 #[doc = " Name of the session for which to unregister players"]
6958 pub SessionName: *const ::std::os::raw::c_char,
6959 #[doc = " Array of players to unregister from the session"]
6960 pub PlayersToUnregister: *mut EOS_ProductUserId,
6961 #[doc = " Number of players in the array"]
6962 pub PlayersToUnregisterCount: u32,
6963}
6964impl Default for _tagEOS_Sessions_UnregisterPlayersOptions {
6965 fn default() -> Self {
6966 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6967 unsafe {
6968 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6969 s.assume_init()
6970 }
6971 }
6972}
6973#[doc = " Input parameters for the EOS_Sessions_UnregisterPlayers function."]
6974pub type EOS_Sessions_UnregisterPlayersOptions = _tagEOS_Sessions_UnregisterPlayersOptions;
6975#[doc = " Output parameters for the EOS_Sessions_UnregisterPlayers function."]
6976#[repr(C)]
6977#[derive(Debug, Copy, Clone)]
6978pub struct _tagEOS_Sessions_UnregisterPlayersCallbackInfo {
6979 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
6980 pub ResultCode: EOS_EResult,
6981 #[doc = " Context that was passed into EOS_Sessions_UnregisterPlayers"]
6982 pub ClientData: *mut ::std::os::raw::c_void,
6983 #[doc = " The players that successfully unregistered"]
6984 pub UnregisteredPlayers: *mut EOS_ProductUserId,
6985 #[doc = " The number of players that successfully unregistered"]
6986 pub UnregisteredPlayersCount: u32,
6987}
6988impl Default for _tagEOS_Sessions_UnregisterPlayersCallbackInfo {
6989 fn default() -> Self {
6990 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6991 unsafe {
6992 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6993 s.assume_init()
6994 }
6995 }
6996}
6997#[doc = " Output parameters for the EOS_Sessions_UnregisterPlayers function."]
6998pub type EOS_Sessions_UnregisterPlayersCallbackInfo =
6999 _tagEOS_Sessions_UnregisterPlayersCallbackInfo;
7000#[doc = " Function prototype definition for callbacks passed to EOS_Sessions_UnregisterPlayers\n @param Data A EOS_Sessions_UnregisterPlayersCallbackInfo containing the output information and result"]
7001pub type EOS_Sessions_OnUnregisterPlayersCallback = ::std::option::Option<
7002 unsafe extern "C" fn(Data: *const EOS_Sessions_UnregisterPlayersCallbackInfo),
7003>;
7004#[doc = " Input parameters for the EOS_SessionModification_SetBucketId function."]
7005#[repr(C)]
7006#[derive(Debug, Copy, Clone)]
7007pub struct _tagEOS_SessionModification_SetBucketIdOptions {
7008 #[doc = " API Version: Set this to EOS_SESSIONMODIFICATION_SETBUCKETID_API_LATEST."]
7009 pub ApiVersion: i32,
7010 #[doc = " The new bucket id associated with the session"]
7011 pub BucketId: *const ::std::os::raw::c_char,
7012}
7013impl Default for _tagEOS_SessionModification_SetBucketIdOptions {
7014 fn default() -> Self {
7015 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7016 unsafe {
7017 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7018 s.assume_init()
7019 }
7020 }
7021}
7022#[doc = " Input parameters for the EOS_SessionModification_SetBucketId function."]
7023pub type EOS_SessionModification_SetBucketIdOptions =
7024 _tagEOS_SessionModification_SetBucketIdOptions;
7025#[doc = " Input parameters for the EOS_SessionModification_SetHostAddress function."]
7026#[repr(C)]
7027#[derive(Debug, Copy, Clone)]
7028pub struct _tagEOS_SessionModification_SetHostAddressOptions {
7029 #[doc = " API Version: Set this to EOS_SESSIONMODIFICATION_SETHOSTADDRESS_API_LATEST."]
7030 pub ApiVersion: i32,
7031 #[doc = " A string representing the host address for the session, its meaning is up to the application"]
7032 pub HostAddress: *const ::std::os::raw::c_char,
7033}
7034impl Default for _tagEOS_SessionModification_SetHostAddressOptions {
7035 fn default() -> Self {
7036 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7037 unsafe {
7038 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7039 s.assume_init()
7040 }
7041 }
7042}
7043#[doc = " Input parameters for the EOS_SessionModification_SetHostAddress function."]
7044pub type EOS_SessionModification_SetHostAddressOptions =
7045 _tagEOS_SessionModification_SetHostAddressOptions;
7046#[doc = " Anyone can find this session as long as it isn't full"]
7047pub const EOS_EOnlineSessionPermissionLevel_EOS_OSPF_PublicAdvertised:
7048 EOS_EOnlineSessionPermissionLevel = 0;
7049#[doc = " Players who have access to presence can see this session"]
7050pub const EOS_EOnlineSessionPermissionLevel_EOS_OSPF_JoinViaPresence:
7051 EOS_EOnlineSessionPermissionLevel = 1;
7052#[doc = " Only players with invites registered can see this session"]
7053pub const EOS_EOnlineSessionPermissionLevel_EOS_OSPF_InviteOnly: EOS_EOnlineSessionPermissionLevel =
7054 2;
7055pub const EOS_EOnlineSessionPermissionLevel___EOS_EOnlineSessionPermissionLevel_PAD_INT32__:
7056 EOS_EOnlineSessionPermissionLevel = 2147483647;
7057#[doc = " Permission level gets more restrictive further down"]
7058pub type EOS_EOnlineSessionPermissionLevel = ::std::os::raw::c_int;
7059#[doc = " Input parameters for the EOS_SessionModification_SetPermissionLevel function."]
7060#[repr(C)]
7061#[derive(Debug, Copy, Clone)]
7062pub struct _tagEOS_SessionModification_SetPermissionLevelOptions {
7063 #[doc = " API Version: Set this to EOS_SESSIONMODIFICATION_SETPERMISSIONLEVEL_API_LATEST."]
7064 pub ApiVersion: i32,
7065 #[doc = " Permission level to set on the session"]
7066 pub PermissionLevel: EOS_EOnlineSessionPermissionLevel,
7067}
7068impl Default for _tagEOS_SessionModification_SetPermissionLevelOptions {
7069 fn default() -> Self {
7070 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7071 unsafe {
7072 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7073 s.assume_init()
7074 }
7075 }
7076}
7077#[doc = " Input parameters for the EOS_SessionModification_SetPermissionLevel function."]
7078pub type EOS_SessionModification_SetPermissionLevelOptions =
7079 _tagEOS_SessionModification_SetPermissionLevelOptions;
7080#[doc = " Input parameters for the EOS_SessionModification_SetJoinInProgressAllowed function."]
7081#[repr(C)]
7082#[derive(Debug, Default, Copy, Clone)]
7083pub struct _tagEOS_SessionModification_SetJoinInProgressAllowedOptions {
7084 #[doc = " API Version: Set this to EOS_SESSIONMODIFICATION_SETJOININPROGRESSALLOWED_API_LATEST."]
7085 pub ApiVersion: i32,
7086 #[doc = " Does the session allow join in progress"]
7087 pub bAllowJoinInProgress: EOS_Bool,
7088}
7089#[doc = " Input parameters for the EOS_SessionModification_SetJoinInProgressAllowed function."]
7090pub type EOS_SessionModification_SetJoinInProgressAllowedOptions =
7091 _tagEOS_SessionModification_SetJoinInProgressAllowedOptions;
7092#[doc = " Input parameters for the EOS_SessionModification_SetMaxPlayers function."]
7093#[repr(C)]
7094#[derive(Debug, Default, Copy, Clone)]
7095pub struct _tagEOS_SessionModification_SetMaxPlayersOptions {
7096 #[doc = " API Version: Set this to EOS_SESSIONMODIFICATION_SETMAXPLAYERS_API_LATEST."]
7097 pub ApiVersion: i32,
7098 #[doc = " Max number of players to allow in the session"]
7099 pub MaxPlayers: u32,
7100}
7101#[doc = " Input parameters for the EOS_SessionModification_SetMaxPlayers function."]
7102pub type EOS_SessionModification_SetMaxPlayersOptions =
7103 _tagEOS_SessionModification_SetMaxPlayersOptions;
7104#[doc = " Input parameters for the EOS_SessionModification_SetInvitesAllowed function."]
7105#[repr(C)]
7106#[derive(Debug, Default, Copy, Clone)]
7107pub struct _tagEOS_SessionModification_SetInvitesAllowedOptions {
7108 #[doc = " API Version: Set this to EOS_SESSIONMODIFICATION_SETINVITESALLOWED_API_LATEST."]
7109 pub ApiVersion: i32,
7110 #[doc = " If true then invites can currently be sent for the associated session"]
7111 pub bInvitesAllowed: EOS_Bool,
7112}
7113#[doc = " Input parameters for the EOS_SessionModification_SetInvitesAllowed function."]
7114pub type EOS_SessionModification_SetInvitesAllowedOptions =
7115 _tagEOS_SessionModification_SetInvitesAllowedOptions;
7116#[doc = " Input parameters for the EOS_SessionModification_SetAllowedPlatformIds function."]
7117#[repr(C)]
7118#[derive(Debug, Copy, Clone)]
7119pub struct _tagEOS_SessionModification_SetAllowedPlatformIdsOptions {
7120 #[doc = " API Version: Set this to EOS_SESSIONMODIFICATION_SETALLOWEDPLATFORMIDS_API_LATEST."]
7121 pub ApiVersion: i32,
7122 #[doc = " Array of platform IDs indicating the player platforms allowed to register with the session. Platform IDs are\n found in the EOS header file, e.g. EOS_OPT_Epic. For some platforms, the value will be in the EOS Platform specific\n header file. If null, the session will be unrestricted."]
7123 pub AllowedPlatformIds: *const u32,
7124 #[doc = " Number of platform IDs in the array"]
7125 pub AllowedPlatformIdsCount: u32,
7126}
7127impl Default for _tagEOS_SessionModification_SetAllowedPlatformIdsOptions {
7128 fn default() -> Self {
7129 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7130 unsafe {
7131 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7132 s.assume_init()
7133 }
7134 }
7135}
7136#[doc = " Input parameters for the EOS_SessionModification_SetAllowedPlatformIds function."]
7137pub type EOS_SessionModification_SetAllowedPlatformIdsOptions =
7138 _tagEOS_SessionModification_SetAllowedPlatformIdsOptions;
7139#[doc = " Contains information about both session and search parameter attribution"]
7140#[repr(C)]
7141#[derive(Copy, Clone)]
7142pub struct _tagEOS_Sessions_AttributeData {
7143 #[doc = " API Version: Set this to EOS_SESSIONS_ATTRIBUTEDATA_API_LATEST."]
7144 pub ApiVersion: i32,
7145 #[doc = " Name of the session attribute"]
7146 pub Key: *const ::std::os::raw::c_char,
7147 #[doc = " Value of the session attribute"]
7148 pub Value: _tagEOS_Sessions_AttributeData__bindgen_ty_1,
7149 #[doc = " Type of value stored in the union"]
7150 pub ValueType: EOS_ESessionAttributeType,
7151}
7152#[doc = " Value of the session attribute"]
7153#[repr(C)]
7154#[derive(Copy, Clone)]
7155pub union _tagEOS_Sessions_AttributeData__bindgen_ty_1 {
7156 #[doc = " Stored as an 8 byte integer"]
7157 pub AsInt64: i64,
7158 #[doc = " Stored as a double precision floating point"]
7159 pub AsDouble: f64,
7160 #[doc = " Stored as a boolean"]
7161 pub AsBool: EOS_Bool,
7162 #[doc = " Stored as a null terminated UTF8 string. Should not be nullptr"]
7163 pub AsUtf8: *const ::std::os::raw::c_char,
7164}
7165impl Default for _tagEOS_Sessions_AttributeData__bindgen_ty_1 {
7166 fn default() -> Self {
7167 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7168 unsafe {
7169 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7170 s.assume_init()
7171 }
7172 }
7173}
7174impl Default for _tagEOS_Sessions_AttributeData {
7175 fn default() -> Self {
7176 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7177 unsafe {
7178 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7179 s.assume_init()
7180 }
7181 }
7182}
7183#[doc = " Contains information about both session and search parameter attribution"]
7184pub type EOS_Sessions_AttributeData = _tagEOS_Sessions_AttributeData;
7185#[doc = " Input parameters for the EOS_ActiveSession_CopyInfo function."]
7186#[repr(C)]
7187#[derive(Debug, Default, Copy, Clone)]
7188pub struct _tagEOS_ActiveSession_CopyInfoOptions {
7189 #[doc = " API Version: Set this to EOS_ACTIVESESSION_COPYINFO_API_LATEST."]
7190 pub ApiVersion: i32,
7191}
7192#[doc = " Input parameters for the EOS_ActiveSession_CopyInfo function."]
7193pub type EOS_ActiveSession_CopyInfoOptions = _tagEOS_ActiveSession_CopyInfoOptions;
7194#[doc = " Input parameters for the EOS_ActiveSession_GetRegisteredPlayerCount function."]
7195#[repr(C)]
7196#[derive(Debug, Default, Copy, Clone)]
7197pub struct _tagEOS_ActiveSession_GetRegisteredPlayerCountOptions {
7198 #[doc = " API Version: Set this to EOS_ACTIVESESSION_GETREGISTEREDPLAYERCOUNT_API_LATEST."]
7199 pub ApiVersion: i32,
7200}
7201#[doc = " Input parameters for the EOS_ActiveSession_GetRegisteredPlayerCount function."]
7202pub type EOS_ActiveSession_GetRegisteredPlayerCountOptions =
7203 _tagEOS_ActiveSession_GetRegisteredPlayerCountOptions;
7204#[doc = " Input parameters for the EOS_ActiveSession_GetRegisteredPlayerByIndex function."]
7205#[repr(C)]
7206#[derive(Debug, Default, Copy, Clone)]
7207pub struct _tagEOS_ActiveSession_GetRegisteredPlayerByIndexOptions {
7208 #[doc = " API Version: Set this to EOS_ACTIVESESSION_GETREGISTEREDPLAYERBYINDEX_API_LATEST."]
7209 pub ApiVersion: i32,
7210 #[doc = " Index of the registered player to retrieve"]
7211 pub PlayerIndex: u32,
7212}
7213#[doc = " Input parameters for the EOS_ActiveSession_GetRegisteredPlayerByIndex function."]
7214pub type EOS_ActiveSession_GetRegisteredPlayerByIndexOptions =
7215 _tagEOS_ActiveSession_GetRegisteredPlayerByIndexOptions;
7216#[doc = " An attribution value and its advertisement setting stored with a session."]
7217#[repr(C)]
7218#[derive(Debug, Copy, Clone)]
7219pub struct _tagEOS_SessionDetails_Attribute {
7220 #[doc = " API Version: Set this to EOS_SESSIONDETAILS_ATTRIBUTE_API_LATEST."]
7221 pub ApiVersion: i32,
7222 #[doc = " Key/Value pair describing the attribute"]
7223 pub Data: *mut EOS_Sessions_AttributeData,
7224 #[doc = " Is this attribution advertised with the backend or simply stored locally"]
7225 pub AdvertisementType: EOS_ESessionAttributeAdvertisementType,
7226}
7227impl Default for _tagEOS_SessionDetails_Attribute {
7228 fn default() -> Self {
7229 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7230 unsafe {
7231 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7232 s.assume_init()
7233 }
7234 }
7235}
7236#[doc = " An attribution value and its advertisement setting stored with a session."]
7237pub type EOS_SessionDetails_Attribute = _tagEOS_SessionDetails_Attribute;
7238unsafe extern "C" {
7239 #[doc = " Release the memory associated with a session attribute. This must be called on data retrieved from EOS_SessionDetails_CopySessionAttributeByIndex.\n\n @param SessionAttribute - The session attribute to release\n\n @see EOS_SessionDetails_CopySessionAttributeByIndex"]
7240 pub fn EOS_SessionDetails_Attribute_Release(
7241 SessionAttribute: *mut EOS_SessionDetails_Attribute,
7242 );
7243}
7244#[doc = " Input parameters for the EOS_SessionModification_AddAttribute function."]
7245#[repr(C)]
7246#[derive(Debug, Copy, Clone)]
7247pub struct _tagEOS_SessionModification_AddAttributeOptions {
7248 #[doc = " API Version: Set this to EOS_SESSIONMODIFICATION_ADDATTRIBUTE_API_LATEST."]
7249 pub ApiVersion: i32,
7250 #[doc = " Key/Value pair describing the attribute to add to the session"]
7251 pub SessionAttribute: *const EOS_Sessions_AttributeData,
7252 #[doc = " Is this attribution advertised with the backend or simply stored locally"]
7253 pub AdvertisementType: EOS_ESessionAttributeAdvertisementType,
7254}
7255impl Default for _tagEOS_SessionModification_AddAttributeOptions {
7256 fn default() -> Self {
7257 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7258 unsafe {
7259 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7260 s.assume_init()
7261 }
7262 }
7263}
7264#[doc = " Input parameters for the EOS_SessionModification_AddAttribute function."]
7265pub type EOS_SessionModification_AddAttributeOptions =
7266 _tagEOS_SessionModification_AddAttributeOptions;
7267#[doc = " Input parameters for the EOS_SessionModification_RemoveAttribute function."]
7268#[repr(C)]
7269#[derive(Debug, Copy, Clone)]
7270pub struct _tagEOS_SessionModification_RemoveAttributeOptions {
7271 #[doc = " API Version: Set this to EOS_SESSIONMODIFICATION_REMOVEATTRIBUTE_API_LATEST."]
7272 pub ApiVersion: i32,
7273 #[doc = " Session attribute to remove from the session"]
7274 pub Key: *const ::std::os::raw::c_char,
7275}
7276impl Default for _tagEOS_SessionModification_RemoveAttributeOptions {
7277 fn default() -> Self {
7278 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7279 unsafe {
7280 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7281 s.assume_init()
7282 }
7283 }
7284}
7285#[doc = " Input parameters for the EOS_SessionModification_RemoveAttribute function."]
7286pub type EOS_SessionModification_RemoveAttributeOptions =
7287 _tagEOS_SessionModification_RemoveAttributeOptions;
7288#[doc = " Input parameters for the EOS_SessionSearch_SetMaxResults function."]
7289#[repr(C)]
7290#[derive(Debug, Default, Copy, Clone)]
7291pub struct _tagEOS_SessionSearch_SetMaxResultsOptions {
7292 #[doc = " API Version: Set this to EOS_SESSIONSEARCH_SETMAXSEARCHRESULTS_API_LATEST."]
7293 pub ApiVersion: i32,
7294 #[doc = " Maximum number of search results returned with this query, may not exceed EOS_SESSIONS_MAX_SEARCH_RESULTS"]
7295 pub MaxSearchResults: u32,
7296}
7297#[doc = " Input parameters for the EOS_SessionSearch_SetMaxResults function."]
7298pub type EOS_SessionSearch_SetMaxResultsOptions = _tagEOS_SessionSearch_SetMaxResultsOptions;
7299#[doc = " Input parameters for the EOS_SessionSearch_Find function."]
7300#[repr(C)]
7301#[derive(Debug, Copy, Clone)]
7302pub struct _tagEOS_SessionSearch_FindOptions {
7303 #[doc = " API Version: Set this to EOS_SESSIONSEARCH_FIND_API_LATEST."]
7304 pub ApiVersion: i32,
7305 #[doc = " The Product User ID of the local user who is searching"]
7306 pub LocalUserId: EOS_ProductUserId,
7307}
7308impl Default for _tagEOS_SessionSearch_FindOptions {
7309 fn default() -> Self {
7310 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7311 unsafe {
7312 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7313 s.assume_init()
7314 }
7315 }
7316}
7317#[doc = " Input parameters for the EOS_SessionSearch_Find function."]
7318pub type EOS_SessionSearch_FindOptions = _tagEOS_SessionSearch_FindOptions;
7319#[doc = " Output parameters for the EOS_SessionSearch_Find function."]
7320#[repr(C)]
7321#[derive(Debug, Copy, Clone)]
7322pub struct _tagEOS_SessionSearch_FindCallbackInfo {
7323 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
7324 pub ResultCode: EOS_EResult,
7325 #[doc = " Context that was passed into EOS_SessionSearch_Find"]
7326 pub ClientData: *mut ::std::os::raw::c_void,
7327}
7328impl Default for _tagEOS_SessionSearch_FindCallbackInfo {
7329 fn default() -> Self {
7330 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7331 unsafe {
7332 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7333 s.assume_init()
7334 }
7335 }
7336}
7337#[doc = " Output parameters for the EOS_SessionSearch_Find function."]
7338pub type EOS_SessionSearch_FindCallbackInfo = _tagEOS_SessionSearch_FindCallbackInfo;
7339#[doc = " Function prototype definition for callbacks passed to EOS_SessionSearch_Find\n @param Data A EOS_SessionSearch_FindCallbackInfo containing the output information and result"]
7340pub type EOS_SessionSearch_OnFindCallback =
7341 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_SessionSearch_FindCallbackInfo)>;
7342#[doc = " Input parameters for the EOS_SessionSearch_GetSearchResultCount function."]
7343#[repr(C)]
7344#[derive(Debug, Default, Copy, Clone)]
7345pub struct _tagEOS_SessionSearch_GetSearchResultCountOptions {
7346 #[doc = " API Version: Set this to EOS_SESSIONSEARCH_GETSEARCHRESULTCOUNT_API_LATEST."]
7347 pub ApiVersion: i32,
7348}
7349#[doc = " Input parameters for the EOS_SessionSearch_GetSearchResultCount function."]
7350pub type EOS_SessionSearch_GetSearchResultCountOptions =
7351 _tagEOS_SessionSearch_GetSearchResultCountOptions;
7352#[doc = " Input parameters for the EOS_SessionSearch_CopySearchResultByIndex function."]
7353#[repr(C)]
7354#[derive(Debug, Default, Copy, Clone)]
7355pub struct _tagEOS_SessionSearch_CopySearchResultByIndexOptions {
7356 #[doc = " API Version: Set this to EOS_SESSIONSEARCH_COPYSEARCHRESULTBYINDEX_API_LATEST."]
7357 pub ApiVersion: i32,
7358 #[doc = " The index of the session to retrieve within the completed search query\n @see EOS_SessionSearch_GetSearchResultCount"]
7359 pub SessionIndex: u32,
7360}
7361#[doc = " Input parameters for the EOS_SessionSearch_CopySearchResultByIndex function."]
7362pub type EOS_SessionSearch_CopySearchResultByIndexOptions =
7363 _tagEOS_SessionSearch_CopySearchResultByIndexOptions;
7364#[doc = " Input parameters for the EOS_SessionSearch_SetSessionId function."]
7365#[repr(C)]
7366#[derive(Debug, Copy, Clone)]
7367pub struct _tagEOS_SessionSearch_SetSessionIdOptions {
7368 #[doc = " API Version: Set this to EOS_SESSIONSEARCH_SETSESSIONID_API_LATEST."]
7369 pub ApiVersion: i32,
7370 #[doc = " Search sessions for a specific session ID, returning at most one session"]
7371 pub SessionId: *const ::std::os::raw::c_char,
7372}
7373impl Default for _tagEOS_SessionSearch_SetSessionIdOptions {
7374 fn default() -> Self {
7375 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7376 unsafe {
7377 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7378 s.assume_init()
7379 }
7380 }
7381}
7382#[doc = " Input parameters for the EOS_SessionSearch_SetSessionId function."]
7383pub type EOS_SessionSearch_SetSessionIdOptions = _tagEOS_SessionSearch_SetSessionIdOptions;
7384#[doc = " Input parameters for the EOS_SessionSearch_SetTargetUserId function."]
7385#[repr(C)]
7386#[derive(Debug, Copy, Clone)]
7387pub struct _tagEOS_SessionSearch_SetTargetUserIdOptions {
7388 #[doc = " API Version: Set this to EOS_SESSIONSEARCH_SETTARGETUSERID_API_LATEST."]
7389 pub ApiVersion: i32,
7390 #[doc = " The Product User ID to find; return any sessions where the user matching this ID is currently registered"]
7391 pub TargetUserId: EOS_ProductUserId,
7392}
7393impl Default for _tagEOS_SessionSearch_SetTargetUserIdOptions {
7394 fn default() -> Self {
7395 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7396 unsafe {
7397 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7398 s.assume_init()
7399 }
7400 }
7401}
7402#[doc = " Input parameters for the EOS_SessionSearch_SetTargetUserId function."]
7403pub type EOS_SessionSearch_SetTargetUserIdOptions = _tagEOS_SessionSearch_SetTargetUserIdOptions;
7404#[doc = " Input parameters for the EOS_SessionSearch_SetParameter function.\n\n A search key may be set more than once to make multiple comparisons\n The two comparisons are AND'd together\n (ie, Key GREATER_THAN 5, Key NOT_EQUALS 10)"]
7405#[repr(C)]
7406#[derive(Debug, Copy, Clone)]
7407pub struct _tagEOS_SessionSearch_SetParameterOptions {
7408 #[doc = " API Version: Set this to EOS_SESSIONSEARCH_SETPARAMETER_API_LATEST."]
7409 pub ApiVersion: i32,
7410 #[doc = " Search parameter describing a key and a value to compare"]
7411 pub Parameter: *const EOS_Sessions_AttributeData,
7412 #[doc = " The type of comparison to make against the search parameter"]
7413 pub ComparisonOp: EOS_EOnlineComparisonOp,
7414}
7415impl Default for _tagEOS_SessionSearch_SetParameterOptions {
7416 fn default() -> Self {
7417 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7418 unsafe {
7419 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7420 s.assume_init()
7421 }
7422 }
7423}
7424#[doc = " Input parameters for the EOS_SessionSearch_SetParameter function.\n\n A search key may be set more than once to make multiple comparisons\n The two comparisons are AND'd together\n (ie, Key GREATER_THAN 5, Key NOT_EQUALS 10)"]
7425pub type EOS_SessionSearch_SetParameterOptions = _tagEOS_SessionSearch_SetParameterOptions;
7426#[doc = " Input parameters for the EOS_SessionSearch_RemoveParameter function.\n\n Removal requires both the key and its comparator in order to remove as the same key can be used in more than one operation"]
7427#[repr(C)]
7428#[derive(Debug, Copy, Clone)]
7429pub struct _tagEOS_SessionSearch_RemoveParameterOptions {
7430 #[doc = " API Version: Set this to EOS_SESSIONSEARCH_REMOVEPARAMETER_API_LATEST."]
7431 pub ApiVersion: i32,
7432 #[doc = " Search parameter key to remove from the search"]
7433 pub Key: *const ::std::os::raw::c_char,
7434 #[doc = " Search comparison operation associated with the key to remove"]
7435 pub ComparisonOp: EOS_EOnlineComparisonOp,
7436}
7437impl Default for _tagEOS_SessionSearch_RemoveParameterOptions {
7438 fn default() -> Self {
7439 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7440 unsafe {
7441 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7442 s.assume_init()
7443 }
7444 }
7445}
7446#[doc = " Input parameters for the EOS_SessionSearch_RemoveParameter function.\n\n Removal requires both the key and its comparator in order to remove as the same key can be used in more than one operation"]
7447pub type EOS_SessionSearch_RemoveParameterOptions = _tagEOS_SessionSearch_RemoveParameterOptions;
7448#[doc = " Common settings associated with a single session"]
7449#[repr(C)]
7450#[derive(Debug, Copy, Clone)]
7451pub struct _tagEOS_SessionDetails_Settings {
7452 #[doc = " API Version: Set this to EOS_SESSIONDETAILS_SETTINGS_API_LATEST."]
7453 pub ApiVersion: i32,
7454 #[doc = " The main indexed parameter for this session, can be any string (i.e. \"Region:GameMode\")"]
7455 pub BucketId: *const ::std::os::raw::c_char,
7456 #[doc = " Number of total players allowed in the session"]
7457 pub NumPublicConnections: u32,
7458 #[doc = " Are players allowed to join the session while it is in the \"in progress\" state"]
7459 pub bAllowJoinInProgress: EOS_Bool,
7460 #[doc = " Permission level describing allowed access to the session when joining or searching for the session"]
7461 pub PermissionLevel: EOS_EOnlineSessionPermissionLevel,
7462 #[doc = " Are players allowed to send invites for the session"]
7463 pub bInvitesAllowed: EOS_Bool,
7464 #[doc = " Are sanctioned players allowed to join - sanctioned players will be rejected if set to true"]
7465 pub bSanctionsEnabled: EOS_Bool,
7466 #[doc = " Array of platform IDs indicating the player platforms allowed to register with the session. Platform IDs are\n found in the EOS header file, e.g. EOS_OPT_Epic. For some platforms, the value will be in the EOS Platform specific\n header file. If null, the session will be unrestricted."]
7467 pub AllowedPlatformIds: *const u32,
7468 #[doc = " Number of platform IDs in the array"]
7469 pub AllowedPlatformIdsCount: u32,
7470}
7471impl Default for _tagEOS_SessionDetails_Settings {
7472 fn default() -> Self {
7473 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7474 unsafe {
7475 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7476 s.assume_init()
7477 }
7478 }
7479}
7480#[doc = " Common settings associated with a single session"]
7481pub type EOS_SessionDetails_Settings = _tagEOS_SessionDetails_Settings;
7482#[doc = " Internal details about a session, found on both active sessions and within search results"]
7483#[repr(C)]
7484#[derive(Debug, Copy, Clone)]
7485pub struct _tagEOS_SessionDetails_Info {
7486 #[doc = " API Version: Set this to EOS_SESSIONDETAILS_INFO_API_LATEST."]
7487 pub ApiVersion: i32,
7488 #[doc = " Session ID assigned by the backend service"]
7489 pub SessionId: *const ::std::os::raw::c_char,
7490 #[doc = " IP address of this session as visible by the backend service"]
7491 pub HostAddress: *const ::std::os::raw::c_char,
7492 #[doc = " Number of remaining open spaces on the session (NumPublicConnections - RegisteredPlayers"]
7493 pub NumOpenPublicConnections: u32,
7494 #[doc = " Reference to the additional settings associated with this session"]
7495 pub Settings: *const EOS_SessionDetails_Settings,
7496 #[doc = " The Product User ID of the session owner. Null if the session is not owned by a user."]
7497 pub OwnerUserId: EOS_ProductUserId,
7498 #[doc = " The client id of the session owner. Null if the session is not owned by a server. The session is owned by a server if EOS_Platform_Options::bIsServer is EOS_TRUE."]
7499 pub OwnerServerClientId: *const ::std::os::raw::c_char,
7500}
7501impl Default for _tagEOS_SessionDetails_Info {
7502 fn default() -> Self {
7503 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7504 unsafe {
7505 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7506 s.assume_init()
7507 }
7508 }
7509}
7510#[doc = " Internal details about a session, found on both active sessions and within search results"]
7511pub type EOS_SessionDetails_Info = _tagEOS_SessionDetails_Info;
7512unsafe extern "C" {
7513 #[doc = " Release the memory associated with an EOS_SessionDetails_Info structure. This must be called on data retrieved from EOS_SessionDetails_CopyInfo.\n\n @param SessionInfo - The session details structure to be released\n\n @see EOS_SessionDetails_Info\n @see EOS_SessionDetails_CopyInfo"]
7514 pub fn EOS_SessionDetails_Info_Release(SessionInfo: *mut EOS_SessionDetails_Info);
7515}
7516#[doc = " Input parameters for the EOS_SessionDetails_CopyInfo function."]
7517#[repr(C)]
7518#[derive(Debug, Default, Copy, Clone)]
7519pub struct _tagEOS_SessionDetails_CopyInfoOptions {
7520 #[doc = " API Version: Set this to EOS_SESSIONDETAILS_COPYINFO_API_LATEST."]
7521 pub ApiVersion: i32,
7522}
7523#[doc = " Input parameters for the EOS_SessionDetails_CopyInfo function."]
7524pub type EOS_SessionDetails_CopyInfoOptions = _tagEOS_SessionDetails_CopyInfoOptions;
7525#[doc = " Input parameters for the EOS_SessionDetails_GetSessionAttributeCount function."]
7526#[repr(C)]
7527#[derive(Debug, Default, Copy, Clone)]
7528pub struct _tagEOS_SessionDetails_GetSessionAttributeCountOptions {
7529 #[doc = " API Version: Set this to EOS_SESSIONDETAILS_GETSESSIONATTRIBUTECOUNT_API_LATEST."]
7530 pub ApiVersion: i32,
7531}
7532#[doc = " Input parameters for the EOS_SessionDetails_GetSessionAttributeCount function."]
7533pub type EOS_SessionDetails_GetSessionAttributeCountOptions =
7534 _tagEOS_SessionDetails_GetSessionAttributeCountOptions;
7535#[doc = " Input parameters for the EOS_SessionDetails_CopySessionAttributeByIndex function."]
7536#[repr(C)]
7537#[derive(Debug, Default, Copy, Clone)]
7538pub struct _tagEOS_SessionDetails_CopySessionAttributeByIndexOptions {
7539 #[doc = " API Version: Set this to EOS_SESSIONDETAILS_COPYSESSIONATTRIBUTEBYINDEX_API_LATEST."]
7540 pub ApiVersion: i32,
7541 #[doc = " The index of the attribute to retrieve\n @see EOS_SessionDetails_GetSessionAttributeCount"]
7542 pub AttrIndex: u32,
7543}
7544#[doc = " Input parameters for the EOS_SessionDetails_CopySessionAttributeByIndex function."]
7545pub type EOS_SessionDetails_CopySessionAttributeByIndexOptions =
7546 _tagEOS_SessionDetails_CopySessionAttributeByIndexOptions;
7547#[doc = " Input parameters for the EOS_SessionDetails_CopySessionAttributeByKey function."]
7548#[repr(C)]
7549#[derive(Debug, Copy, Clone)]
7550pub struct _tagEOS_SessionDetails_CopySessionAttributeByKeyOptions {
7551 #[doc = " API Version: Set this to EOS_SESSIONDETAILS_COPYSESSIONATTRIBUTEBYKEY_API_LATEST."]
7552 pub ApiVersion: i32,
7553 #[doc = " The name of the key to get the session attribution for\n @see EOS_SessionModification_AddAttribute"]
7554 pub AttrKey: *const ::std::os::raw::c_char,
7555}
7556impl Default for _tagEOS_SessionDetails_CopySessionAttributeByKeyOptions {
7557 fn default() -> Self {
7558 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7559 unsafe {
7560 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7561 s.assume_init()
7562 }
7563 }
7564}
7565#[doc = " Input parameters for the EOS_SessionDetails_CopySessionAttributeByKey function."]
7566pub type EOS_SessionDetails_CopySessionAttributeByKeyOptions =
7567 _tagEOS_SessionDetails_CopySessionAttributeByKeyOptions;
7568#[doc = " Top level details about an active session"]
7569#[repr(C)]
7570#[derive(Debug, Copy, Clone)]
7571pub struct _tagEOS_ActiveSession_Info {
7572 #[doc = " API Version: Set this to EOS_ACTIVESESSION_INFO_API_LATEST."]
7573 pub ApiVersion: i32,
7574 #[doc = " Name of the session"]
7575 pub SessionName: *const ::std::os::raw::c_char,
7576 #[doc = " The Product User ID of the local user who created or joined the session"]
7577 pub LocalUserId: EOS_ProductUserId,
7578 #[doc = " Current state of the session"]
7579 pub State: EOS_EOnlineSessionState,
7580 #[doc = " Session details"]
7581 pub SessionDetails: *const EOS_SessionDetails_Info,
7582}
7583impl Default for _tagEOS_ActiveSession_Info {
7584 fn default() -> Self {
7585 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7586 unsafe {
7587 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7588 s.assume_init()
7589 }
7590 }
7591}
7592#[doc = " Top level details about an active session"]
7593pub type EOS_ActiveSession_Info = _tagEOS_ActiveSession_Info;
7594unsafe extern "C" {
7595 #[doc = " Release the memory associated with an EOS_ActiveSession_Info structure. This must be called on data retrieved from EOS_ActiveSession_CopyInfo.\n\n @param ActiveSessionInfo - The active session structure to be released\n\n @see EOS_ActiveSession_Info\n @see EOS_ActiveSession_CopyInfo"]
7596 pub fn EOS_ActiveSession_Info_Release(ActiveSessionInfo: *mut EOS_ActiveSession_Info);
7597}
7598#[doc = " Input parameters for the EOS_Sessions_CopyActiveSessionHandle function."]
7599#[repr(C)]
7600#[derive(Debug, Copy, Clone)]
7601pub struct _tagEOS_Sessions_CopyActiveSessionHandleOptions {
7602 #[doc = " API Version: Set this to EOS_SESSIONS_COPYACTIVESESSIONHANDLE_API_LATEST."]
7603 pub ApiVersion: i32,
7604 #[doc = " Name of the session for which to retrieve a session handle"]
7605 pub SessionName: *const ::std::os::raw::c_char,
7606}
7607impl Default for _tagEOS_Sessions_CopyActiveSessionHandleOptions {
7608 fn default() -> Self {
7609 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7610 unsafe {
7611 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7612 s.assume_init()
7613 }
7614 }
7615}
7616#[doc = " Input parameters for the EOS_Sessions_CopyActiveSessionHandle function."]
7617pub type EOS_Sessions_CopyActiveSessionHandleOptions =
7618 _tagEOS_Sessions_CopyActiveSessionHandleOptions;
7619#[doc = " Input parameters for the EOS_Sessions_AddNotifySessionInviteReceived function."]
7620#[repr(C)]
7621#[derive(Debug, Default, Copy, Clone)]
7622pub struct _tagEOS_Sessions_AddNotifySessionInviteReceivedOptions {
7623 #[doc = " API Version: Set this to EOS_SESSIONS_ADDNOTIFYSESSIONINVITERECEIVED_API_LATEST."]
7624 pub ApiVersion: i32,
7625}
7626#[doc = " Input parameters for the EOS_Sessions_AddNotifySessionInviteReceived function."]
7627pub type EOS_Sessions_AddNotifySessionInviteReceivedOptions =
7628 _tagEOS_Sessions_AddNotifySessionInviteReceivedOptions;
7629#[doc = " Output parameters for the EOS_Sessions_OnSessionInviteReceivedCallback function."]
7630#[repr(C)]
7631#[derive(Debug, Copy, Clone)]
7632pub struct _tagEOS_Sessions_SessionInviteReceivedCallbackInfo {
7633 #[doc = " Context that was passed into EOS_Sessions_AddNotifySessionInviteReceived"]
7634 pub ClientData: *mut ::std::os::raw::c_void,
7635 #[doc = " The Product User ID of the user who received the invite"]
7636 pub LocalUserId: EOS_ProductUserId,
7637 #[doc = " The Product User ID of the user who sent the invitation"]
7638 pub TargetUserId: EOS_ProductUserId,
7639 #[doc = " Invite ID used to retrieve the actual session details"]
7640 pub InviteId: *const ::std::os::raw::c_char,
7641}
7642impl Default for _tagEOS_Sessions_SessionInviteReceivedCallbackInfo {
7643 fn default() -> Self {
7644 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7645 unsafe {
7646 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7647 s.assume_init()
7648 }
7649 }
7650}
7651#[doc = " Output parameters for the EOS_Sessions_OnSessionInviteReceivedCallback function."]
7652pub type EOS_Sessions_SessionInviteReceivedCallbackInfo =
7653 _tagEOS_Sessions_SessionInviteReceivedCallbackInfo;
7654#[doc = " Function prototype definition for notifications that come from EOS_Sessions_AddNotifySessionInviteReceived\n\n @param Data A EOS_Sessions_SessionInviteReceivedCallbackInfo containing the output information and result"]
7655pub type EOS_Sessions_OnSessionInviteReceivedCallback = ::std::option::Option<
7656 unsafe extern "C" fn(Data: *const EOS_Sessions_SessionInviteReceivedCallbackInfo),
7657>;
7658#[doc = " Input parameters for the EOS_Sessions_AddNotifySessionInviteAccepted function."]
7659#[repr(C)]
7660#[derive(Debug, Default, Copy, Clone)]
7661pub struct _tagEOS_Sessions_AddNotifySessionInviteAcceptedOptions {
7662 #[doc = " API Version: Set this to EOS_SESSIONS_ADDNOTIFYSESSIONINVITEACCEPTED_API_LATEST."]
7663 pub ApiVersion: i32,
7664}
7665#[doc = " Input parameters for the EOS_Sessions_AddNotifySessionInviteAccepted function."]
7666pub type EOS_Sessions_AddNotifySessionInviteAcceptedOptions =
7667 _tagEOS_Sessions_AddNotifySessionInviteAcceptedOptions;
7668#[doc = " Output parameters for the EOS_Sessions_OnSessionInviteAcceptedCallback function."]
7669#[repr(C)]
7670#[derive(Debug, Copy, Clone)]
7671pub struct _tagEOS_Sessions_SessionInviteAcceptedCallbackInfo {
7672 #[doc = " Context that was passed into EOS_Sessions_AddNotifySessionInviteAccepted"]
7673 pub ClientData: *mut ::std::os::raw::c_void,
7674 #[doc = " Session ID that should be used for joining"]
7675 pub SessionId: *const ::std::os::raw::c_char,
7676 #[doc = " The Product User ID of the user who accepted the invitation"]
7677 pub LocalUserId: EOS_ProductUserId,
7678 #[doc = " The Product User ID of the user who sent the invitation"]
7679 pub TargetUserId: EOS_ProductUserId,
7680 #[doc = " Invite ID that was accepted"]
7681 pub InviteId: *const ::std::os::raw::c_char,
7682}
7683impl Default for _tagEOS_Sessions_SessionInviteAcceptedCallbackInfo {
7684 fn default() -> Self {
7685 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7686 unsafe {
7687 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7688 s.assume_init()
7689 }
7690 }
7691}
7692#[doc = " Output parameters for the EOS_Sessions_OnSessionInviteAcceptedCallback function."]
7693pub type EOS_Sessions_SessionInviteAcceptedCallbackInfo =
7694 _tagEOS_Sessions_SessionInviteAcceptedCallbackInfo;
7695#[doc = " Function prototype definition for notifications that come from EOS_Sessions_AddNotifySessionInviteAccepted\n\n @param Data A EOS_Sessions_SessionInviteAcceptedCallbackInfo containing the output information and result\n\n @note The session for the invite must be joined.\n\n @see EOS_Sessions_CopySessionHandleByInviteId\n @see EOS_Sessions_JoinSession"]
7696pub type EOS_Sessions_OnSessionInviteAcceptedCallback = ::std::option::Option<
7697 unsafe extern "C" fn(Data: *const EOS_Sessions_SessionInviteAcceptedCallbackInfo),
7698>;
7699#[doc = " Input parameters for the EOS_Sessions_AddNotifySessionInviteRejected function."]
7700#[repr(C)]
7701#[derive(Debug, Default, Copy, Clone)]
7702pub struct _tagEOS_Sessions_AddNotifySessionInviteRejectedOptions {
7703 #[doc = " API Version: Set this to EOS_SESSIONS_ADDNOTIFYSESSIONINVITEREJECTED_API_LATEST."]
7704 pub ApiVersion: i32,
7705}
7706#[doc = " Input parameters for the EOS_Sessions_AddNotifySessionInviteRejected function."]
7707pub type EOS_Sessions_AddNotifySessionInviteRejectedOptions =
7708 _tagEOS_Sessions_AddNotifySessionInviteRejectedOptions;
7709#[doc = " Output parameters for the EOS_Sessions_OnSessionInviteRejectedCallback function."]
7710#[repr(C)]
7711#[derive(Debug, Copy, Clone)]
7712pub struct _tagEOS_Sessions_SessionInviteRejectedCallbackInfo {
7713 #[doc = " Context that was passed into EOS_Sessions_AddNotifySessionInviteRejected"]
7714 pub ClientData: *mut ::std::os::raw::c_void,
7715 #[doc = " The invite ID"]
7716 pub InviteId: *const ::std::os::raw::c_char,
7717 #[doc = " The Product User ID of the local user who rejected the invitation"]
7718 pub LocalUserId: EOS_ProductUserId,
7719 #[doc = " The Product User ID of the user who sent the invitation"]
7720 pub TargetUserId: EOS_ProductUserId,
7721 #[doc = " Optional session ID"]
7722 pub SessionId: *const ::std::os::raw::c_char,
7723}
7724impl Default for _tagEOS_Sessions_SessionInviteRejectedCallbackInfo {
7725 fn default() -> Self {
7726 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7727 unsafe {
7728 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7729 s.assume_init()
7730 }
7731 }
7732}
7733#[doc = " Output parameters for the EOS_Sessions_OnSessionInviteRejectedCallback function."]
7734pub type EOS_Sessions_SessionInviteRejectedCallbackInfo =
7735 _tagEOS_Sessions_SessionInviteRejectedCallbackInfo;
7736#[doc = " Function prototype definition for notifications that come from EOS_Sessions_AddNotifySessionInviteRejected\n\n @param Data A EOS_Sessions_SessionInviteRejectedCallbackInfo containing the output information and result\n\n @see EOS_Sessions_CopySessionHandleByInviteId\n @see EOS_Sessions_JoinSession"]
7737pub type EOS_Sessions_OnSessionInviteRejectedCallback = ::std::option::Option<
7738 unsafe extern "C" fn(Data: *const EOS_Sessions_SessionInviteRejectedCallbackInfo),
7739>;
7740#[doc = " Input parameters for the EOS_Sessions_AddNotifyJoinSessionAccepted function."]
7741#[repr(C)]
7742#[derive(Debug, Default, Copy, Clone)]
7743pub struct _tagEOS_Sessions_AddNotifyJoinSessionAcceptedOptions {
7744 #[doc = " API Version: Set this to EOS_SESSIONS_ADDNOTIFYJOINSESSIONACCEPTED_API_LATEST."]
7745 pub ApiVersion: i32,
7746}
7747#[doc = " Input parameters for the EOS_Sessions_AddNotifyJoinSessionAccepted function."]
7748pub type EOS_Sessions_AddNotifyJoinSessionAcceptedOptions =
7749 _tagEOS_Sessions_AddNotifyJoinSessionAcceptedOptions;
7750#[doc = " Output parameters for the EOS_Sessions_OnJoinSessionAcceptedCallback function."]
7751#[repr(C)]
7752#[derive(Debug, Copy, Clone)]
7753pub struct _tagEOS_Sessions_JoinSessionAcceptedCallbackInfo {
7754 #[doc = " Context that was passed into EOS_Sessions_AddNotifyJoinSessionAccepted"]
7755 pub ClientData: *mut ::std::os::raw::c_void,
7756 #[doc = " The Product User ID for the user who initialized the game"]
7757 pub LocalUserId: EOS_ProductUserId,
7758 #[doc = " The UI Event associated with this Join Game event.\n This should be used with EOS_Sessions_CopySessionHandleByUiEventId to get a handle to be used\n when calling EOS_Sessions_JoinSession."]
7759 pub UiEventId: EOS_UI_EventId,
7760}
7761impl Default for _tagEOS_Sessions_JoinSessionAcceptedCallbackInfo {
7762 fn default() -> Self {
7763 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7764 unsafe {
7765 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7766 s.assume_init()
7767 }
7768 }
7769}
7770#[doc = " Output parameters for the EOS_Sessions_OnJoinSessionAcceptedCallback function."]
7771pub type EOS_Sessions_JoinSessionAcceptedCallbackInfo =
7772 _tagEOS_Sessions_JoinSessionAcceptedCallbackInfo;
7773#[doc = " Function prototype definition for notifications that come from EOS_Sessions_AddNotifyJoinSessionAccepted\n\n @param Data A EOS_Sessions_JoinSessionAcceptedCallbackInfo containing the output information and result\n\n @note The session for the join game must be joined.\n\n @see EOS_Sessions_CopySessionHandleByUiEventId\n @see EOS_Sessions_JoinSession"]
7774pub type EOS_Sessions_OnJoinSessionAcceptedCallback = ::std::option::Option<
7775 unsafe extern "C" fn(Data: *const EOS_Sessions_JoinSessionAcceptedCallbackInfo),
7776>;
7777#[doc = " Input parameters for the EOS_Sessions_CopySessionHandleByInviteId function."]
7778#[repr(C)]
7779#[derive(Debug, Copy, Clone)]
7780pub struct _tagEOS_Sessions_CopySessionHandleByInviteIdOptions {
7781 #[doc = " API Version: Set this to EOS_SESSIONS_COPYSESSIONHANDLEBYINVITEID_API_LATEST."]
7782 pub ApiVersion: i32,
7783 #[doc = " Invite ID for which to retrieve a session handle"]
7784 pub InviteId: *const ::std::os::raw::c_char,
7785}
7786impl Default for _tagEOS_Sessions_CopySessionHandleByInviteIdOptions {
7787 fn default() -> Self {
7788 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7789 unsafe {
7790 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7791 s.assume_init()
7792 }
7793 }
7794}
7795#[doc = " Input parameters for the EOS_Sessions_CopySessionHandleByInviteId function."]
7796pub type EOS_Sessions_CopySessionHandleByInviteIdOptions =
7797 _tagEOS_Sessions_CopySessionHandleByInviteIdOptions;
7798#[doc = " Input parameters for the EOS_Sessions_CopySessionHandleByUiEventId function."]
7799#[repr(C)]
7800#[derive(Debug, Default, Copy, Clone)]
7801pub struct _tagEOS_Sessions_CopySessionHandleByUiEventIdOptions {
7802 #[doc = " API Version: Set this to EOS_SESSIONS_COPYSESSIONHANDLEBYUIEVENTID_API_LATEST."]
7803 pub ApiVersion: i32,
7804 #[doc = " UI Event associated with the session"]
7805 pub UiEventId: EOS_UI_EventId,
7806}
7807#[doc = " Input parameters for the EOS_Sessions_CopySessionHandleByUiEventId function."]
7808pub type EOS_Sessions_CopySessionHandleByUiEventIdOptions =
7809 _tagEOS_Sessions_CopySessionHandleByUiEventIdOptions;
7810#[doc = " Input parameters for the EOS_Sessions_CopySessionHandleForPresence function."]
7811#[repr(C)]
7812#[derive(Debug, Copy, Clone)]
7813pub struct _tagEOS_Sessions_CopySessionHandleForPresenceOptions {
7814 #[doc = " API Version: Set this to EOS_SESSIONS_COPYSESSIONHANDLEFORPRESENCE_API_LATEST."]
7815 pub ApiVersion: i32,
7816 #[doc = " The Product User ID of the local user associated with the session"]
7817 pub LocalUserId: EOS_ProductUserId,
7818}
7819impl Default for _tagEOS_Sessions_CopySessionHandleForPresenceOptions {
7820 fn default() -> Self {
7821 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7822 unsafe {
7823 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7824 s.assume_init()
7825 }
7826 }
7827}
7828#[doc = " Input parameters for the EOS_Sessions_CopySessionHandleForPresence function."]
7829pub type EOS_Sessions_CopySessionHandleForPresenceOptions =
7830 _tagEOS_Sessions_CopySessionHandleForPresenceOptions;
7831#[doc = " Input parameters for the EOS_Sessions_IsUserInSession function."]
7832#[repr(C)]
7833#[derive(Debug, Copy, Clone)]
7834pub struct _tagEOS_Sessions_IsUserInSessionOptions {
7835 #[doc = " API Version: Set this to EOS_SESSIONS_ISUSERINSESSION_API_LATEST."]
7836 pub ApiVersion: i32,
7837 #[doc = " Active session name to search within"]
7838 pub SessionName: *const ::std::os::raw::c_char,
7839 #[doc = " Product User ID to search for in the session"]
7840 pub TargetUserId: EOS_ProductUserId,
7841}
7842impl Default for _tagEOS_Sessions_IsUserInSessionOptions {
7843 fn default() -> Self {
7844 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7845 unsafe {
7846 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7847 s.assume_init()
7848 }
7849 }
7850}
7851#[doc = " Input parameters for the EOS_Sessions_IsUserInSession function."]
7852pub type EOS_Sessions_IsUserInSessionOptions = _tagEOS_Sessions_IsUserInSessionOptions;
7853#[doc = " Input parameters for the EOS_Sessions_DumpSessionState function."]
7854#[repr(C)]
7855#[derive(Debug, Copy, Clone)]
7856pub struct _tagEOS_Sessions_DumpSessionStateOptions {
7857 #[doc = " API Version: Set this to EOS_SESSIONS_DUMPSESSIONSTATE_API_LATEST."]
7858 pub ApiVersion: i32,
7859 #[doc = " Name of the session"]
7860 pub SessionName: *const ::std::os::raw::c_char,
7861}
7862impl Default for _tagEOS_Sessions_DumpSessionStateOptions {
7863 fn default() -> Self {
7864 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7865 unsafe {
7866 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7867 s.assume_init()
7868 }
7869 }
7870}
7871#[doc = " Input parameters for the EOS_Sessions_DumpSessionState function."]
7872pub type EOS_Sessions_DumpSessionStateOptions = _tagEOS_Sessions_DumpSessionStateOptions;
7873#[doc = " Input parameters for the EOS_Sessions_AddNotifyLeaveSessionRequested function."]
7874#[repr(C)]
7875#[derive(Debug, Default, Copy, Clone)]
7876pub struct _tagEOS_Sessions_AddNotifyLeaveSessionRequestedOptions {
7877 #[doc = " API Version: Set this to EOS_SESSIONS_ADDNOTIFYLEAVESESSIONREQUESTED_API_LATEST."]
7878 pub ApiVersion: i32,
7879}
7880#[doc = " Input parameters for the EOS_Sessions_AddNotifyLeaveSessionRequested function."]
7881pub type EOS_Sessions_AddNotifyLeaveSessionRequestedOptions =
7882 _tagEOS_Sessions_AddNotifyLeaveSessionRequestedOptions;
7883#[doc = " Output parameters for the EOS_Sessions_OnLeaveSessionRequestedCallback Function."]
7884#[repr(C)]
7885#[derive(Debug, Copy, Clone)]
7886pub struct _tagEOS_Sessions_LeaveSessionRequestedCallbackInfo {
7887 #[doc = " Context that was passed into EOS_Sessions_OnLeaveSessionRequestedCallback"]
7888 pub ClientData: *mut ::std::os::raw::c_void,
7889 #[doc = " The Product User ID of the local user who received the leave session notification."]
7890 pub LocalUserId: EOS_ProductUserId,
7891 #[doc = " Name of the session associated with the leave session request."]
7892 pub SessionName: *const ::std::os::raw::c_char,
7893}
7894impl Default for _tagEOS_Sessions_LeaveSessionRequestedCallbackInfo {
7895 fn default() -> Self {
7896 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7897 unsafe {
7898 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7899 s.assume_init()
7900 }
7901 }
7902}
7903#[doc = " Output parameters for the EOS_Sessions_OnLeaveSessionRequestedCallback Function."]
7904pub type EOS_Sessions_LeaveSessionRequestedCallbackInfo =
7905 _tagEOS_Sessions_LeaveSessionRequestedCallbackInfo;
7906#[doc = " Function prototype definition for notifications that comes from EOS_Sessions_AddNotifyLeaveSessionRequested.\n\n @param Data A pointer to EOS_Sessions_LeaveSessionRequestedCallbackInfo containing the output information."]
7907pub type EOS_Sessions_OnLeaveSessionRequestedCallback = ::std::option::Option<
7908 unsafe extern "C" fn(Data: *const EOS_Sessions_LeaveSessionRequestedCallbackInfo),
7909>;
7910#[doc = " Input parameters for the EOS_Sessions_AddNotifySendSessionNativeInviteRequested function."]
7911#[repr(C)]
7912#[derive(Debug, Default, Copy, Clone)]
7913pub struct _tagEOS_Sessions_AddNotifySendSessionNativeInviteRequestedOptions {
7914 #[doc = " API Version: Set this to EOS_SESSIONS_ADDNOTIFYSENDSESSIONNATIVEINVITEREQUESTED_API_LATEST."]
7915 pub ApiVersion: i32,
7916}
7917#[doc = " Input parameters for the EOS_Sessions_AddNotifySendSessionNativeInviteRequested function."]
7918pub type EOS_Sessions_AddNotifySendSessionNativeInviteRequestedOptions =
7919 _tagEOS_Sessions_AddNotifySendSessionNativeInviteRequestedOptions;
7920#[doc = " Output parameters for the EOS_Sessions_OnSendSessionNativeInviteRequestedCallback Function."]
7921#[repr(C)]
7922#[derive(Debug, Copy, Clone)]
7923pub struct _tagEOS_Sessions_SendSessionNativeInviteRequestedCallbackInfo {
7924 #[doc = " Context that was passed into EOS_Sessions_AddNotifySendSessionNativeInviteRequested"]
7925 pub ClientData: *mut ::std::os::raw::c_void,
7926 #[doc = " Identifies this event which will need to be acknowledged with EOS_UI_AcknowledgeEventId().\n @see EOS_UI_AcknowledgeEventId"]
7927 pub UiEventId: EOS_UI_EventId,
7928 #[doc = " The Product User ID of the local user who is inviting."]
7929 pub LocalUserId: EOS_ProductUserId,
7930 #[doc = " The Native Platform Account Type. If only a single integrated platform is configured then\n this will always reference that platform."]
7931 pub TargetNativeAccountType: EOS_IntegratedPlatformType,
7932 #[doc = " The Native Platform Account ID of the target user being invited."]
7933 pub TargetUserNativeAccountId: *const ::std::os::raw::c_char,
7934 #[doc = " Session ID that the user is being invited to"]
7935 pub SessionId: *const ::std::os::raw::c_char,
7936}
7937impl Default for _tagEOS_Sessions_SendSessionNativeInviteRequestedCallbackInfo {
7938 fn default() -> Self {
7939 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7940 unsafe {
7941 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7942 s.assume_init()
7943 }
7944 }
7945}
7946#[doc = " Output parameters for the EOS_Sessions_OnSendSessionNativeInviteRequestedCallback Function."]
7947pub type EOS_Sessions_SendSessionNativeInviteRequestedCallbackInfo =
7948 _tagEOS_Sessions_SendSessionNativeInviteRequestedCallbackInfo;
7949#[doc = " Function prototype definition for notifications that comes from EOS_Sessions_AddNotifySendSessionNativeInviteRequested\n\n @param Data A EOS_Sessions_SendSessionNativeInviteRequestedCallbackInfo containing the output information and result\n\n @note After processing the callback EOS_UI_AcknowledgeEventId must be called.\n\n @see EOS_UI_AcknowledgeEventId"]
7950pub type EOS_Sessions_OnSendSessionNativeInviteRequestedCallback = ::std::option::Option<
7951 unsafe extern "C" fn(Data: *const EOS_Sessions_SendSessionNativeInviteRequestedCallbackInfo),
7952>;
7953#[repr(C)]
7954#[derive(Debug, Copy, Clone)]
7955pub struct EOS_LobbyHandle {
7956 _unused: [u8; 0],
7957}
7958#[doc = " Handle to the lobby interface"]
7959pub type EOS_HLobby = *mut EOS_LobbyHandle;
7960#[repr(C)]
7961#[derive(Debug, Copy, Clone)]
7962pub struct EOS_LobbyModificationHandle {
7963 _unused: [u8; 0],
7964}
7965#[doc = " Handle to a lobby modification object"]
7966pub type EOS_HLobbyModification = *mut EOS_LobbyModificationHandle;
7967#[repr(C)]
7968#[derive(Debug, Copy, Clone)]
7969pub struct EOS_LobbyDetailsHandle {
7970 _unused: [u8; 0],
7971}
7972#[doc = " Handle to a single lobby"]
7973pub type EOS_HLobbyDetails = *mut EOS_LobbyDetailsHandle;
7974#[repr(C)]
7975#[derive(Debug, Copy, Clone)]
7976pub struct EOS_LobbySearchHandle {
7977 _unused: [u8; 0],
7978}
7979#[doc = " Handle to the calls responsible for creating a search object"]
7980pub type EOS_HLobbySearch = *mut EOS_LobbySearchHandle;
7981unsafe extern "C" {
7982 #[doc = " Release the memory associated with a lobby modification. This must be called on data retrieved from EOS_Lobby_UpdateLobbyModification.\n\n @param LobbyModificationHandle - The lobby modification handle to release\n\n @see EOS_Lobby_UpdateLobbyModification"]
7983 pub fn EOS_LobbyModification_Release(LobbyModificationHandle: EOS_HLobbyModification);
7984}
7985unsafe extern "C" {
7986 #[doc = " Release the memory associated with a single lobby. This must be called on data retrieved from EOS_LobbySearch_CopySearchResultByIndex.\n\n @param LobbyHandle - The lobby handle to release\n\n @see EOS_LobbySearch_CopySearchResultByIndex"]
7987 pub fn EOS_LobbyDetails_Release(LobbyHandle: EOS_HLobbyDetails);
7988}
7989unsafe extern "C" {
7990 #[doc = " Release the memory associated with a lobby search. This must be called on data retrieved from EOS_Lobby_CreateLobbySearch.\n\n @param LobbySearchHandle - The lobby search handle to release\n\n @see EOS_Lobby_CreateLobbySearch"]
7991 pub fn EOS_LobbySearch_Release(LobbySearchHandle: EOS_HLobbySearch);
7992}
7993#[doc = " All lobbies are referenced by a unique lobby ID"]
7994pub type EOS_LobbyId = *const ::std::os::raw::c_char;
7995#[doc = " Anyone can find this lobby as long as it isn't full"]
7996pub const EOS_ELobbyPermissionLevel_EOS_LPL_PUBLICADVERTISED: EOS_ELobbyPermissionLevel = 0;
7997#[doc = " Players who have access to presence can see this lobby"]
7998pub const EOS_ELobbyPermissionLevel_EOS_LPL_JOINVIAPRESENCE: EOS_ELobbyPermissionLevel = 1;
7999#[doc = " Only players with invites registered can see this lobby"]
8000pub const EOS_ELobbyPermissionLevel_EOS_LPL_INVITEONLY: EOS_ELobbyPermissionLevel = 2;
8001pub const EOS_ELobbyPermissionLevel___EOS_ELobbyPermissionLevel_PAD_INT32__:
8002 EOS_ELobbyPermissionLevel = 2147483647;
8003#[doc = " Permission level gets more restrictive further down"]
8004pub type EOS_ELobbyPermissionLevel = ::std::os::raw::c_int;
8005#[doc = " Data is visible to lobby members, searchable and visible in search results."]
8006pub const EOS_ELobbyAttributeVisibility_EOS_LAT_PUBLIC: EOS_ELobbyAttributeVisibility = 0;
8007#[doc = " Data is only visible to the user setting the data. Data is not visible to lobby members, not searchable, and not visible in search results."]
8008pub const EOS_ELobbyAttributeVisibility_EOS_LAT_PRIVATE: EOS_ELobbyAttributeVisibility = 1;
8009pub const EOS_ELobbyAttributeVisibility___EOS_ELobbyAttributeVisibility_PAD_INT32__:
8010 EOS_ELobbyAttributeVisibility = 2147483647;
8011#[doc = " Advertisement properties for a single attribute associated with a lobby"]
8012pub type EOS_ELobbyAttributeVisibility = ::std::os::raw::c_int;
8013#[doc = " The user has joined the lobby"]
8014pub const EOS_ELobbyMemberStatus_EOS_LMS_JOINED: EOS_ELobbyMemberStatus = 0;
8015#[doc = " The user has explicitly left the lobby"]
8016pub const EOS_ELobbyMemberStatus_EOS_LMS_LEFT: EOS_ELobbyMemberStatus = 1;
8017#[doc = " The user has unexpectedly left the lobby"]
8018pub const EOS_ELobbyMemberStatus_EOS_LMS_DISCONNECTED: EOS_ELobbyMemberStatus = 2;
8019#[doc = " The user has been kicked from the lobby"]
8020pub const EOS_ELobbyMemberStatus_EOS_LMS_KICKED: EOS_ELobbyMemberStatus = 3;
8021#[doc = " The user has been promoted to lobby owner"]
8022pub const EOS_ELobbyMemberStatus_EOS_LMS_PROMOTED: EOS_ELobbyMemberStatus = 4;
8023#[doc = " The lobby has been closed and user has been removed"]
8024pub const EOS_ELobbyMemberStatus_EOS_LMS_CLOSED: EOS_ELobbyMemberStatus = 5;
8025pub const EOS_ELobbyMemberStatus___EOS_ELobbyMemberStatus_PAD_INT32__: EOS_ELobbyMemberStatus =
8026 2147483647;
8027#[doc = " Various types of lobby member updates"]
8028pub type EOS_ELobbyMemberStatus = ::std::os::raw::c_int;
8029#[doc = " Join RTC Room as soon as user joins the lobby"]
8030pub const EOS_ELobbyRTCRoomJoinActionType_EOS_LRRJAT_AutomaticJoin:
8031 EOS_ELobbyRTCRoomJoinActionType = 0;
8032#[doc = " Do not join RTC Room when joining the lobby. User must manually call Join RTC Room"]
8033pub const EOS_ELobbyRTCRoomJoinActionType_EOS_LRRJAT_ManualJoin: EOS_ELobbyRTCRoomJoinActionType =
8034 1;
8035pub const EOS_ELobbyRTCRoomJoinActionType___EOS_ELobbyRTCRoomJoinActionType_PAD_INT32__:
8036 EOS_ELobbyRTCRoomJoinActionType = 2147483647;
8037#[doc = " Defines the type of action to take against RTC room when joining a lobby"]
8038pub type EOS_ELobbyRTCRoomJoinActionType = ::std::os::raw::c_int;
8039#[doc = " Contains information about a single lobby."]
8040#[repr(C)]
8041#[derive(Debug, Copy, Clone)]
8042pub struct _tagEOS_LobbyDetails_Info {
8043 #[doc = " API Version: Set this to EOS_LOBBYDETAILS_INFO_API_LATEST."]
8044 pub ApiVersion: i32,
8045 #[doc = " Lobby ID"]
8046 pub LobbyId: EOS_LobbyId,
8047 #[doc = " The Product User ID of the current owner of the lobby"]
8048 pub LobbyOwnerUserId: EOS_ProductUserId,
8049 #[doc = " Permission level of the lobby"]
8050 pub PermissionLevel: EOS_ELobbyPermissionLevel,
8051 #[doc = " Current available space"]
8052 pub AvailableSlots: u32,
8053 #[doc = " Max allowed members in the lobby"]
8054 pub MaxMembers: u32,
8055 #[doc = " If true, users can invite others to this lobby"]
8056 pub bAllowInvites: EOS_Bool,
8057 #[doc = " The main indexed parameter for this lobby, can be any string (i.e. \"Region:GameMode\")"]
8058 pub BucketId: *const ::std::os::raw::c_char,
8059 #[doc = " Is host migration allowed"]
8060 pub bAllowHostMigration: EOS_Bool,
8061 #[doc = " Was a Real-Time Communication (RTC) room enabled at lobby creation?"]
8062 pub bRTCRoomEnabled: EOS_Bool,
8063 #[doc = " Is EOS_Lobby_JoinLobbyById allowed"]
8064 pub bAllowJoinById: EOS_Bool,
8065 #[doc = " Does rejoining after being kicked require an invite"]
8066 pub bRejoinAfterKickRequiresInvite: EOS_Bool,
8067 #[doc = " If true, this lobby will be associated with the local user's presence information."]
8068 pub bPresenceEnabled: EOS_Bool,
8069 #[doc = " Array of platform IDs indicating the player platforms allowed to register with the lobby. Platform IDs are\n found in the EOS header file (eos_common.h), for example EOS_OPT_Epic. For some platforms the value will be\n in the EOS Platform specific header file. If null, the lobby will be unrestricted."]
8070 pub AllowedPlatformIds: *const u32,
8071 #[doc = " Number of platform IDs in the array"]
8072 pub AllowedPlatformIdsCount: u32,
8073}
8074impl Default for _tagEOS_LobbyDetails_Info {
8075 fn default() -> Self {
8076 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8077 unsafe {
8078 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8079 s.assume_init()
8080 }
8081 }
8082}
8083#[doc = " Contains information about a single lobby."]
8084pub type EOS_LobbyDetails_Info = _tagEOS_LobbyDetails_Info;
8085unsafe extern "C" {
8086 #[doc = " Release the memory associated with a lobby details info. This must be called on data retrieved from EOS_LobbyDetails_CopyInfo.\n\n @param LobbyDetailsInfo - The lobby details info to release\n\n @see EOS_LobbyDetails_CopyInfo"]
8087 pub fn EOS_LobbyDetails_Info_Release(LobbyDetailsInfo: *mut EOS_LobbyDetails_Info);
8088}
8089#[doc = " Input parameters to use with Lobby RTC Rooms."]
8090#[repr(C)]
8091#[derive(Debug, Copy, Clone)]
8092pub struct _tagEOS_Lobby_LocalRTCOptions {
8093 #[doc = " API Version: Set this to EOS_LOBBY_LOCALRTCOPTIONS_API_LATEST."]
8094 pub ApiVersion: i32,
8095 #[doc = " Flags for the local user in this room. The default is 0 if this struct is not specified. @see EOS_RTC_JoinRoomOptions::Flags"]
8096 pub Flags: u32,
8097 #[doc = " Set to EOS_TRUE to enable Manual Audio Input. If manual audio input is enabled, audio recording is not started and the audio buffers\n must be passed manually using EOS_RTCAudio_SendAudio. The default is EOS_FALSE if this struct is not specified."]
8098 pub bUseManualAudioInput: EOS_Bool,
8099 #[doc = " Set to EOS_TRUE to enable Manual Audio Output. If manual audio output is enabled, audio rendering is not started and the audio buffers\n must be received with EOS_RTCAudio_AddNotifyAudioBeforeRender and rendered manually. The default is EOS_FALSE if this struct is not\n specified."]
8100 pub bUseManualAudioOutput: EOS_Bool,
8101 #[doc = " Set to EOS_TRUE to start the audio input device's stream as muted when first connecting to the RTC room.\n\n It must be manually unmuted with a call to EOS_RTCAudio_UpdateSending. If manual audio output is enabled, this value is ignored.\n The default value is EOS_FALSE if this struct is not specified."]
8102 pub bLocalAudioDeviceInputStartsMuted: EOS_Bool,
8103 #[doc = " Reserved field, should be nullptr by default"]
8104 pub Reserved: *mut ::std::os::raw::c_void,
8105}
8106impl Default for _tagEOS_Lobby_LocalRTCOptions {
8107 fn default() -> Self {
8108 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8109 unsafe {
8110 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8111 s.assume_init()
8112 }
8113 }
8114}
8115#[doc = " Input parameters to use with Lobby RTC Rooms."]
8116pub type EOS_Lobby_LocalRTCOptions = _tagEOS_Lobby_LocalRTCOptions;
8117#[doc = " Input parameters for the EOS_Lobby_CreateLobby function."]
8118#[repr(C)]
8119#[derive(Debug, Copy, Clone)]
8120pub struct _tagEOS_Lobby_CreateLobbyOptions {
8121 #[doc = " API Version: Set this to EOS_LOBBY_CREATELOBBY_API_LATEST."]
8122 pub ApiVersion: i32,
8123 #[doc = " The Product User ID of the local user creating the lobby; this user will automatically join the lobby as its owner"]
8124 pub LocalUserId: EOS_ProductUserId,
8125 #[doc = " The maximum number of users who can be in the lobby at a time"]
8126 pub MaxLobbyMembers: u32,
8127 #[doc = " The initial permission level of the lobby"]
8128 pub PermissionLevel: EOS_ELobbyPermissionLevel,
8129 #[doc = " If true, this lobby will be associated with the local user's presence information. A user's presence can only be associated with one lobby at a time.\n This affects the ability of the Social Overlay to show game related actions to take in the user's social graph.\n\n @note The Social Overlay can handle only one of the following three options at a time:\n * using the bPresenceEnabled flags within the Sessions interface\n * using the bPresenceEnabled flags within the Lobby interface\n * using EOS_PresenceModification_SetJoinInfo\n\n @see EOS_PresenceModification_SetJoinInfoOptions\n @see EOS_Lobby_JoinLobbyOptions\n @see EOS_Lobby_JoinLobbyByIdOptions\n @see EOS_Sessions_CreateSessionModificationOptions\n @see EOS_Sessions_JoinSessionOptions"]
8130 pub bPresenceEnabled: EOS_Bool,
8131 #[doc = " Are members of the lobby allowed to invite others"]
8132 pub bAllowInvites: EOS_Bool,
8133 #[doc = " Bucket ID associated with the lobby"]
8134 pub BucketId: *const ::std::os::raw::c_char,
8135 #[doc = " Is host migration allowed (will the lobby stay open if the original host leaves?)\n NOTE: EOS_Lobby_PromoteMember is still allowed regardless of this setting"]
8136 pub bDisableHostMigration: EOS_Bool,
8137 #[doc = " Creates a real-time communication (RTC) room for all members of this lobby. All members of the lobby will automatically join the RTC\n room when they connect to the lobby and they will automatically leave the RTC room when they leave or are removed from the lobby.\n While the joining and leaving of the RTC room is automatic, applications will still need to use the EOS RTC interfaces to handle all\n other functionality for the room.\n\n @see EOS_Lobby_GetRTCRoomName\n @see EOS_Lobby_AddNotifyRTCRoomConnectionChanged"]
8138 pub bEnableRTCRoom: EOS_Bool,
8139 #[doc = " (Optional) Allows the local application to set local audio options for the RTC Room if it is enabled. Set this to NULL if the RTC\n RTC room is disabled or you would like to use the defaults."]
8140 pub LocalRTCOptions: *const EOS_Lobby_LocalRTCOptions,
8141 #[doc = " (Optional) Set to a globally unique value to override the backend assignment\n If not specified the backend service will assign one to the lobby. Do not mix and match override and non override settings.\n This value can be of size [EOS_LOBBY_MIN_LOBBYIDOVERRIDE_LENGTH, EOS_LOBBY_MAX_LOBBYIDOVERRIDE_LENGTH]"]
8142 pub LobbyId: EOS_LobbyId,
8143 #[doc = " Is EOS_Lobby_JoinLobbyById allowed.\n This is provided to support cases where an integrated platform's invite system is used.\n In these cases the game should provide the lobby ID securely to the invited player. Such as by attaching the\n lobby ID to the integrated platform's session data or sending the lobby ID within the invite data."]
8144 pub bEnableJoinById: EOS_Bool,
8145 #[doc = " Does rejoining after being kicked require an invite?\n When this is set, a kicked player cannot return to the session even if the session was set with\n EOS_LPL_PUBLICADVERTISED. When this is set, a player with invite privileges must use EOS_Lobby_SendInvite to\n allow the kicked player to return to the session."]
8146 pub bRejoinAfterKickRequiresInvite: EOS_Bool,
8147 #[doc = " Array of platform IDs indicating the player platforms allowed to register with the session. Platform IDs are\n found in the EOS header file, e.g. EOS_OPT_Epic. For some platforms, the value will be in the EOS Platform specific\n header file. If null, the lobby will be unrestricted."]
8148 pub AllowedPlatformIds: *const u32,
8149 #[doc = " Number of platform IDs in the array"]
8150 pub AllowedPlatformIdsCount: u32,
8151 #[doc = " This value indicates whether or not the lobby owner allows crossplay interactions. If false, the lobby owner\n will be treated as allowing crossplay. If it is set to true, AllowedPlatformIds must have a single entry that matches\n the platform of the lobby owner."]
8152 pub bCrossplayOptOut: EOS_Bool,
8153 #[doc = " If bEnableRTCRoom is true, this value indicates the action to take against the RTC Room when joining the lobby. This may be used\n to indicate the RTCRoom should be joined immediately or manually at a later time."]
8154 pub RTCRoomJoinActionType: EOS_ELobbyRTCRoomJoinActionType,
8155}
8156impl Default for _tagEOS_Lobby_CreateLobbyOptions {
8157 fn default() -> Self {
8158 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8159 unsafe {
8160 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8161 s.assume_init()
8162 }
8163 }
8164}
8165#[doc = " Input parameters for the EOS_Lobby_CreateLobby function."]
8166pub type EOS_Lobby_CreateLobbyOptions = _tagEOS_Lobby_CreateLobbyOptions;
8167#[doc = " Output parameters for the EOS_Lobby_CreateLobby function."]
8168#[repr(C)]
8169#[derive(Debug, Copy, Clone)]
8170pub struct _tagEOS_Lobby_CreateLobbyCallbackInfo {
8171 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
8172 pub ResultCode: EOS_EResult,
8173 #[doc = " Context that was passed into EOS_Lobby_CreateLobby"]
8174 pub ClientData: *mut ::std::os::raw::c_void,
8175 #[doc = " The new lobby's ID"]
8176 pub LobbyId: EOS_LobbyId,
8177}
8178impl Default for _tagEOS_Lobby_CreateLobbyCallbackInfo {
8179 fn default() -> Self {
8180 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8181 unsafe {
8182 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8183 s.assume_init()
8184 }
8185 }
8186}
8187#[doc = " Output parameters for the EOS_Lobby_CreateLobby function."]
8188pub type EOS_Lobby_CreateLobbyCallbackInfo = _tagEOS_Lobby_CreateLobbyCallbackInfo;
8189#[doc = " Function prototype definition for callbacks passed to EOS_Lobby_CreateLobby\n @param Data A EOS_Lobby_CreateLobby CallbackInfo containing the output information and result"]
8190pub type EOS_Lobby_OnCreateLobbyCallback =
8191 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Lobby_CreateLobbyCallbackInfo)>;
8192#[doc = " Input parameters for the EOS_Lobby_DestroyLobby function."]
8193#[repr(C)]
8194#[derive(Debug, Copy, Clone)]
8195pub struct _tagEOS_Lobby_DestroyLobbyOptions {
8196 #[doc = " API Version: Set this to EOS_LOBBY_DESTROYLOBBY_API_LATEST."]
8197 pub ApiVersion: i32,
8198 #[doc = " The Product User ID of the local user requesting destruction of the lobby; this user must currently own the lobby"]
8199 pub LocalUserId: EOS_ProductUserId,
8200 #[doc = " The ID of the lobby to destroy"]
8201 pub LobbyId: EOS_LobbyId,
8202}
8203impl Default for _tagEOS_Lobby_DestroyLobbyOptions {
8204 fn default() -> Self {
8205 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8206 unsafe {
8207 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8208 s.assume_init()
8209 }
8210 }
8211}
8212#[doc = " Input parameters for the EOS_Lobby_DestroyLobby function."]
8213pub type EOS_Lobby_DestroyLobbyOptions = _tagEOS_Lobby_DestroyLobbyOptions;
8214#[doc = " Output parameters for the EOS_Lobby_DestroyLobby function."]
8215#[repr(C)]
8216#[derive(Debug, Copy, Clone)]
8217pub struct _tagEOS_Lobby_DestroyLobbyCallbackInfo {
8218 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
8219 pub ResultCode: EOS_EResult,
8220 #[doc = " Context that was passed into EOS_Lobby_DestroyLobby"]
8221 pub ClientData: *mut ::std::os::raw::c_void,
8222 #[doc = " The destroyed lobby's ID"]
8223 pub LobbyId: EOS_LobbyId,
8224}
8225impl Default for _tagEOS_Lobby_DestroyLobbyCallbackInfo {
8226 fn default() -> Self {
8227 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8228 unsafe {
8229 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8230 s.assume_init()
8231 }
8232 }
8233}
8234#[doc = " Output parameters for the EOS_Lobby_DestroyLobby function."]
8235pub type EOS_Lobby_DestroyLobbyCallbackInfo = _tagEOS_Lobby_DestroyLobbyCallbackInfo;
8236#[doc = " Function prototype definition for callbacks passed to EOS_Lobby_DestroyLobby\n @param Data A EOS_Lobby_DestroyLobby CallbackInfo containing the output information and result"]
8237pub type EOS_Lobby_OnDestroyLobbyCallback =
8238 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Lobby_DestroyLobbyCallbackInfo)>;
8239#[doc = " Input parameters for the EOS_Lobby_JoinLobby function."]
8240#[repr(C)]
8241#[derive(Debug, Copy, Clone)]
8242pub struct _tagEOS_Lobby_JoinLobbyOptions {
8243 #[doc = " API Version: Set this to EOS_LOBBY_JOINLOBBY_API_LATEST."]
8244 pub ApiVersion: i32,
8245 #[doc = " The handle of the lobby to join"]
8246 pub LobbyDetailsHandle: EOS_HLobbyDetails,
8247 #[doc = " The Product User ID of the local user joining the lobby"]
8248 pub LocalUserId: EOS_ProductUserId,
8249 #[doc = " If true, this lobby will be associated with the local user's presence information. A user can only associate one lobby at a time with their presence information.\n This affects the ability of the Social Overlay to show game related actions to take in the user's social graph.\n\n @note The Social Overlay can handle only one of the following three options at a time:\n * using the bPresenceEnabled flags within the Sessions interface\n * using the bPresenceEnabled flags within the Lobby interface\n * using EOS_PresenceModification_SetJoinInfo\n\n @see EOS_PresenceModification_SetJoinInfoOptions\n @see EOS_Lobby_CreateLobbyOptions\n @see EOS_Lobby_JoinLobbyOptions\n @see EOS_Sessions_CreateSessionModificationOptions\n @see EOS_Sessions_JoinSessionOptions"]
8250 pub bPresenceEnabled: EOS_Bool,
8251 #[doc = " (Optional) Set this value to override the default local options for the RTC Room, if it is enabled for this lobby. Set this to NULL if\n your application does not use the Lobby RTC Rooms feature, or if you would like to use the default settings. This option is ignored if\n the specified lobby does not have an RTC Room enabled and will not cause errors."]
8252 pub LocalRTCOptions: *const EOS_Lobby_LocalRTCOptions,
8253 #[doc = " This value indicates whether or not the local user allows crossplay interactions. If it is false, the local user\n will be treated as allowing crossplay."]
8254 pub bCrossplayOptOut: EOS_Bool,
8255 #[doc = " For lobbies with the RTC Room feature enabled, this value indicates the action to take against the RTC Room when joining the lobby. This may be used\n to indicate the RTCRoom should be joined immediately or manually at a later time."]
8256 pub RTCRoomJoinActionType: EOS_ELobbyRTCRoomJoinActionType,
8257}
8258impl Default for _tagEOS_Lobby_JoinLobbyOptions {
8259 fn default() -> Self {
8260 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8261 unsafe {
8262 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8263 s.assume_init()
8264 }
8265 }
8266}
8267#[doc = " Input parameters for the EOS_Lobby_JoinLobby function."]
8268pub type EOS_Lobby_JoinLobbyOptions = _tagEOS_Lobby_JoinLobbyOptions;
8269#[doc = " Output parameters for the EOS_Lobby_JoinLobby function."]
8270#[repr(C)]
8271#[derive(Debug, Copy, Clone)]
8272pub struct _tagEOS_Lobby_JoinLobbyCallbackInfo {
8273 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
8274 pub ResultCode: EOS_EResult,
8275 #[doc = " Context that was passed into EOS_Lobby_JoinLobby"]
8276 pub ClientData: *mut ::std::os::raw::c_void,
8277 #[doc = " The ID of the lobby"]
8278 pub LobbyId: EOS_LobbyId,
8279}
8280impl Default for _tagEOS_Lobby_JoinLobbyCallbackInfo {
8281 fn default() -> Self {
8282 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8283 unsafe {
8284 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8285 s.assume_init()
8286 }
8287 }
8288}
8289#[doc = " Output parameters for the EOS_Lobby_JoinLobby function."]
8290pub type EOS_Lobby_JoinLobbyCallbackInfo = _tagEOS_Lobby_JoinLobbyCallbackInfo;
8291#[doc = " Function prototype definition for callbacks passed to EOS_Lobby_JoinLobby\n @param Data A EOS_Lobby_JoinLobby CallbackInfo containing the output information and result"]
8292pub type EOS_Lobby_OnJoinLobbyCallback =
8293 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Lobby_JoinLobbyCallbackInfo)>;
8294#[doc = " Input parameters for the EOS_Lobby_JoinLobbyById function."]
8295#[repr(C)]
8296#[derive(Debug, Copy, Clone)]
8297pub struct _tagEOS_Lobby_JoinLobbyByIdOptions {
8298 #[doc = " API Version: Set this to EOS_LOBBY_JOINLOBBYBYID_API_LATEST."]
8299 pub ApiVersion: i32,
8300 #[doc = " The ID of the lobby"]
8301 pub LobbyId: EOS_LobbyId,
8302 #[doc = " The Product User ID of the local user joining the lobby"]
8303 pub LocalUserId: EOS_ProductUserId,
8304 #[doc = " If true, this lobby will be associated with the user's presence information. A user can only associate one lobby at a time with their presence information.\n This affects the ability of the Social Overlay to show game related actions to take in the user's social graph.\n\n @note The Social Overlay can handle only one of the following three options at a time:\n * using the bPresenceEnabled flags within the Sessions interface\n * using the bPresenceEnabled flags within the Lobby interface\n * using EOS_PresenceModification_SetJoinInfo\n\n @see EOS_PresenceModification_SetJoinInfoOptions\n @see EOS_Lobby_CreateLobbyOptions\n @see EOS_Lobby_JoinLobbyOptions\n @see EOS_Lobby_JoinLobbyByIdOptions\n @see EOS_Sessions_CreateSessionModificationOptions\n @see EOS_Sessions_JoinSessionOptions"]
8305 pub bPresenceEnabled: EOS_Bool,
8306 #[doc = " (Optional) Set this value to override the default local options for the RTC Room, if it is enabled for this lobby. Set this to NULL if\n your application does not use the Lobby RTC Rooms feature, or if you would like to use the default settings. This option is ignored if\n the specified lobby does not have an RTC Room enabled and will not cause errors."]
8307 pub LocalRTCOptions: *const EOS_Lobby_LocalRTCOptions,
8308 #[doc = " This value indicates whether or not the local user allows crossplay interactions. If it is false, the local user\n will be treated as allowing crossplay."]
8309 pub bCrossplayOptOut: EOS_Bool,
8310 #[doc = " For lobbies with the RTC Room feature enabled, this value indicates the action to take against the RTC Room when joining the lobby. This may be used\n to indicate the RTCRoom should be joined immediately or manually at a later time."]
8311 pub RTCRoomJoinActionType: EOS_ELobbyRTCRoomJoinActionType,
8312}
8313impl Default for _tagEOS_Lobby_JoinLobbyByIdOptions {
8314 fn default() -> Self {
8315 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8316 unsafe {
8317 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8318 s.assume_init()
8319 }
8320 }
8321}
8322#[doc = " Input parameters for the EOS_Lobby_JoinLobbyById function."]
8323pub type EOS_Lobby_JoinLobbyByIdOptions = _tagEOS_Lobby_JoinLobbyByIdOptions;
8324#[doc = " Output parameters for the EOS_Lobby_JoinLobbyById function."]
8325#[repr(C)]
8326#[derive(Debug, Copy, Clone)]
8327pub struct _tagEOS_Lobby_JoinLobbyByIdCallbackInfo {
8328 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
8329 pub ResultCode: EOS_EResult,
8330 #[doc = " Context that was passed into EOS_Lobby_JoinLobbyById"]
8331 pub ClientData: *mut ::std::os::raw::c_void,
8332 #[doc = " The ID of the lobby"]
8333 pub LobbyId: EOS_LobbyId,
8334}
8335impl Default for _tagEOS_Lobby_JoinLobbyByIdCallbackInfo {
8336 fn default() -> Self {
8337 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8338 unsafe {
8339 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8340 s.assume_init()
8341 }
8342 }
8343}
8344#[doc = " Output parameters for the EOS_Lobby_JoinLobbyById function."]
8345pub type EOS_Lobby_JoinLobbyByIdCallbackInfo = _tagEOS_Lobby_JoinLobbyByIdCallbackInfo;
8346#[doc = " Function prototype definition for callbacks passed to EOS_Lobby_JoinLobbyById\n @param Data A EOS_Lobby_JoinLobbyById CallbackInfo containing the output information and result"]
8347pub type EOS_Lobby_OnJoinLobbyByIdCallback =
8348 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Lobby_JoinLobbyByIdCallbackInfo)>;
8349#[doc = " Input parameters for the EOS_Lobby_LeaveLobby function."]
8350#[repr(C)]
8351#[derive(Debug, Copy, Clone)]
8352pub struct _tagEOS_Lobby_LeaveLobbyOptions {
8353 #[doc = " API Version: Set this to EOS_LOBBY_LEAVELOBBY_API_LATEST."]
8354 pub ApiVersion: i32,
8355 #[doc = " The Product User ID of the local user leaving the lobby"]
8356 pub LocalUserId: EOS_ProductUserId,
8357 #[doc = " The ID of the lobby"]
8358 pub LobbyId: EOS_LobbyId,
8359}
8360impl Default for _tagEOS_Lobby_LeaveLobbyOptions {
8361 fn default() -> Self {
8362 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8363 unsafe {
8364 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8365 s.assume_init()
8366 }
8367 }
8368}
8369#[doc = " Input parameters for the EOS_Lobby_LeaveLobby function."]
8370pub type EOS_Lobby_LeaveLobbyOptions = _tagEOS_Lobby_LeaveLobbyOptions;
8371#[doc = " Output parameters for the EOS_Lobby_LeaveLobby function."]
8372#[repr(C)]
8373#[derive(Debug, Copy, Clone)]
8374pub struct _tagEOS_Lobby_LeaveLobbyCallbackInfo {
8375 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
8376 pub ResultCode: EOS_EResult,
8377 #[doc = " Context that was passed into EOS_Lobby_LeaveLobby"]
8378 pub ClientData: *mut ::std::os::raw::c_void,
8379 #[doc = " The ID of the lobby"]
8380 pub LobbyId: EOS_LobbyId,
8381}
8382impl Default for _tagEOS_Lobby_LeaveLobbyCallbackInfo {
8383 fn default() -> Self {
8384 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8385 unsafe {
8386 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8387 s.assume_init()
8388 }
8389 }
8390}
8391#[doc = " Output parameters for the EOS_Lobby_LeaveLobby function."]
8392pub type EOS_Lobby_LeaveLobbyCallbackInfo = _tagEOS_Lobby_LeaveLobbyCallbackInfo;
8393#[doc = " Function prototype definition for callbacks passed to EOS_Lobby_LeaveLobby\n @param Data A EOS_Lobby_LeaveLobby CallbackInfo containing the output information and result"]
8394pub type EOS_Lobby_OnLeaveLobbyCallback =
8395 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Lobby_LeaveLobbyCallbackInfo)>;
8396#[doc = " Input parameters for the EOS_Lobby_UpdateLobbyModification function."]
8397#[repr(C)]
8398#[derive(Debug, Copy, Clone)]
8399pub struct _tagEOS_Lobby_UpdateLobbyModificationOptions {
8400 #[doc = " API Version: Set this to EOS_LOBBY_UPDATELOBBYMODIFICATION_API_LATEST."]
8401 pub ApiVersion: i32,
8402 #[doc = " The ID of the local user making modifications. Must be the owner to modify lobby data, but any lobby member can modify their own attributes."]
8403 pub LocalUserId: EOS_ProductUserId,
8404 #[doc = " The ID of the lobby"]
8405 pub LobbyId: EOS_LobbyId,
8406}
8407impl Default for _tagEOS_Lobby_UpdateLobbyModificationOptions {
8408 fn default() -> Self {
8409 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8410 unsafe {
8411 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8412 s.assume_init()
8413 }
8414 }
8415}
8416#[doc = " Input parameters for the EOS_Lobby_UpdateLobbyModification function."]
8417pub type EOS_Lobby_UpdateLobbyModificationOptions = _tagEOS_Lobby_UpdateLobbyModificationOptions;
8418#[doc = " Input parameters for the EOS_Lobby_UpdateLobby function."]
8419#[repr(C)]
8420#[derive(Debug, Copy, Clone)]
8421pub struct _tagEOS_Lobby_UpdateLobbyOptions {
8422 #[doc = " API Version: Set this to EOS_LOBBY_UPDATELOBBY_API_LATEST."]
8423 pub ApiVersion: i32,
8424 #[doc = " Builder handle"]
8425 pub LobbyModificationHandle: EOS_HLobbyModification,
8426}
8427impl Default for _tagEOS_Lobby_UpdateLobbyOptions {
8428 fn default() -> Self {
8429 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8430 unsafe {
8431 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8432 s.assume_init()
8433 }
8434 }
8435}
8436#[doc = " Input parameters for the EOS_Lobby_UpdateLobby function."]
8437pub type EOS_Lobby_UpdateLobbyOptions = _tagEOS_Lobby_UpdateLobbyOptions;
8438#[doc = " Output parameters for the EOS_Lobby_UpdateLobby function."]
8439#[repr(C)]
8440#[derive(Debug, Copy, Clone)]
8441pub struct _tagEOS_Lobby_UpdateLobbyCallbackInfo {
8442 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
8443 pub ResultCode: EOS_EResult,
8444 #[doc = " Context that was passed into EOS_Lobby_UpdateLobby"]
8445 pub ClientData: *mut ::std::os::raw::c_void,
8446 #[doc = " The ID of the lobby"]
8447 pub LobbyId: EOS_LobbyId,
8448}
8449impl Default for _tagEOS_Lobby_UpdateLobbyCallbackInfo {
8450 fn default() -> Self {
8451 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8452 unsafe {
8453 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8454 s.assume_init()
8455 }
8456 }
8457}
8458#[doc = " Output parameters for the EOS_Lobby_UpdateLobby function."]
8459pub type EOS_Lobby_UpdateLobbyCallbackInfo = _tagEOS_Lobby_UpdateLobbyCallbackInfo;
8460#[doc = " Function prototype definition for callbacks passed to EOS_Lobby_UpdateLobby\n @param Data A EOS_Lobby_UpdateLobby CallbackInfo containing the output information and result"]
8461pub type EOS_Lobby_OnUpdateLobbyCallback =
8462 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Lobby_UpdateLobbyCallbackInfo)>;
8463#[doc = " Input parameters for the EOS_Lobby_JoinRTCRoom function."]
8464#[repr(C)]
8465#[derive(Debug, Copy, Clone)]
8466pub struct _tagEOS_Lobby_JoinRTCRoomOptions {
8467 #[doc = " API Version: Set this to EOS_LOBBY_JOINRTCROOM_API_LATEST."]
8468 pub ApiVersion: i32,
8469 #[doc = " The ID of the lobby to join the RTC Room of"]
8470 pub LobbyId: EOS_LobbyId,
8471 #[doc = " The Product User ID of the local user in the lobby"]
8472 pub LocalUserId: EOS_ProductUserId,
8473 #[doc = " Allows the local application to set local audio options for the RTC Room if it is enabled.\n Only updates audio options when explicitly set; does not provide defaults."]
8474 pub LocalRTCOptions: *const EOS_Lobby_LocalRTCOptions,
8475}
8476impl Default for _tagEOS_Lobby_JoinRTCRoomOptions {
8477 fn default() -> Self {
8478 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8479 unsafe {
8480 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8481 s.assume_init()
8482 }
8483 }
8484}
8485#[doc = " Input parameters for the EOS_Lobby_JoinRTCRoom function."]
8486pub type EOS_Lobby_JoinRTCRoomOptions = _tagEOS_Lobby_JoinRTCRoomOptions;
8487#[doc = " Output parameters for the EOS_Lobby_JoinRTCRoom function."]
8488#[repr(C)]
8489#[derive(Debug, Copy, Clone)]
8490pub struct _tagEOS_Lobby_JoinRTCRoomCallbackInfo {
8491 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
8492 pub ResultCode: EOS_EResult,
8493 #[doc = " Context that was passed into EOS_Lobby_JoinRTCRoom"]
8494 pub ClientData: *mut ::std::os::raw::c_void,
8495 #[doc = " The ID of the lobby"]
8496 pub LobbyId: EOS_LobbyId,
8497}
8498impl Default for _tagEOS_Lobby_JoinRTCRoomCallbackInfo {
8499 fn default() -> Self {
8500 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8501 unsafe {
8502 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8503 s.assume_init()
8504 }
8505 }
8506}
8507#[doc = " Output parameters for the EOS_Lobby_JoinRTCRoom function."]
8508pub type EOS_Lobby_JoinRTCRoomCallbackInfo = _tagEOS_Lobby_JoinRTCRoomCallbackInfo;
8509#[doc = " Function prototype definition for callbacks passed to EOS_Lobby_JoinRTCRoom\n @param Data A EOS_Lobby_JoinRTCRoom CallbackInfo containing the output information and result"]
8510pub type EOS_Lobby_OnJoinRTCRoomCallback =
8511 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Lobby_JoinRTCRoomCallbackInfo)>;
8512#[doc = " Input parameters for the EOS_Lobby_LeaveRTCRoom function."]
8513#[repr(C)]
8514#[derive(Debug, Copy, Clone)]
8515pub struct _tagEOS_Lobby_LeaveRTCRoomOptions {
8516 #[doc = " API Version: Set this to EOS_LOBBY_LEAVERTCROOM_API_LATEST."]
8517 pub ApiVersion: i32,
8518 #[doc = " The ID of the lobby owning the RTC Room to leave"]
8519 pub LobbyId: EOS_LobbyId,
8520 #[doc = " The Product User ID of the local user in the lobby"]
8521 pub LocalUserId: EOS_ProductUserId,
8522}
8523impl Default for _tagEOS_Lobby_LeaveRTCRoomOptions {
8524 fn default() -> Self {
8525 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8526 unsafe {
8527 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8528 s.assume_init()
8529 }
8530 }
8531}
8532#[doc = " Input parameters for the EOS_Lobby_LeaveRTCRoom function."]
8533pub type EOS_Lobby_LeaveRTCRoomOptions = _tagEOS_Lobby_LeaveRTCRoomOptions;
8534#[doc = " Output parameters for the EOS_Lobby_LeaveRTCRoom function."]
8535#[repr(C)]
8536#[derive(Debug, Copy, Clone)]
8537pub struct _tagEOS_Lobby_LeaveRTCRoomCallbackInfo {
8538 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
8539 pub ResultCode: EOS_EResult,
8540 #[doc = " Context that was passed into EOS_Lobby_LeaveRTCRoom"]
8541 pub ClientData: *mut ::std::os::raw::c_void,
8542 #[doc = " The ID of the lobby"]
8543 pub LobbyId: EOS_LobbyId,
8544}
8545impl Default for _tagEOS_Lobby_LeaveRTCRoomCallbackInfo {
8546 fn default() -> Self {
8547 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8548 unsafe {
8549 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8550 s.assume_init()
8551 }
8552 }
8553}
8554#[doc = " Output parameters for the EOS_Lobby_LeaveRTCRoom function."]
8555pub type EOS_Lobby_LeaveRTCRoomCallbackInfo = _tagEOS_Lobby_LeaveRTCRoomCallbackInfo;
8556#[doc = " Function prototype definition for callbacks passed to EOS_Lobby_LeaveRTCRoom\n @param Data A EOS_Lobby_LeaveRTCRoom CallbackInfo containing the output information and result"]
8557pub type EOS_Lobby_OnLeaveRTCRoomCallback =
8558 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Lobby_LeaveRTCRoomCallbackInfo)>;
8559#[doc = " Input parameters for the EOS_Lobby_PromoteMember function."]
8560#[repr(C)]
8561#[derive(Debug, Copy, Clone)]
8562pub struct _tagEOS_Lobby_PromoteMemberOptions {
8563 #[doc = " API Version: Set this to EOS_LOBBY_PROMOTEMEMBER_API_LATEST."]
8564 pub ApiVersion: i32,
8565 #[doc = " The ID of the lobby"]
8566 pub LobbyId: EOS_LobbyId,
8567 #[doc = " The Product User ID of the local user making the request"]
8568 pub LocalUserId: EOS_ProductUserId,
8569 #[doc = " The Product User ID of the member to promote to owner of the lobby"]
8570 pub TargetUserId: EOS_ProductUserId,
8571}
8572impl Default for _tagEOS_Lobby_PromoteMemberOptions {
8573 fn default() -> Self {
8574 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8575 unsafe {
8576 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8577 s.assume_init()
8578 }
8579 }
8580}
8581#[doc = " Input parameters for the EOS_Lobby_PromoteMember function."]
8582pub type EOS_Lobby_PromoteMemberOptions = _tagEOS_Lobby_PromoteMemberOptions;
8583#[doc = " Output parameters for the EOS_Lobby_PromoteMember function."]
8584#[repr(C)]
8585#[derive(Debug, Copy, Clone)]
8586pub struct _tagEOS_Lobby_PromoteMemberCallbackInfo {
8587 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
8588 pub ResultCode: EOS_EResult,
8589 #[doc = " Context that was passed into EOS_Lobby_PromoteMember"]
8590 pub ClientData: *mut ::std::os::raw::c_void,
8591 #[doc = " The ID of the lobby where the user was promoted"]
8592 pub LobbyId: EOS_LobbyId,
8593}
8594impl Default for _tagEOS_Lobby_PromoteMemberCallbackInfo {
8595 fn default() -> Self {
8596 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8597 unsafe {
8598 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8599 s.assume_init()
8600 }
8601 }
8602}
8603#[doc = " Output parameters for the EOS_Lobby_PromoteMember function."]
8604pub type EOS_Lobby_PromoteMemberCallbackInfo = _tagEOS_Lobby_PromoteMemberCallbackInfo;
8605#[doc = " Function prototype definition for callbacks passed to EOS_Lobby_PromoteMember\n @param Data A EOS_Lobby_PromoteMember CallbackInfo containing the output information and result"]
8606pub type EOS_Lobby_OnPromoteMemberCallback =
8607 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Lobby_PromoteMemberCallbackInfo)>;
8608#[doc = " Input parameters for the EOS_Lobby_KickMember function."]
8609#[repr(C)]
8610#[derive(Debug, Copy, Clone)]
8611pub struct _tagEOS_Lobby_KickMemberOptions {
8612 #[doc = " API Version: Set this to EOS_LOBBY_KICKMEMBER_API_LATEST."]
8613 pub ApiVersion: i32,
8614 #[doc = " The ID of the lobby"]
8615 pub LobbyId: EOS_LobbyId,
8616 #[doc = " The Product User ID of the local user requesting the removal; this user must be the lobby owner"]
8617 pub LocalUserId: EOS_ProductUserId,
8618 #[doc = " The Product User ID of the lobby member to remove"]
8619 pub TargetUserId: EOS_ProductUserId,
8620}
8621impl Default for _tagEOS_Lobby_KickMemberOptions {
8622 fn default() -> Self {
8623 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8624 unsafe {
8625 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8626 s.assume_init()
8627 }
8628 }
8629}
8630#[doc = " Input parameters for the EOS_Lobby_KickMember function."]
8631pub type EOS_Lobby_KickMemberOptions = _tagEOS_Lobby_KickMemberOptions;
8632#[doc = " Output parameters for the EOS_Lobby_KickMember function."]
8633#[repr(C)]
8634#[derive(Debug, Copy, Clone)]
8635pub struct _tagEOS_Lobby_KickMemberCallbackInfo {
8636 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
8637 pub ResultCode: EOS_EResult,
8638 #[doc = " Context that was passed into EOS_Lobby_KickMember"]
8639 pub ClientData: *mut ::std::os::raw::c_void,
8640 #[doc = " The ID of the lobby"]
8641 pub LobbyId: EOS_LobbyId,
8642}
8643impl Default for _tagEOS_Lobby_KickMemberCallbackInfo {
8644 fn default() -> Self {
8645 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8646 unsafe {
8647 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8648 s.assume_init()
8649 }
8650 }
8651}
8652#[doc = " Output parameters for the EOS_Lobby_KickMember function."]
8653pub type EOS_Lobby_KickMemberCallbackInfo = _tagEOS_Lobby_KickMemberCallbackInfo;
8654#[doc = " Function prototype definition for callbacks passed to EOS_Lobby_KickMember\n @param Data A EOS_Lobby_KickMember CallbackInfo containing the output information and result"]
8655pub type EOS_Lobby_OnKickMemberCallback =
8656 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Lobby_KickMemberCallbackInfo)>;
8657#[doc = " Input parameters for the EOS_Lobby_HardMuteMember function."]
8658#[repr(C)]
8659#[derive(Debug, Copy, Clone)]
8660pub struct _tagEOS_Lobby_HardMuteMemberOptions {
8661 #[doc = " API Version: Set this to EOS_LOBBY_HARDMUTEMEMBER_API_LATEST."]
8662 pub ApiVersion: i32,
8663 #[doc = " The ID of the lobby"]
8664 pub LobbyId: EOS_LobbyId,
8665 #[doc = " The Product User ID of the local user requesting the hard mute; this user must be the lobby owner"]
8666 pub LocalUserId: EOS_ProductUserId,
8667 #[doc = " The Product User ID of the lobby member to hard mute"]
8668 pub TargetUserId: EOS_ProductUserId,
8669 #[doc = " TargetUserId hard mute status (mute on or off)"]
8670 pub bHardMute: EOS_Bool,
8671}
8672impl Default for _tagEOS_Lobby_HardMuteMemberOptions {
8673 fn default() -> Self {
8674 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8675 unsafe {
8676 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8677 s.assume_init()
8678 }
8679 }
8680}
8681#[doc = " Input parameters for the EOS_Lobby_HardMuteMember function."]
8682pub type EOS_Lobby_HardMuteMemberOptions = _tagEOS_Lobby_HardMuteMemberOptions;
8683#[doc = " Output parameters for the EOS_Lobby_HardMuteMember function."]
8684#[repr(C)]
8685#[derive(Debug, Copy, Clone)]
8686pub struct _tagEOS_Lobby_HardMuteMemberCallbackInfo {
8687 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
8688 pub ResultCode: EOS_EResult,
8689 #[doc = " Context that was passed into EOS_Lobby_HardMuteMember"]
8690 pub ClientData: *mut ::std::os::raw::c_void,
8691 #[doc = " The ID of the lobby"]
8692 pub LobbyId: EOS_LobbyId,
8693 #[doc = " The Product User ID of the lobby member whose mute status has been updated"]
8694 pub TargetUserId: EOS_ProductUserId,
8695}
8696impl Default for _tagEOS_Lobby_HardMuteMemberCallbackInfo {
8697 fn default() -> Self {
8698 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8699 unsafe {
8700 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8701 s.assume_init()
8702 }
8703 }
8704}
8705#[doc = " Output parameters for the EOS_Lobby_HardMuteMember function."]
8706pub type EOS_Lobby_HardMuteMemberCallbackInfo = _tagEOS_Lobby_HardMuteMemberCallbackInfo;
8707#[doc = " Function prototype definition for callbacks passed to EOS_Lobby_HardMuteMember\n @param Data A EOS_Lobby_HardMuteMember CallbackInfo containing the output information and result"]
8708pub type EOS_Lobby_OnHardMuteMemberCallback =
8709 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Lobby_HardMuteMemberCallbackInfo)>;
8710#[doc = " Input parameters for the EOS_Lobby_AddNotifyLobbyUpdateReceived function."]
8711#[repr(C)]
8712#[derive(Debug, Default, Copy, Clone)]
8713pub struct _tagEOS_Lobby_AddNotifyLobbyUpdateReceivedOptions {
8714 #[doc = " API Version: Set this to EOS_LOBBY_ADDNOTIFYLOBBYUPDATERECEIVED_API_LATEST."]
8715 pub ApiVersion: i32,
8716}
8717#[doc = " Input parameters for the EOS_Lobby_AddNotifyLobbyUpdateReceived function."]
8718pub type EOS_Lobby_AddNotifyLobbyUpdateReceivedOptions =
8719 _tagEOS_Lobby_AddNotifyLobbyUpdateReceivedOptions;
8720#[doc = " Output parameters for the EOS_Lobby_OnLobbyUpdateReceivedCallback Function."]
8721#[repr(C)]
8722#[derive(Debug, Copy, Clone)]
8723pub struct _tagEOS_Lobby_LobbyUpdateReceivedCallbackInfo {
8724 #[doc = " Context that was passed into EOS_Lobby_AddNotifyLobbyUpdateReceived"]
8725 pub ClientData: *mut ::std::os::raw::c_void,
8726 #[doc = " The ID of the lobby"]
8727 pub LobbyId: EOS_LobbyId,
8728}
8729impl Default for _tagEOS_Lobby_LobbyUpdateReceivedCallbackInfo {
8730 fn default() -> Self {
8731 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8732 unsafe {
8733 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8734 s.assume_init()
8735 }
8736 }
8737}
8738#[doc = " Output parameters for the EOS_Lobby_OnLobbyUpdateReceivedCallback Function."]
8739pub type EOS_Lobby_LobbyUpdateReceivedCallbackInfo = _tagEOS_Lobby_LobbyUpdateReceivedCallbackInfo;
8740#[doc = " Function prototype definition for notifications that comes from EOS_Lobby_AddNotifyLobbyUpdateReceived\n\n @param Data A EOS_Lobby_LobbyUpdateReceivedCallbackInfo containing the output information and result"]
8741pub type EOS_Lobby_OnLobbyUpdateReceivedCallback = ::std::option::Option<
8742 unsafe extern "C" fn(Data: *const EOS_Lobby_LobbyUpdateReceivedCallbackInfo),
8743>;
8744#[doc = " Input parameters for the EOS_Lobby_AddNotifyLobbyMemberUpdateReceived function."]
8745#[repr(C)]
8746#[derive(Debug, Default, Copy, Clone)]
8747pub struct _tagEOS_Lobby_AddNotifyLobbyMemberUpdateReceivedOptions {
8748 #[doc = " API Version: Set this to EOS_LOBBY_ADDNOTIFYLOBBYMEMBERUPDATERECEIVED_API_LATEST."]
8749 pub ApiVersion: i32,
8750}
8751#[doc = " Input parameters for the EOS_Lobby_AddNotifyLobbyMemberUpdateReceived function."]
8752pub type EOS_Lobby_AddNotifyLobbyMemberUpdateReceivedOptions =
8753 _tagEOS_Lobby_AddNotifyLobbyMemberUpdateReceivedOptions;
8754#[doc = " Output parameters for the EOS_Lobby_OnLobbyMemberUpdateReceivedCallback Function."]
8755#[repr(C)]
8756#[derive(Debug, Copy, Clone)]
8757pub struct _tagEOS_Lobby_LobbyMemberUpdateReceivedCallbackInfo {
8758 #[doc = " Context that was passed into EOS_Lobby_AddNotifyLobbyMemberUpdateReceived"]
8759 pub ClientData: *mut ::std::os::raw::c_void,
8760 #[doc = " The ID of the lobby"]
8761 pub LobbyId: EOS_LobbyId,
8762 #[doc = " The Product User ID of the lobby member"]
8763 pub TargetUserId: EOS_ProductUserId,
8764}
8765impl Default for _tagEOS_Lobby_LobbyMemberUpdateReceivedCallbackInfo {
8766 fn default() -> Self {
8767 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8768 unsafe {
8769 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8770 s.assume_init()
8771 }
8772 }
8773}
8774#[doc = " Output parameters for the EOS_Lobby_OnLobbyMemberUpdateReceivedCallback Function."]
8775pub type EOS_Lobby_LobbyMemberUpdateReceivedCallbackInfo =
8776 _tagEOS_Lobby_LobbyMemberUpdateReceivedCallbackInfo;
8777#[doc = " Function prototype definition for notifications that comes from EOS_Lobby_AddNotifyLobbyMemberUpdateReceived\n\n @param Data A EOS_Lobby_LobbyMemberUpdateReceivedCallbackInfo containing the output information and result"]
8778pub type EOS_Lobby_OnLobbyMemberUpdateReceivedCallback = ::std::option::Option<
8779 unsafe extern "C" fn(Data: *const EOS_Lobby_LobbyMemberUpdateReceivedCallbackInfo),
8780>;
8781#[doc = " Input parameters for the EOS_Lobby_AddNotifyLobbyMemberStatusReceived function."]
8782#[repr(C)]
8783#[derive(Debug, Default, Copy, Clone)]
8784pub struct _tagEOS_Lobby_AddNotifyLobbyMemberStatusReceivedOptions {
8785 #[doc = " API Version: Set this to EOS_LOBBY_ADDNOTIFYLOBBYMEMBERSTATUSRECEIVED_API_LATEST."]
8786 pub ApiVersion: i32,
8787}
8788#[doc = " Input parameters for the EOS_Lobby_AddNotifyLobbyMemberStatusReceived function."]
8789pub type EOS_Lobby_AddNotifyLobbyMemberStatusReceivedOptions =
8790 _tagEOS_Lobby_AddNotifyLobbyMemberStatusReceivedOptions;
8791#[doc = " Output parameters for the EOS_Lobby_AddNotifyLobbyMemberStatusReceived function."]
8792#[repr(C)]
8793#[derive(Debug, Copy, Clone)]
8794pub struct _tagEOS_Lobby_LobbyMemberStatusReceivedCallbackInfo {
8795 #[doc = " Context that was passed into EOS_Lobby_AddNotifyLobbyMemberStatusReceived"]
8796 pub ClientData: *mut ::std::os::raw::c_void,
8797 #[doc = " The ID of the lobby"]
8798 pub LobbyId: EOS_LobbyId,
8799 #[doc = " The Product User ID of the lobby member"]
8800 pub TargetUserId: EOS_ProductUserId,
8801 #[doc = " Latest status of the user"]
8802 pub CurrentStatus: EOS_ELobbyMemberStatus,
8803}
8804impl Default for _tagEOS_Lobby_LobbyMemberStatusReceivedCallbackInfo {
8805 fn default() -> Self {
8806 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8807 unsafe {
8808 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8809 s.assume_init()
8810 }
8811 }
8812}
8813#[doc = " Output parameters for the EOS_Lobby_AddNotifyLobbyMemberStatusReceived function."]
8814pub type EOS_Lobby_LobbyMemberStatusReceivedCallbackInfo =
8815 _tagEOS_Lobby_LobbyMemberStatusReceivedCallbackInfo;
8816#[doc = " Function prototype definition for callbacks passed to EOS_Lobby_AddNotifyLobbyMemberStatusReceived\n @param Data A EOS_Lobby_LobbyMemberStatusReceivedCallbackInfo CallbackInfo containing the output information and result"]
8817pub type EOS_Lobby_OnLobbyMemberStatusReceivedCallback = ::std::option::Option<
8818 unsafe extern "C" fn(Data: *const EOS_Lobby_LobbyMemberStatusReceivedCallbackInfo),
8819>;
8820#[doc = " Input parameters for the EOS_Lobby_AddNotifyLobbyInviteReceived function."]
8821#[repr(C)]
8822#[derive(Debug, Default, Copy, Clone)]
8823pub struct _tagEOS_Lobby_AddNotifyLobbyInviteReceivedOptions {
8824 #[doc = " API Version: Set this to EOS_LOBBY_ADDNOTIFYLOBBYINVITERECEIVED_API_LATEST."]
8825 pub ApiVersion: i32,
8826}
8827#[doc = " Input parameters for the EOS_Lobby_AddNotifyLobbyInviteReceived function."]
8828pub type EOS_Lobby_AddNotifyLobbyInviteReceivedOptions =
8829 _tagEOS_Lobby_AddNotifyLobbyInviteReceivedOptions;
8830#[doc = " Output parameters for the EOS_Lobby_OnLobbyInviteReceivedCallback Function."]
8831#[repr(C)]
8832#[derive(Debug, Copy, Clone)]
8833pub struct _tagEOS_Lobby_LobbyInviteReceivedCallbackInfo {
8834 #[doc = " Context that was passed into EOS_Lobby_AddNotifyLobbyInviteReceived"]
8835 pub ClientData: *mut ::std::os::raw::c_void,
8836 #[doc = " The ID of the invitation"]
8837 pub InviteId: *const ::std::os::raw::c_char,
8838 #[doc = " The Product User ID of the local user who received the invitation"]
8839 pub LocalUserId: EOS_ProductUserId,
8840 #[doc = " The Product User ID of the user who sent the invitation"]
8841 pub TargetUserId: EOS_ProductUserId,
8842}
8843impl Default for _tagEOS_Lobby_LobbyInviteReceivedCallbackInfo {
8844 fn default() -> Self {
8845 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8846 unsafe {
8847 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8848 s.assume_init()
8849 }
8850 }
8851}
8852#[doc = " Output parameters for the EOS_Lobby_OnLobbyInviteReceivedCallback Function."]
8853pub type EOS_Lobby_LobbyInviteReceivedCallbackInfo = _tagEOS_Lobby_LobbyInviteReceivedCallbackInfo;
8854#[doc = " Function prototype definition for notifications that comes from EOS_Lobby_AddNotifyLobbyInviteReceived\n\n @param Data A EOS_Lobby_LobbyInviteReceivedCallbackInfo containing the output information and result"]
8855pub type EOS_Lobby_OnLobbyInviteReceivedCallback = ::std::option::Option<
8856 unsafe extern "C" fn(Data: *const EOS_Lobby_LobbyInviteReceivedCallbackInfo),
8857>;
8858#[doc = " Input parameters for the EOS_Lobby_AddNotifyLobbyInviteAccepted function."]
8859#[repr(C)]
8860#[derive(Debug, Default, Copy, Clone)]
8861pub struct _tagEOS_Lobby_AddNotifyLobbyInviteAcceptedOptions {
8862 #[doc = " API Version: Set this to EOS_LOBBY_ADDNOTIFYLOBBYINVITEACCEPTED_API_LATEST."]
8863 pub ApiVersion: i32,
8864}
8865#[doc = " Input parameters for the EOS_Lobby_AddNotifyLobbyInviteAccepted function."]
8866pub type EOS_Lobby_AddNotifyLobbyInviteAcceptedOptions =
8867 _tagEOS_Lobby_AddNotifyLobbyInviteAcceptedOptions;
8868#[doc = " Output parameters for the EOS_Lobby_OnLobbyInviteAcceptedCallback Function."]
8869#[repr(C)]
8870#[derive(Debug, Copy, Clone)]
8871pub struct _tagEOS_Lobby_LobbyInviteAcceptedCallbackInfo {
8872 #[doc = " Context that was passed into EOS_Lobby_AddNotifyLobbyInviteAccepted"]
8873 pub ClientData: *mut ::std::os::raw::c_void,
8874 #[doc = " The invite ID"]
8875 pub InviteId: *const ::std::os::raw::c_char,
8876 #[doc = " The Product User ID of the local user who received the invitation"]
8877 pub LocalUserId: EOS_ProductUserId,
8878 #[doc = " The Product User ID of the user who sent the invitation"]
8879 pub TargetUserId: EOS_ProductUserId,
8880 #[doc = " Lobby ID that the user has been invited to"]
8881 pub LobbyId: EOS_LobbyId,
8882}
8883impl Default for _tagEOS_Lobby_LobbyInviteAcceptedCallbackInfo {
8884 fn default() -> Self {
8885 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8886 unsafe {
8887 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8888 s.assume_init()
8889 }
8890 }
8891}
8892#[doc = " Output parameters for the EOS_Lobby_OnLobbyInviteAcceptedCallback Function."]
8893pub type EOS_Lobby_LobbyInviteAcceptedCallbackInfo = _tagEOS_Lobby_LobbyInviteAcceptedCallbackInfo;
8894#[doc = " Function prototype definition for notifications that comes from EOS_Lobby_AddNotifyLobbyInviteAccepted\n\n @param Data A EOS_Lobby_LobbyInviteAcceptedCallbackInfo containing the output information and result"]
8895pub type EOS_Lobby_OnLobbyInviteAcceptedCallback = ::std::option::Option<
8896 unsafe extern "C" fn(Data: *const EOS_Lobby_LobbyInviteAcceptedCallbackInfo),
8897>;
8898#[doc = " Input parameters for the EOS_Lobby_AddNotifyJoinLobbyAccepted function."]
8899#[repr(C)]
8900#[derive(Debug, Default, Copy, Clone)]
8901pub struct _tagEOS_Lobby_AddNotifyJoinLobbyAcceptedOptions {
8902 #[doc = " API Version: Set this to EOS_LOBBY_ADDNOTIFYJOINLOBBYACCEPTED_API_LATEST."]
8903 pub ApiVersion: i32,
8904}
8905#[doc = " Input parameters for the EOS_Lobby_AddNotifyJoinLobbyAccepted function."]
8906pub type EOS_Lobby_AddNotifyJoinLobbyAcceptedOptions =
8907 _tagEOS_Lobby_AddNotifyJoinLobbyAcceptedOptions;
8908#[doc = " Input parameters for the EOS_Lobby_AddNotifyLobbyInviteRejected function."]
8909#[repr(C)]
8910#[derive(Debug, Default, Copy, Clone)]
8911pub struct _tagEOS_Lobby_AddNotifyLobbyInviteRejectedOptions {
8912 #[doc = " API Version: Set this to EOS_LOBBY_ADDNOTIFYLOBBYINVITEREJECTED_API_LATEST."]
8913 pub ApiVersion: i32,
8914}
8915#[doc = " Input parameters for the EOS_Lobby_AddNotifyLobbyInviteRejected function."]
8916pub type EOS_Lobby_AddNotifyLobbyInviteRejectedOptions =
8917 _tagEOS_Lobby_AddNotifyLobbyInviteRejectedOptions;
8918#[doc = " Output parameters for the EOS_Lobby_OnLobbyInviteRejectedCallback Function."]
8919#[repr(C)]
8920#[derive(Debug, Copy, Clone)]
8921pub struct _tagEOS_Lobby_LobbyInviteRejectedCallbackInfo {
8922 #[doc = " Context that was passed into EOS_Lobby_AddNotifyLobbyInviteRejected"]
8923 pub ClientData: *mut ::std::os::raw::c_void,
8924 #[doc = " The invite ID"]
8925 pub InviteId: *const ::std::os::raw::c_char,
8926 #[doc = " The Product User ID of the local user who received the invitation"]
8927 pub LocalUserId: EOS_ProductUserId,
8928 #[doc = " The Product User ID of the user who sent the invitation"]
8929 pub TargetUserId: EOS_ProductUserId,
8930 #[doc = " Lobby ID that the user has been invited to"]
8931 pub LobbyId: EOS_LobbyId,
8932}
8933impl Default for _tagEOS_Lobby_LobbyInviteRejectedCallbackInfo {
8934 fn default() -> Self {
8935 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8936 unsafe {
8937 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8938 s.assume_init()
8939 }
8940 }
8941}
8942#[doc = " Output parameters for the EOS_Lobby_OnLobbyInviteRejectedCallback Function."]
8943pub type EOS_Lobby_LobbyInviteRejectedCallbackInfo = _tagEOS_Lobby_LobbyInviteRejectedCallbackInfo;
8944#[doc = " Function prototype definition for notifications that comes from EOS_Lobby_AddNotifyLobbyInviteRejected\n\n @param Data A EOS_Lobby_LobbyInviteRejectedCallbackInfo containing the output information and result"]
8945pub type EOS_Lobby_OnLobbyInviteRejectedCallback = ::std::option::Option<
8946 unsafe extern "C" fn(Data: *const EOS_Lobby_LobbyInviteRejectedCallbackInfo),
8947>;
8948#[doc = " Output parameters for the EOS_Lobby_OnJoinLobbyAcceptedCallback Function."]
8949#[repr(C)]
8950#[derive(Debug, Copy, Clone)]
8951pub struct _tagEOS_Lobby_JoinLobbyAcceptedCallbackInfo {
8952 #[doc = " Context that was passed into EOS_Lobby_AddNotifyJoinLobbyAccepted"]
8953 pub ClientData: *mut ::std::os::raw::c_void,
8954 #[doc = " The Product User ID of the local user who is joining"]
8955 pub LocalUserId: EOS_ProductUserId,
8956 #[doc = " The UI Event associated with this Join Game event.\n This should be used with EOS_Lobby_CopyLobbyDetailsHandleByUiEventId to get a handle to be used\n when calling EOS_Lobby_JoinLobby."]
8957 pub UiEventId: EOS_UI_EventId,
8958}
8959impl Default for _tagEOS_Lobby_JoinLobbyAcceptedCallbackInfo {
8960 fn default() -> Self {
8961 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8962 unsafe {
8963 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8964 s.assume_init()
8965 }
8966 }
8967}
8968#[doc = " Output parameters for the EOS_Lobby_OnJoinLobbyAcceptedCallback Function."]
8969pub type EOS_Lobby_JoinLobbyAcceptedCallbackInfo = _tagEOS_Lobby_JoinLobbyAcceptedCallbackInfo;
8970#[doc = " Function prototype definition for notifications that comes from EOS_Lobby_AddNotifyJoinLobbyAccepted\n\n @param Data A EOS_Lobby_JoinLobbyAcceptedCallbackInfo containing the output information and result\n\n @note The lobby for the join game must be joined.\n\n @see EOS_Lobby_CopyLobbyDetailsHandleByUiEventId\n @see EOS_Lobby_JoinLobby"]
8971pub type EOS_Lobby_OnJoinLobbyAcceptedCallback = ::std::option::Option<
8972 unsafe extern "C" fn(Data: *const EOS_Lobby_JoinLobbyAcceptedCallbackInfo),
8973>;
8974#[doc = " Input parameters for the EOS_Lobby_AddNotifySendLobbyNativeInviteRequested function."]
8975#[repr(C)]
8976#[derive(Debug, Default, Copy, Clone)]
8977pub struct _tagEOS_Lobby_AddNotifySendLobbyNativeInviteRequestedOptions {
8978 #[doc = " API Version: Set this to EOS_LOBBY_ADDNOTIFYSENDLOBBYNATIVEINVITEREQUESTED_API_LATEST."]
8979 pub ApiVersion: i32,
8980}
8981#[doc = " Input parameters for the EOS_Lobby_AddNotifySendLobbyNativeInviteRequested function."]
8982pub type EOS_Lobby_AddNotifySendLobbyNativeInviteRequestedOptions =
8983 _tagEOS_Lobby_AddNotifySendLobbyNativeInviteRequestedOptions;
8984#[doc = " Output parameters for the EOS_Lobby_OnSendLobbyNativeInviteRequestedCallback Function."]
8985#[repr(C)]
8986#[derive(Debug, Copy, Clone)]
8987pub struct _tagEOS_Lobby_SendLobbyNativeInviteRequestedCallbackInfo {
8988 #[doc = " Context that was passed into EOS_Lobby_AddNotifySendLobbyNativeInviteRequested"]
8989 pub ClientData: *mut ::std::os::raw::c_void,
8990 #[doc = " Identifies this event which will need to be acknowledged with EOS_UI_AcknowledgeEventId().\n @see EOS_UI_AcknowledgeEventId"]
8991 pub UiEventId: EOS_UI_EventId,
8992 #[doc = " The Product User ID of the local user who is inviting."]
8993 pub LocalUserId: EOS_ProductUserId,
8994 #[doc = " The Native Platform Account Type. If only a single integrated platform is configured then\n this will always reference that platform."]
8995 pub TargetNativeAccountType: EOS_IntegratedPlatformType,
8996 #[doc = " The Native Platform Account ID of the target user being invited."]
8997 pub TargetUserNativeAccountId: *const ::std::os::raw::c_char,
8998 #[doc = " Lobby ID that the user is being invited to"]
8999 pub LobbyId: EOS_LobbyId,
9000}
9001impl Default for _tagEOS_Lobby_SendLobbyNativeInviteRequestedCallbackInfo {
9002 fn default() -> Self {
9003 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9004 unsafe {
9005 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9006 s.assume_init()
9007 }
9008 }
9009}
9010#[doc = " Output parameters for the EOS_Lobby_OnSendLobbyNativeInviteRequestedCallback Function."]
9011pub type EOS_Lobby_SendLobbyNativeInviteRequestedCallbackInfo =
9012 _tagEOS_Lobby_SendLobbyNativeInviteRequestedCallbackInfo;
9013#[doc = " Function prototype definition for notifications that comes from EOS_Lobby_AddNotifySendLobbyNativeInviteRequested\n\n @param Data A EOS_Lobby_SendLobbyNativeInviteRequestedCallbackInfo containing the output information and result\n\n @note After processing the callback EOS_UI_AcknowledgeEventId must be called.\n\n @see EOS_UI_AcknowledgeEventId"]
9014pub type EOS_Lobby_OnSendLobbyNativeInviteRequestedCallback = ::std::option::Option<
9015 unsafe extern "C" fn(Data: *const EOS_Lobby_SendLobbyNativeInviteRequestedCallbackInfo),
9016>;
9017#[doc = " Input parameters for the EOS_Lobby_CopyLobbyDetailsHandleByInviteId function."]
9018#[repr(C)]
9019#[derive(Debug, Copy, Clone)]
9020pub struct _tagEOS_Lobby_CopyLobbyDetailsHandleByInviteIdOptions {
9021 #[doc = " API Version: Set this to EOS_LOBBY_COPYLOBBYDETAILSHANDLEBYINVITEID_API_LATEST."]
9022 pub ApiVersion: i32,
9023 #[doc = " The ID of an invitation to join the lobby"]
9024 pub InviteId: *const ::std::os::raw::c_char,
9025}
9026impl Default for _tagEOS_Lobby_CopyLobbyDetailsHandleByInviteIdOptions {
9027 fn default() -> Self {
9028 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9029 unsafe {
9030 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9031 s.assume_init()
9032 }
9033 }
9034}
9035#[doc = " Input parameters for the EOS_Lobby_CopyLobbyDetailsHandleByInviteId function."]
9036pub type EOS_Lobby_CopyLobbyDetailsHandleByInviteIdOptions =
9037 _tagEOS_Lobby_CopyLobbyDetailsHandleByInviteIdOptions;
9038#[doc = " Input parameters for the EOS_Lobby_CopyLobbyDetailsHandleByUiEventId function."]
9039#[repr(C)]
9040#[derive(Debug, Default, Copy, Clone)]
9041pub struct _tagEOS_Lobby_CopyLobbyDetailsHandleByUiEventIdOptions {
9042 #[doc = " API Version: Set this to EOS_LOBBY_COPYLOBBYDETAILSHANDLEBYUIEVENTID_API_LATEST."]
9043 pub ApiVersion: i32,
9044 #[doc = " UI Event associated with the lobby"]
9045 pub UiEventId: EOS_UI_EventId,
9046}
9047#[doc = " Input parameters for the EOS_Lobby_CopyLobbyDetailsHandleByUiEventId function."]
9048pub type EOS_Lobby_CopyLobbyDetailsHandleByUiEventIdOptions =
9049 _tagEOS_Lobby_CopyLobbyDetailsHandleByUiEventIdOptions;
9050#[doc = " Input parameters for the EOS_Lobby_CreateLobbySearch function."]
9051#[repr(C)]
9052#[derive(Debug, Default, Copy, Clone)]
9053pub struct _tagEOS_Lobby_CreateLobbySearchOptions {
9054 #[doc = " API Version: Set this to EOS_LOBBY_CREATELOBBYSEARCH_API_LATEST."]
9055 pub ApiVersion: i32,
9056 #[doc = " Maximum number of results allowed from the search"]
9057 pub MaxResults: u32,
9058}
9059#[doc = " Input parameters for the EOS_Lobby_CreateLobbySearch function."]
9060pub type EOS_Lobby_CreateLobbySearchOptions = _tagEOS_Lobby_CreateLobbySearchOptions;
9061#[doc = " Input parameters for the EOS_Lobby_SendInvite function."]
9062#[repr(C)]
9063#[derive(Debug, Copy, Clone)]
9064pub struct _tagEOS_Lobby_SendInviteOptions {
9065 #[doc = " API Version: Set this to EOS_LOBBY_SENDINVITE_API_LATEST."]
9066 pub ApiVersion: i32,
9067 #[doc = " The ID of the lobby associated with the invitation"]
9068 pub LobbyId: EOS_LobbyId,
9069 #[doc = " The Product User ID of the local user sending the invitation"]
9070 pub LocalUserId: EOS_ProductUserId,
9071 #[doc = " The Product User ID of the user receiving the invitation"]
9072 pub TargetUserId: EOS_ProductUserId,
9073}
9074impl Default for _tagEOS_Lobby_SendInviteOptions {
9075 fn default() -> Self {
9076 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9077 unsafe {
9078 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9079 s.assume_init()
9080 }
9081 }
9082}
9083#[doc = " Input parameters for the EOS_Lobby_SendInvite function."]
9084pub type EOS_Lobby_SendInviteOptions = _tagEOS_Lobby_SendInviteOptions;
9085#[doc = " Output parameters for the EOS_Lobby_SendInvite function."]
9086#[repr(C)]
9087#[derive(Debug, Copy, Clone)]
9088pub struct _tagEOS_Lobby_SendInviteCallbackInfo {
9089 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
9090 pub ResultCode: EOS_EResult,
9091 #[doc = " Context that was passed into EOS_Lobby_SendInvite"]
9092 pub ClientData: *mut ::std::os::raw::c_void,
9093 #[doc = " The ID of the lobby"]
9094 pub LobbyId: EOS_LobbyId,
9095}
9096impl Default for _tagEOS_Lobby_SendInviteCallbackInfo {
9097 fn default() -> Self {
9098 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9099 unsafe {
9100 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9101 s.assume_init()
9102 }
9103 }
9104}
9105#[doc = " Output parameters for the EOS_Lobby_SendInvite function."]
9106pub type EOS_Lobby_SendInviteCallbackInfo = _tagEOS_Lobby_SendInviteCallbackInfo;
9107#[doc = " Function prototype definition for callbacks passed to EOS_Lobby_SendInvite\n @param Data A EOS_Lobby_SendInvite CallbackInfo containing the output information and result"]
9108pub type EOS_Lobby_OnSendInviteCallback =
9109 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Lobby_SendInviteCallbackInfo)>;
9110#[doc = " Input parameters for the EOS_Lobby_RejectInvite function."]
9111#[repr(C)]
9112#[derive(Debug, Copy, Clone)]
9113pub struct _tagEOS_Lobby_RejectInviteOptions {
9114 #[doc = " API Version: Set this to EOS_LOBBY_REJECTINVITE_API_LATEST."]
9115 pub ApiVersion: i32,
9116 #[doc = " The ID of the lobby associated with the invitation"]
9117 pub InviteId: *const ::std::os::raw::c_char,
9118 #[doc = " The Product User ID of the local user who is rejecting the invitation"]
9119 pub LocalUserId: EOS_ProductUserId,
9120}
9121impl Default for _tagEOS_Lobby_RejectInviteOptions {
9122 fn default() -> Self {
9123 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9124 unsafe {
9125 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9126 s.assume_init()
9127 }
9128 }
9129}
9130#[doc = " Input parameters for the EOS_Lobby_RejectInvite function."]
9131pub type EOS_Lobby_RejectInviteOptions = _tagEOS_Lobby_RejectInviteOptions;
9132#[doc = " Output parameters for the EOS_Lobby_RejectInvite function."]
9133#[repr(C)]
9134#[derive(Debug, Copy, Clone)]
9135pub struct _tagEOS_Lobby_RejectInviteCallbackInfo {
9136 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
9137 pub ResultCode: EOS_EResult,
9138 #[doc = " Context that was passed into EOS_Lobby_RejectInvite"]
9139 pub ClientData: *mut ::std::os::raw::c_void,
9140 #[doc = " The ID of the invitation being rejected"]
9141 pub InviteId: *const ::std::os::raw::c_char,
9142}
9143impl Default for _tagEOS_Lobby_RejectInviteCallbackInfo {
9144 fn default() -> Self {
9145 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9146 unsafe {
9147 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9148 s.assume_init()
9149 }
9150 }
9151}
9152#[doc = " Output parameters for the EOS_Lobby_RejectInvite function."]
9153pub type EOS_Lobby_RejectInviteCallbackInfo = _tagEOS_Lobby_RejectInviteCallbackInfo;
9154#[doc = " Function prototype definition for callbacks passed to EOS_Lobby_RejectInvite\n @param Data A EOS_Lobby_RejectInvite CallbackInfo containing the output information and result"]
9155pub type EOS_Lobby_OnRejectInviteCallback =
9156 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Lobby_RejectInviteCallbackInfo)>;
9157#[doc = " Input parameters for the EOS_Lobby_QueryInvites function."]
9158#[repr(C)]
9159#[derive(Debug, Copy, Clone)]
9160pub struct _tagEOS_Lobby_QueryInvitesOptions {
9161 #[doc = " API Version: Set this to EOS_LOBBY_QUERYINVITES_API_LATEST."]
9162 pub ApiVersion: i32,
9163 #[doc = " The Product User ID of the local user whose invitations you want to retrieve"]
9164 pub LocalUserId: EOS_ProductUserId,
9165}
9166impl Default for _tagEOS_Lobby_QueryInvitesOptions {
9167 fn default() -> Self {
9168 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9169 unsafe {
9170 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9171 s.assume_init()
9172 }
9173 }
9174}
9175#[doc = " Input parameters for the EOS_Lobby_QueryInvites function."]
9176pub type EOS_Lobby_QueryInvitesOptions = _tagEOS_Lobby_QueryInvitesOptions;
9177#[doc = " Output parameters for the EOS_Lobby_QueryInvites function."]
9178#[repr(C)]
9179#[derive(Debug, Copy, Clone)]
9180pub struct _tagEOS_Lobby_QueryInvitesCallbackInfo {
9181 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
9182 pub ResultCode: EOS_EResult,
9183 #[doc = " Context that was passed into EOS_Lobby_QueryInvites"]
9184 pub ClientData: *mut ::std::os::raw::c_void,
9185 #[doc = " The Product User ID of the local user that made the request"]
9186 pub LocalUserId: EOS_ProductUserId,
9187}
9188impl Default for _tagEOS_Lobby_QueryInvitesCallbackInfo {
9189 fn default() -> Self {
9190 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9191 unsafe {
9192 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9193 s.assume_init()
9194 }
9195 }
9196}
9197#[doc = " Output parameters for the EOS_Lobby_QueryInvites function."]
9198pub type EOS_Lobby_QueryInvitesCallbackInfo = _tagEOS_Lobby_QueryInvitesCallbackInfo;
9199#[doc = " Function prototype definition for callbacks passed to EOS_Lobby_QueryInvites\n @param Data A EOS_Lobby_QueryInvites CallbackInfo containing the output information and result"]
9200pub type EOS_Lobby_OnQueryInvitesCallback =
9201 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Lobby_QueryInvitesCallbackInfo)>;
9202#[doc = " Input parameters for the EOS_Lobby_GetInviteCount function."]
9203#[repr(C)]
9204#[derive(Debug, Copy, Clone)]
9205pub struct _tagEOS_Lobby_GetInviteCountOptions {
9206 #[doc = " API Version: Set this to EOS_LOBBY_GETINVITECOUNT_API_LATEST."]
9207 pub ApiVersion: i32,
9208 #[doc = " The Product User ID of the local user whose cached lobby invitations you want to count"]
9209 pub LocalUserId: EOS_ProductUserId,
9210}
9211impl Default for _tagEOS_Lobby_GetInviteCountOptions {
9212 fn default() -> Self {
9213 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9214 unsafe {
9215 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9216 s.assume_init()
9217 }
9218 }
9219}
9220#[doc = " Input parameters for the EOS_Lobby_GetInviteCount function."]
9221pub type EOS_Lobby_GetInviteCountOptions = _tagEOS_Lobby_GetInviteCountOptions;
9222#[doc = " Input parameters for the EOS_Lobby_GetInviteIdByIndex function."]
9223#[repr(C)]
9224#[derive(Debug, Copy, Clone)]
9225pub struct _tagEOS_Lobby_GetInviteIdByIndexOptions {
9226 #[doc = " API Version: Set this to EOS_LOBBY_GETINVITEIDBYINDEX_API_LATEST."]
9227 pub ApiVersion: i32,
9228 #[doc = " The Product User ID of the local user who received the cached invitation"]
9229 pub LocalUserId: EOS_ProductUserId,
9230 #[doc = " The index of the invitation ID to retrieve"]
9231 pub Index: u32,
9232}
9233impl Default for _tagEOS_Lobby_GetInviteIdByIndexOptions {
9234 fn default() -> Self {
9235 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9236 unsafe {
9237 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9238 s.assume_init()
9239 }
9240 }
9241}
9242#[doc = " Input parameters for the EOS_Lobby_GetInviteIdByIndex function."]
9243pub type EOS_Lobby_GetInviteIdByIndexOptions = _tagEOS_Lobby_GetInviteIdByIndexOptions;
9244#[doc = " Input parameters for the EOS_Lobby_CopyLobbyDetailsHandle function."]
9245#[repr(C)]
9246#[derive(Debug, Copy, Clone)]
9247pub struct _tagEOS_Lobby_CopyLobbyDetailsHandleOptions {
9248 #[doc = " API Version: Set this to EOS_LOBBY_COPYLOBBYDETAILSHANDLE_API_LATEST."]
9249 pub ApiVersion: i32,
9250 #[doc = " The ID of the lobby"]
9251 pub LobbyId: EOS_LobbyId,
9252 #[doc = " The Product User ID of the local user making the request"]
9253 pub LocalUserId: EOS_ProductUserId,
9254}
9255impl Default for _tagEOS_Lobby_CopyLobbyDetailsHandleOptions {
9256 fn default() -> Self {
9257 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9258 unsafe {
9259 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9260 s.assume_init()
9261 }
9262 }
9263}
9264#[doc = " Input parameters for the EOS_Lobby_CopyLobbyDetailsHandle function."]
9265pub type EOS_Lobby_CopyLobbyDetailsHandleOptions = _tagEOS_Lobby_CopyLobbyDetailsHandleOptions;
9266#[doc = " Input parameters for the EOS_Lobby_GetRTCRoomName function."]
9267#[repr(C)]
9268#[derive(Debug, Copy, Clone)]
9269pub struct _tagEOS_Lobby_GetRTCRoomNameOptions {
9270 #[doc = " API Version: Set this to EOS_LOBBY_GETRTCROOMNAME_API_LATEST."]
9271 pub ApiVersion: i32,
9272 #[doc = " The ID of the lobby to get the RTC Room name for"]
9273 pub LobbyId: EOS_LobbyId,
9274 #[doc = " The Product User ID of the local user in the lobby"]
9275 pub LocalUserId: EOS_ProductUserId,
9276}
9277impl Default for _tagEOS_Lobby_GetRTCRoomNameOptions {
9278 fn default() -> Self {
9279 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9280 unsafe {
9281 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9282 s.assume_init()
9283 }
9284 }
9285}
9286#[doc = " Input parameters for the EOS_Lobby_GetRTCRoomName function."]
9287pub type EOS_Lobby_GetRTCRoomNameOptions = _tagEOS_Lobby_GetRTCRoomNameOptions;
9288#[doc = " Input parameters for the EOS_Lobby_IsRTCRoomConnected function."]
9289#[repr(C)]
9290#[derive(Debug, Copy, Clone)]
9291pub struct _tagEOS_Lobby_IsRTCRoomConnectedOptions {
9292 #[doc = " API Version: Set this to EOS_LOBBY_ISRTCROOMCONNECTED_API_LATEST."]
9293 pub ApiVersion: i32,
9294 #[doc = " The ID of the lobby to get the RTC Room name for"]
9295 pub LobbyId: EOS_LobbyId,
9296 #[doc = " The Product User ID of the local user in the lobby"]
9297 pub LocalUserId: EOS_ProductUserId,
9298}
9299impl Default for _tagEOS_Lobby_IsRTCRoomConnectedOptions {
9300 fn default() -> Self {
9301 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9302 unsafe {
9303 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9304 s.assume_init()
9305 }
9306 }
9307}
9308#[doc = " Input parameters for the EOS_Lobby_IsRTCRoomConnected function."]
9309pub type EOS_Lobby_IsRTCRoomConnectedOptions = _tagEOS_Lobby_IsRTCRoomConnectedOptions;
9310#[doc = " Input parameters for the EOS_Lobby_AddNotifyRTCRoomConnectionChanged function."]
9311#[repr(C)]
9312#[derive(Debug, Copy, Clone)]
9313pub struct _tagEOS_Lobby_AddNotifyRTCRoomConnectionChangedOptions {
9314 #[doc = " API Version: Set this to EOS_LOBBY_ADDNOTIFYRTCROOMCONNECTIONCHANGED_API_LATEST."]
9315 pub ApiVersion: i32,
9316 #[doc = " The ID of the lobby to receive RTC Room connection change notifications for\n This is deprecated and no longer needed. The notification is raised for any LobbyId or LocalUserId. If any filtering is required, the callback struct (EOS_Lobby_RTCRoomConnectionChangedCallbackInfo) has both a LobbyId and LocalUserId field."]
9317 pub LobbyId_DEPRECATED: EOS_LobbyId,
9318 #[doc = " The Product User ID of the local user in the lobby\n This is deprecated and no longer needed. The notification is raised for any LobbyId or LocalUserId. If any filtering is required, the callback struct (EOS_Lobby_RTCRoomConnectionChangedCallbackInfo) has both a LobbyId and LocalUserId field."]
9319 pub LocalUserId_DEPRECATED: EOS_ProductUserId,
9320}
9321impl Default for _tagEOS_Lobby_AddNotifyRTCRoomConnectionChangedOptions {
9322 fn default() -> Self {
9323 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9324 unsafe {
9325 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9326 s.assume_init()
9327 }
9328 }
9329}
9330#[doc = " Input parameters for the EOS_Lobby_AddNotifyRTCRoomConnectionChanged function."]
9331pub type EOS_Lobby_AddNotifyRTCRoomConnectionChangedOptions =
9332 _tagEOS_Lobby_AddNotifyRTCRoomConnectionChangedOptions;
9333#[doc = " Output parameters for the EOS_Lobby_AddNotifyRTCRoomConnectionChanged function."]
9334#[repr(C)]
9335#[derive(Debug, Copy, Clone)]
9336pub struct _tagEOS_Lobby_RTCRoomConnectionChangedCallbackInfo {
9337 #[doc = " Context that was passed into EOS_Lobby_AddNotifyRTCRoomConnectionChanged"]
9338 pub ClientData: *mut ::std::os::raw::c_void,
9339 #[doc = " The ID of the lobby which had a RTC Room connection state change"]
9340 pub LobbyId: EOS_LobbyId,
9341 #[doc = " The Product User ID of the local user who is in the lobby and registered for notifications"]
9342 pub LocalUserId: EOS_ProductUserId,
9343 #[doc = " The new connection state of the room"]
9344 pub bIsConnected: EOS_Bool,
9345 #[doc = "If bIsConnected is EOS_FALSE, this result will be the reason we were disconnected.\n EOS_Success: The room was left locally. This may be because: the associated lobby was Left or Destroyed, the connection to the lobby was interrupted, or because the SDK is being shutdown. If the lobby connection returns (lobby did not permanently go away), we will reconnect.\n EOS_NoConnection: There was a network issue connecting to the server. We will attempt to reconnect soon.\n EOS_RTC_UserKicked: The user has been kicked by the server. We will not reconnect.\n EOS_RTC_UserBanned: The user has been banned by the server. We will not reconnect.\n EOS_ServiceFailure: A known error occurred during interaction with the server. We will attempt to reconnect soon.\n EOS_UnexpectedError: Unexpected error. We will attempt to reconnect soon."]
9346 pub DisconnectReason: EOS_EResult,
9347}
9348impl Default for _tagEOS_Lobby_RTCRoomConnectionChangedCallbackInfo {
9349 fn default() -> Self {
9350 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9351 unsafe {
9352 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9353 s.assume_init()
9354 }
9355 }
9356}
9357#[doc = " Output parameters for the EOS_Lobby_AddNotifyRTCRoomConnectionChanged function."]
9358pub type EOS_Lobby_RTCRoomConnectionChangedCallbackInfo =
9359 _tagEOS_Lobby_RTCRoomConnectionChangedCallbackInfo;
9360#[doc = " Function prototype definition for notifications that comes from EOS_Lobby_AddNotifyRTCRoomConnectionChanged\n\n @param Data containing the connection state of the RTC Room for a lobby\n\n @see EOS_Lobby_IsRTCRoomConnected"]
9361pub type EOS_Lobby_OnRTCRoomConnectionChangedCallback = ::std::option::Option<
9362 unsafe extern "C" fn(Data: *const EOS_Lobby_RTCRoomConnectionChangedCallbackInfo),
9363>;
9364#[doc = " Contains information about lobby and lobby member data"]
9365#[repr(C)]
9366#[derive(Copy, Clone)]
9367pub struct _tagEOS_Lobby_AttributeData {
9368 #[doc = " API Version: Set this to EOS_LOBBY_ATTRIBUTEDATA_API_LATEST."]
9369 pub ApiVersion: i32,
9370 #[doc = " Name of the lobby attribute"]
9371 pub Key: *const ::std::os::raw::c_char,
9372 #[doc = " Value of the lobby attribute"]
9373 pub Value: _tagEOS_Lobby_AttributeData__bindgen_ty_1,
9374 #[doc = " Type of value stored in the union"]
9375 pub ValueType: EOS_ELobbyAttributeType,
9376}
9377#[doc = " Value of the lobby attribute"]
9378#[repr(C)]
9379#[derive(Copy, Clone)]
9380pub union _tagEOS_Lobby_AttributeData__bindgen_ty_1 {
9381 #[doc = " Stored as an 8 byte integer"]
9382 pub AsInt64: i64,
9383 #[doc = " Stored as a double precision floating point"]
9384 pub AsDouble: f64,
9385 #[doc = " Stored as a boolean"]
9386 pub AsBool: EOS_Bool,
9387 #[doc = " Stored as a null terminated UTF8 string. Should not be nullptr"]
9388 pub AsUtf8: *const ::std::os::raw::c_char,
9389}
9390impl Default for _tagEOS_Lobby_AttributeData__bindgen_ty_1 {
9391 fn default() -> Self {
9392 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9393 unsafe {
9394 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9395 s.assume_init()
9396 }
9397 }
9398}
9399impl Default for _tagEOS_Lobby_AttributeData {
9400 fn default() -> Self {
9401 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9402 unsafe {
9403 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9404 s.assume_init()
9405 }
9406 }
9407}
9408#[doc = " Contains information about lobby and lobby member data"]
9409pub type EOS_Lobby_AttributeData = _tagEOS_Lobby_AttributeData;
9410#[doc = " An attribute and its visibility setting stored with a lobby.\n Used to store both lobby and lobby member data"]
9411#[repr(C)]
9412#[derive(Debug, Copy, Clone)]
9413pub struct _tagEOS_Lobby_Attribute {
9414 #[doc = " API Version: Set this to EOS_LOBBY_ATTRIBUTE_API_LATEST."]
9415 pub ApiVersion: i32,
9416 #[doc = " Key/Value pair describing the attribute"]
9417 pub Data: *mut EOS_Lobby_AttributeData,
9418 #[doc = " Is this attribute public or private to the lobby and its members"]
9419 pub Visibility: EOS_ELobbyAttributeVisibility,
9420}
9421impl Default for _tagEOS_Lobby_Attribute {
9422 fn default() -> Self {
9423 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9424 unsafe {
9425 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9426 s.assume_init()
9427 }
9428 }
9429}
9430#[doc = " An attribute and its visibility setting stored with a lobby.\n Used to store both lobby and lobby member data"]
9431pub type EOS_Lobby_Attribute = _tagEOS_Lobby_Attribute;
9432unsafe extern "C" {
9433 #[doc = " Release the memory associated with a lobby attribute. This must be called on data retrieved from the various Copy functions in the\n LobbyDetails interface which return an EOS_Lobby_Attribute.\n\n @param LobbyAttribute - The lobby attribute to release\n\n @see EOS_LobbyDetails_CopyAttributeByIndex\n @see EOS_LobbyDetails_CopyAttributeByKey\n @see EOS_LobbyDetails_CopyMemberAttributeByIndex\n @see EOS_LobbyDetails_CopyMemberAttributeByKey"]
9434 pub fn EOS_Lobby_Attribute_Release(LobbyAttribute: *mut EOS_Lobby_Attribute);
9435}
9436#[doc = " Input parameters for the EOS_Lobby_GetConnectString function."]
9437#[repr(C)]
9438#[derive(Debug, Copy, Clone)]
9439pub struct _tagEOS_Lobby_GetConnectStringOptions {
9440 #[doc = " API Version: Set this to EOS_LOBBY_GETCONNECTSTRING_API_LATEST."]
9441 pub ApiVersion: i32,
9442 #[doc = " The Product User ID of the local user requesting the connection string generated from the lobby; this user must currently own the lobby"]
9443 pub LocalUserId: EOS_ProductUserId,
9444 #[doc = " The ID of the lobby to generate a connection string for"]
9445 pub LobbyId: EOS_LobbyId,
9446}
9447impl Default for _tagEOS_Lobby_GetConnectStringOptions {
9448 fn default() -> Self {
9449 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9450 unsafe {
9451 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9452 s.assume_init()
9453 }
9454 }
9455}
9456#[doc = " Input parameters for the EOS_Lobby_GetConnectString function."]
9457pub type EOS_Lobby_GetConnectStringOptions = _tagEOS_Lobby_GetConnectStringOptions;
9458#[doc = " Input parameters for the EOS_Lobby_GetConnectString function."]
9459#[repr(C)]
9460#[derive(Debug, Copy, Clone)]
9461pub struct _tagEOS_Lobby_ParseConnectStringOptions {
9462 #[doc = " API Version: Set this to EOS_LOBBY_PARSECONNECTSTRING_API_LATEST."]
9463 pub ApiVersion: i32,
9464 #[doc = " The connection string to parse"]
9465 pub ConnectString: *const ::std::os::raw::c_char,
9466}
9467impl Default for _tagEOS_Lobby_ParseConnectStringOptions {
9468 fn default() -> Self {
9469 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9470 unsafe {
9471 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9472 s.assume_init()
9473 }
9474 }
9475}
9476#[doc = " Input parameters for the EOS_Lobby_GetConnectString function."]
9477pub type EOS_Lobby_ParseConnectStringOptions = _tagEOS_Lobby_ParseConnectStringOptions;
9478#[doc = " Input parameters for the EOS_LobbyModification_SetBucketId function."]
9479#[repr(C)]
9480#[derive(Debug, Copy, Clone)]
9481pub struct _tagEOS_LobbyModification_SetBucketIdOptions {
9482 #[doc = " API Version: Set this to EOS_LOBBYMODIFICATION_SETBUCKETID_API_LATEST."]
9483 pub ApiVersion: i32,
9484 #[doc = " The new bucket id associated with the lobby"]
9485 pub BucketId: *const ::std::os::raw::c_char,
9486}
9487impl Default for _tagEOS_LobbyModification_SetBucketIdOptions {
9488 fn default() -> Self {
9489 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9490 unsafe {
9491 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9492 s.assume_init()
9493 }
9494 }
9495}
9496#[doc = " Input parameters for the EOS_LobbyModification_SetBucketId function."]
9497pub type EOS_LobbyModification_SetBucketIdOptions = _tagEOS_LobbyModification_SetBucketIdOptions;
9498#[doc = " Input parameters for the EOS_LobbyModification_SetPermissionLevel function."]
9499#[repr(C)]
9500#[derive(Debug, Copy, Clone)]
9501pub struct _tagEOS_LobbyModification_SetPermissionLevelOptions {
9502 #[doc = " API Version: Set this to EOS_LOBBYMODIFICATION_SETPERMISSIONLEVEL_API_LATEST."]
9503 pub ApiVersion: i32,
9504 #[doc = " Permission level of the lobby"]
9505 pub PermissionLevel: EOS_ELobbyPermissionLevel,
9506}
9507impl Default for _tagEOS_LobbyModification_SetPermissionLevelOptions {
9508 fn default() -> Self {
9509 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9510 unsafe {
9511 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9512 s.assume_init()
9513 }
9514 }
9515}
9516#[doc = " Input parameters for the EOS_LobbyModification_SetPermissionLevel function."]
9517pub type EOS_LobbyModification_SetPermissionLevelOptions =
9518 _tagEOS_LobbyModification_SetPermissionLevelOptions;
9519#[doc = " Input parameters for the EOS_LobbyModification_SetMaxMembers function."]
9520#[repr(C)]
9521#[derive(Debug, Default, Copy, Clone)]
9522pub struct _tagEOS_LobbyModification_SetMaxMembersOptions {
9523 #[doc = " API Version: Set this to EOS_LOBBYMODIFICATION_SETMAXMEMBERS_API_LATEST."]
9524 pub ApiVersion: i32,
9525 #[doc = " New maximum number of lobby members"]
9526 pub MaxMembers: u32,
9527}
9528#[doc = " Input parameters for the EOS_LobbyModification_SetMaxMembers function."]
9529pub type EOS_LobbyModification_SetMaxMembersOptions =
9530 _tagEOS_LobbyModification_SetMaxMembersOptions;
9531#[doc = " Input parameters for the EOS_LobbyModification_SetInvitesAllowed Function."]
9532#[repr(C)]
9533#[derive(Debug, Default, Copy, Clone)]
9534pub struct _tagEOS_LobbyModification_SetInvitesAllowedOptions {
9535 #[doc = " API Version: Set this to EOS_LOBBYMODIFICATION_SETINVITESALLOWED_API_LATEST."]
9536 pub ApiVersion: i32,
9537 #[doc = " If true then invites can currently be sent for the associated lobby"]
9538 pub bInvitesAllowed: EOS_Bool,
9539}
9540#[doc = " Input parameters for the EOS_LobbyModification_SetInvitesAllowed Function."]
9541pub type EOS_LobbyModification_SetInvitesAllowedOptions =
9542 _tagEOS_LobbyModification_SetInvitesAllowedOptions;
9543#[doc = " Input parameters for the EOS_LobbyModification_AddAttribute function."]
9544#[repr(C)]
9545#[derive(Debug, Copy, Clone)]
9546pub struct _tagEOS_LobbyModification_AddAttributeOptions {
9547 #[doc = " API Version: Set this to EOS_LOBBYMODIFICATION_ADDATTRIBUTE_API_LATEST."]
9548 pub ApiVersion: i32,
9549 #[doc = " Key/Value pair describing the attribute to add to the lobby"]
9550 pub Attribute: *const EOS_Lobby_AttributeData,
9551 #[doc = " Is this attribute public or private to the lobby and its members"]
9552 pub Visibility: EOS_ELobbyAttributeVisibility,
9553}
9554impl Default for _tagEOS_LobbyModification_AddAttributeOptions {
9555 fn default() -> Self {
9556 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9557 unsafe {
9558 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9559 s.assume_init()
9560 }
9561 }
9562}
9563#[doc = " Input parameters for the EOS_LobbyModification_AddAttribute function."]
9564pub type EOS_LobbyModification_AddAttributeOptions = _tagEOS_LobbyModification_AddAttributeOptions;
9565#[doc = " Input parameters for the EOS_LobbyModification_RemoveAttribute function."]
9566#[repr(C)]
9567#[derive(Debug, Copy, Clone)]
9568pub struct _tagEOS_LobbyModification_RemoveAttributeOptions {
9569 #[doc = " API Version: Set this to EOS_LOBBYMODIFICATION_REMOVEATTRIBUTE_API_LATEST."]
9570 pub ApiVersion: i32,
9571 #[doc = " Name of the key"]
9572 pub Key: *const ::std::os::raw::c_char,
9573}
9574impl Default for _tagEOS_LobbyModification_RemoveAttributeOptions {
9575 fn default() -> Self {
9576 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9577 unsafe {
9578 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9579 s.assume_init()
9580 }
9581 }
9582}
9583#[doc = " Input parameters for the EOS_LobbyModification_RemoveAttribute function."]
9584pub type EOS_LobbyModification_RemoveAttributeOptions =
9585 _tagEOS_LobbyModification_RemoveAttributeOptions;
9586#[doc = " Input parameters for the EOS_LobbyModification_AddMemberAttribute function."]
9587#[repr(C)]
9588#[derive(Debug, Copy, Clone)]
9589pub struct _tagEOS_LobbyModification_AddMemberAttributeOptions {
9590 #[doc = " API Version: Set this to EOS_LOBBYMODIFICATION_ADDMEMBERATTRIBUTE_API_LATEST."]
9591 pub ApiVersion: i32,
9592 #[doc = " Key/Value pair describing the attribute to add to the lobby member"]
9593 pub Attribute: *const EOS_Lobby_AttributeData,
9594 #[doc = " Is this attribute public or private to the rest of the lobby members"]
9595 pub Visibility: EOS_ELobbyAttributeVisibility,
9596}
9597impl Default for _tagEOS_LobbyModification_AddMemberAttributeOptions {
9598 fn default() -> Self {
9599 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9600 unsafe {
9601 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9602 s.assume_init()
9603 }
9604 }
9605}
9606#[doc = " Input parameters for the EOS_LobbyModification_AddMemberAttribute function."]
9607pub type EOS_LobbyModification_AddMemberAttributeOptions =
9608 _tagEOS_LobbyModification_AddMemberAttributeOptions;
9609#[doc = " Input parameters for the EOS_LobbyModification_RemoveMemberAttribute function."]
9610#[repr(C)]
9611#[derive(Debug, Copy, Clone)]
9612pub struct _tagEOS_LobbyModification_RemoveMemberAttributeOptions {
9613 #[doc = " API Version: Set this to EOS_LOBBYMODIFICATION_REMOVEMEMBERATTRIBUTE_API_LATEST."]
9614 pub ApiVersion: i32,
9615 #[doc = " Name of the key"]
9616 pub Key: *const ::std::os::raw::c_char,
9617}
9618impl Default for _tagEOS_LobbyModification_RemoveMemberAttributeOptions {
9619 fn default() -> Self {
9620 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9621 unsafe {
9622 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9623 s.assume_init()
9624 }
9625 }
9626}
9627#[doc = " Input parameters for the EOS_LobbyModification_RemoveMemberAttribute function."]
9628pub type EOS_LobbyModification_RemoveMemberAttributeOptions =
9629 _tagEOS_LobbyModification_RemoveMemberAttributeOptions;
9630#[doc = " Input parameters for the EOS_LobbyModification_SetAllowedPlatformIdsOptions function."]
9631#[repr(C)]
9632#[derive(Debug, Copy, Clone)]
9633pub struct _tagEOS_LobbyModification_SetAllowedPlatformIdsOptions {
9634 #[doc = " API Version: Set this to EOS_LOBBYMODIFICATION_SETALLOWEDPLATFORMIDS_API_LATEST."]
9635 pub ApiVersion: i32,
9636 #[doc = " Array of platform IDs indicating the player platforms allowed to register with the lobby. Platform IDs are\n found in the EOS header file (eos_common.h), for example EOS_OPT_Epic. For some platforms the value will be\n in the EOS Platform specific header file. If null, the lobby will be unrestricted."]
9637 pub AllowedPlatformIds: *const u32,
9638 #[doc = " Number of platform IDs in the array"]
9639 pub AllowedPlatformIdsCount: u32,
9640}
9641impl Default for _tagEOS_LobbyModification_SetAllowedPlatformIdsOptions {
9642 fn default() -> Self {
9643 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9644 unsafe {
9645 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9646 s.assume_init()
9647 }
9648 }
9649}
9650#[doc = " Input parameters for the EOS_LobbyModification_SetAllowedPlatformIdsOptions function."]
9651pub type EOS_LobbyModification_SetAllowedPlatformIdsOptions =
9652 _tagEOS_LobbyModification_SetAllowedPlatformIdsOptions;
9653#[doc = " Input parameters for the EOS_LobbyDetails_GetLobbyOwner function."]
9654#[repr(C)]
9655#[derive(Debug, Default, Copy, Clone)]
9656pub struct _tagEOS_LobbyDetails_GetLobbyOwnerOptions {
9657 #[doc = " API Version: Set this to EOS_LOBBYDETAILS_GETLOBBYOWNER_API_LATEST."]
9658 pub ApiVersion: i32,
9659}
9660#[doc = " Input parameters for the EOS_LobbyDetails_GetLobbyOwner function."]
9661pub type EOS_LobbyDetails_GetLobbyOwnerOptions = _tagEOS_LobbyDetails_GetLobbyOwnerOptions;
9662#[doc = " Input parameters for the EOS_LobbyDetails_CopyInfo function."]
9663#[repr(C)]
9664#[derive(Debug, Default, Copy, Clone)]
9665pub struct _tagEOS_LobbyDetails_CopyInfoOptions {
9666 #[doc = " API Version: Set this to EOS_LOBBYDETAILS_COPYINFO_API_LATEST."]
9667 pub ApiVersion: i32,
9668}
9669#[doc = " Input parameters for the EOS_LobbyDetails_CopyInfo function."]
9670pub type EOS_LobbyDetails_CopyInfoOptions = _tagEOS_LobbyDetails_CopyInfoOptions;
9671#[doc = " Input parameters for the EOS_LobbyDetails_GetAttributeCount function."]
9672#[repr(C)]
9673#[derive(Debug, Default, Copy, Clone)]
9674pub struct _tagEOS_LobbyDetails_GetAttributeCountOptions {
9675 #[doc = " API Version: Set this to EOS_LOBBYDETAILS_GETATTRIBUTECOUNT_API_LATEST."]
9676 pub ApiVersion: i32,
9677}
9678#[doc = " Input parameters for the EOS_LobbyDetails_GetAttributeCount function."]
9679pub type EOS_LobbyDetails_GetAttributeCountOptions = _tagEOS_LobbyDetails_GetAttributeCountOptions;
9680#[doc = " Input parameters for the EOS_LobbyDetails_CopyAttributeByIndex function."]
9681#[repr(C)]
9682#[derive(Debug, Default, Copy, Clone)]
9683pub struct _tagEOS_LobbyDetails_CopyAttributeByIndexOptions {
9684 #[doc = " API Version: Set this to EOS_LOBBYDETAILS_COPYATTRIBUTEBYINDEX_API_LATEST."]
9685 pub ApiVersion: i32,
9686 #[doc = " The index of the attribute to retrieve\n @see EOS_LobbyDetails_GetAttributeCount"]
9687 pub AttrIndex: u32,
9688}
9689#[doc = " Input parameters for the EOS_LobbyDetails_CopyAttributeByIndex function."]
9690pub type EOS_LobbyDetails_CopyAttributeByIndexOptions =
9691 _tagEOS_LobbyDetails_CopyAttributeByIndexOptions;
9692#[doc = " Input parameters for the EOS_LobbyDetails_CopyAttributeByKey function."]
9693#[repr(C)]
9694#[derive(Debug, Copy, Clone)]
9695pub struct _tagEOS_LobbyDetails_CopyAttributeByKeyOptions {
9696 #[doc = " API Version: Set this to EOS_LOBBYDETAILS_COPYATTRIBUTEBYKEY_API_LATEST."]
9697 pub ApiVersion: i32,
9698 #[doc = " Name of the attribute"]
9699 pub AttrKey: *const ::std::os::raw::c_char,
9700}
9701impl Default for _tagEOS_LobbyDetails_CopyAttributeByKeyOptions {
9702 fn default() -> Self {
9703 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9704 unsafe {
9705 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9706 s.assume_init()
9707 }
9708 }
9709}
9710#[doc = " Input parameters for the EOS_LobbyDetails_CopyAttributeByKey function."]
9711pub type EOS_LobbyDetails_CopyAttributeByKeyOptions =
9712 _tagEOS_LobbyDetails_CopyAttributeByKeyOptions;
9713#[doc = " Input parameters for the EOS_LobbyDetails_GetMemberAttributeCount function."]
9714#[repr(C)]
9715#[derive(Debug, Copy, Clone)]
9716pub struct _tagEOS_LobbyDetails_GetMemberAttributeCountOptions {
9717 #[doc = " API Version: Set this to EOS_LOBBYDETAILS_GETMEMBERATTRIBUTECOUNT_API_LATEST."]
9718 pub ApiVersion: i32,
9719 #[doc = " The Product User ID of the lobby member"]
9720 pub TargetUserId: EOS_ProductUserId,
9721}
9722impl Default for _tagEOS_LobbyDetails_GetMemberAttributeCountOptions {
9723 fn default() -> Self {
9724 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9725 unsafe {
9726 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9727 s.assume_init()
9728 }
9729 }
9730}
9731#[doc = " Input parameters for the EOS_LobbyDetails_GetMemberAttributeCount function."]
9732pub type EOS_LobbyDetails_GetMemberAttributeCountOptions =
9733 _tagEOS_LobbyDetails_GetMemberAttributeCountOptions;
9734#[doc = " Input parameters for the EOS_LobbyDetails_CopyMemberAttributeByIndex function."]
9735#[repr(C)]
9736#[derive(Debug, Copy, Clone)]
9737pub struct _tagEOS_LobbyDetails_CopyMemberAttributeByIndexOptions {
9738 #[doc = " API Version: Set this to EOS_LOBBYDETAILS_COPYMEMBERATTRIBUTEBYINDEX_API_LATEST."]
9739 pub ApiVersion: i32,
9740 #[doc = " The Product User ID of the lobby member"]
9741 pub TargetUserId: EOS_ProductUserId,
9742 #[doc = " The index of the attribute to copy"]
9743 pub AttrIndex: u32,
9744}
9745impl Default for _tagEOS_LobbyDetails_CopyMemberAttributeByIndexOptions {
9746 fn default() -> Self {
9747 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9748 unsafe {
9749 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9750 s.assume_init()
9751 }
9752 }
9753}
9754#[doc = " Input parameters for the EOS_LobbyDetails_CopyMemberAttributeByIndex function."]
9755pub type EOS_LobbyDetails_CopyMemberAttributeByIndexOptions =
9756 _tagEOS_LobbyDetails_CopyMemberAttributeByIndexOptions;
9757#[doc = " Input parameters for the EOS_LobbyDetails_CopyMemberAttributeByKey function."]
9758#[repr(C)]
9759#[derive(Debug, Copy, Clone)]
9760pub struct _tagEOS_LobbyDetails_CopyMemberAttributeByKeyOptions {
9761 #[doc = " API Version: Set this to EOS_LOBBYDETAILS_COPYMEMBERATTRIBUTEBYKEY_API_LATEST."]
9762 pub ApiVersion: i32,
9763 #[doc = " The Product User ID of the lobby member"]
9764 pub TargetUserId: EOS_ProductUserId,
9765 #[doc = " Name of the attribute to copy"]
9766 pub AttrKey: *const ::std::os::raw::c_char,
9767}
9768impl Default for _tagEOS_LobbyDetails_CopyMemberAttributeByKeyOptions {
9769 fn default() -> Self {
9770 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9771 unsafe {
9772 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9773 s.assume_init()
9774 }
9775 }
9776}
9777#[doc = " Input parameters for the EOS_LobbyDetails_CopyMemberAttributeByKey function."]
9778pub type EOS_LobbyDetails_CopyMemberAttributeByKeyOptions =
9779 _tagEOS_LobbyDetails_CopyMemberAttributeByKeyOptions;
9780#[doc = " Input parameters for the EOS_LobbyDetails_GetMemberCount function."]
9781#[repr(C)]
9782#[derive(Debug, Default, Copy, Clone)]
9783pub struct _tagEOS_LobbyDetails_GetMemberCountOptions {
9784 #[doc = " API Version: Set this to EOS_LOBBYDETAILS_GETMEMBERCOUNT_API_LATEST."]
9785 pub ApiVersion: i32,
9786}
9787#[doc = " Input parameters for the EOS_LobbyDetails_GetMemberCount function."]
9788pub type EOS_LobbyDetails_GetMemberCountOptions = _tagEOS_LobbyDetails_GetMemberCountOptions;
9789#[doc = " Input parameters for the EOS_LobbyDetails_GetMemberByIndex function."]
9790#[repr(C)]
9791#[derive(Debug, Default, Copy, Clone)]
9792pub struct _tagEOS_LobbyDetails_GetMemberByIndexOptions {
9793 #[doc = " API Version: Set this to EOS_LOBBYDETAILS_GETMEMBERBYINDEX_API_LATEST."]
9794 pub ApiVersion: i32,
9795 #[doc = " Index of the member to retrieve"]
9796 pub MemberIndex: u32,
9797}
9798#[doc = " Input parameters for the EOS_LobbyDetails_GetMemberByIndex function."]
9799pub type EOS_LobbyDetails_GetMemberByIndexOptions = _tagEOS_LobbyDetails_GetMemberByIndexOptions;
9800#[doc = " Input parameters for the EOS_LobbySearch_Find function."]
9801#[repr(C)]
9802#[derive(Debug, Copy, Clone)]
9803pub struct _tagEOS_LobbySearch_FindOptions {
9804 #[doc = " API Version: Set this to EOS_LOBBYSEARCH_FIND_API_LATEST."]
9805 pub ApiVersion: i32,
9806 #[doc = " The Product User ID of the user making the search request"]
9807 pub LocalUserId: EOS_ProductUserId,
9808}
9809impl Default for _tagEOS_LobbySearch_FindOptions {
9810 fn default() -> Self {
9811 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9812 unsafe {
9813 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9814 s.assume_init()
9815 }
9816 }
9817}
9818#[doc = " Input parameters for the EOS_LobbySearch_Find function."]
9819pub type EOS_LobbySearch_FindOptions = _tagEOS_LobbySearch_FindOptions;
9820#[doc = " Output parameters for the EOS_LobbySearch_Find function."]
9821#[repr(C)]
9822#[derive(Debug, Copy, Clone)]
9823pub struct _tagEOS_LobbySearch_FindCallbackInfo {
9824 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
9825 pub ResultCode: EOS_EResult,
9826 #[doc = " Context that was passed into EOS_LobbySearch_Find"]
9827 pub ClientData: *mut ::std::os::raw::c_void,
9828}
9829impl Default for _tagEOS_LobbySearch_FindCallbackInfo {
9830 fn default() -> Self {
9831 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9832 unsafe {
9833 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9834 s.assume_init()
9835 }
9836 }
9837}
9838#[doc = " Output parameters for the EOS_LobbySearch_Find function."]
9839pub type EOS_LobbySearch_FindCallbackInfo = _tagEOS_LobbySearch_FindCallbackInfo;
9840#[doc = " Function prototype definition for callbacks passed to EOS_LobbySearch_Find\n @param Data A EOS_LobbySearch_Find CallbackInfo containing the output information and result"]
9841pub type EOS_LobbySearch_OnFindCallback =
9842 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_LobbySearch_FindCallbackInfo)>;
9843#[doc = " Input parameters for the EOS_LobbySearch_SetLobbyId function."]
9844#[repr(C)]
9845#[derive(Debug, Copy, Clone)]
9846pub struct _tagEOS_LobbySearch_SetLobbyIdOptions {
9847 #[doc = " API Version: Set this to EOS_LOBBYSEARCH_SETLOBBYID_API_LATEST."]
9848 pub ApiVersion: i32,
9849 #[doc = " The ID of the lobby to find"]
9850 pub LobbyId: EOS_LobbyId,
9851}
9852impl Default for _tagEOS_LobbySearch_SetLobbyIdOptions {
9853 fn default() -> Self {
9854 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9855 unsafe {
9856 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9857 s.assume_init()
9858 }
9859 }
9860}
9861#[doc = " Input parameters for the EOS_LobbySearch_SetLobbyId function."]
9862pub type EOS_LobbySearch_SetLobbyIdOptions = _tagEOS_LobbySearch_SetLobbyIdOptions;
9863#[doc = " Input parameters for the EOS_LobbySearch_SetTargetUserId function."]
9864#[repr(C)]
9865#[derive(Debug, Copy, Clone)]
9866pub struct _tagEOS_LobbySearch_SetTargetUserIdOptions {
9867 #[doc = " API Version: Set this to EOS_LOBBYSEARCH_SETTARGETUSERID_API_LATEST."]
9868 pub ApiVersion: i32,
9869 #[doc = " Search lobbies for given user by Product User ID, returning any lobbies where this user is currently registered"]
9870 pub TargetUserId: EOS_ProductUserId,
9871}
9872impl Default for _tagEOS_LobbySearch_SetTargetUserIdOptions {
9873 fn default() -> Self {
9874 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9875 unsafe {
9876 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9877 s.assume_init()
9878 }
9879 }
9880}
9881#[doc = " Input parameters for the EOS_LobbySearch_SetTargetUserId function."]
9882pub type EOS_LobbySearch_SetTargetUserIdOptions = _tagEOS_LobbySearch_SetTargetUserIdOptions;
9883#[doc = " Input parameters for the EOS_LobbySearch_SetParameter function."]
9884#[repr(C)]
9885#[derive(Debug, Copy, Clone)]
9886pub struct _tagEOS_LobbySearch_SetParameterOptions {
9887 #[doc = " API Version: Set this to EOS_LOBBYSEARCH_SETPARAMETER_API_LATEST."]
9888 pub ApiVersion: i32,
9889 #[doc = " Search parameter describing a key and a value to compare"]
9890 pub Parameter: *const EOS_Lobby_AttributeData,
9891 #[doc = " The type of comparison to make against the search parameter"]
9892 pub ComparisonOp: EOS_EComparisonOp,
9893}
9894impl Default for _tagEOS_LobbySearch_SetParameterOptions {
9895 fn default() -> Self {
9896 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9897 unsafe {
9898 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9899 s.assume_init()
9900 }
9901 }
9902}
9903#[doc = " Input parameters for the EOS_LobbySearch_SetParameter function."]
9904pub type EOS_LobbySearch_SetParameterOptions = _tagEOS_LobbySearch_SetParameterOptions;
9905#[doc = " Input parameters for the EOS_LobbySearch_RemoveParameter function."]
9906#[repr(C)]
9907#[derive(Debug, Copy, Clone)]
9908pub struct _tagEOS_LobbySearch_RemoveParameterOptions {
9909 #[doc = " API Version: Set this to EOS_LOBBYSEARCH_REMOVEPARAMETER_API_LATEST."]
9910 pub ApiVersion: i32,
9911 #[doc = " Search parameter key to remove from the search"]
9912 pub Key: *const ::std::os::raw::c_char,
9913 #[doc = " Search comparison operation associated with the key to remove"]
9914 pub ComparisonOp: EOS_EComparisonOp,
9915}
9916impl Default for _tagEOS_LobbySearch_RemoveParameterOptions {
9917 fn default() -> Self {
9918 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9919 unsafe {
9920 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9921 s.assume_init()
9922 }
9923 }
9924}
9925#[doc = " Input parameters for the EOS_LobbySearch_RemoveParameter function."]
9926pub type EOS_LobbySearch_RemoveParameterOptions = _tagEOS_LobbySearch_RemoveParameterOptions;
9927#[doc = " Input parameters for the EOS_LobbySearch_SetMaxResults function."]
9928#[repr(C)]
9929#[derive(Debug, Default, Copy, Clone)]
9930pub struct _tagEOS_LobbySearch_SetMaxResultsOptions {
9931 #[doc = " API Version: Set this to EOS_LOBBYSEARCH_SETMAXRESULTS_API_LATEST."]
9932 pub ApiVersion: i32,
9933 #[doc = " Maximum number of search results to return from the query"]
9934 pub MaxResults: u32,
9935}
9936#[doc = " Input parameters for the EOS_LobbySearch_SetMaxResults function."]
9937pub type EOS_LobbySearch_SetMaxResultsOptions = _tagEOS_LobbySearch_SetMaxResultsOptions;
9938#[doc = " Input parameters for the EOS_LobbySearch_GetSearchResultCount function."]
9939#[repr(C)]
9940#[derive(Debug, Default, Copy, Clone)]
9941pub struct _tagEOS_LobbySearch_GetSearchResultCountOptions {
9942 #[doc = " API Version: Set this to EOS_LOBBYSEARCH_GETSEARCHRESULTCOUNT_API_LATEST."]
9943 pub ApiVersion: i32,
9944}
9945#[doc = " Input parameters for the EOS_LobbySearch_GetSearchResultCount function."]
9946pub type EOS_LobbySearch_GetSearchResultCountOptions =
9947 _tagEOS_LobbySearch_GetSearchResultCountOptions;
9948#[doc = " Input parameters for the EOS_LobbySearch_CopySearchResultByIndex function."]
9949#[repr(C)]
9950#[derive(Debug, Default, Copy, Clone)]
9951pub struct _tagEOS_LobbySearch_CopySearchResultByIndexOptions {
9952 #[doc = " API Version: Set this to EOS_LOBBYSEARCH_COPYSEARCHRESULTBYINDEX_API_LATEST."]
9953 pub ApiVersion: i32,
9954 #[doc = " The index of the lobby to retrieve within the completed search query\n @see EOS_LobbySearch_GetSearchResultCount"]
9955 pub LobbyIndex: u32,
9956}
9957#[doc = " Input parameters for the EOS_LobbySearch_CopySearchResultByIndex function."]
9958pub type EOS_LobbySearch_CopySearchResultByIndexOptions =
9959 _tagEOS_LobbySearch_CopySearchResultByIndexOptions;
9960#[doc = " Input parameters for the EOS_LobbyDetails_CopyMemberInfo function."]
9961#[repr(C)]
9962#[derive(Debug, Copy, Clone)]
9963pub struct _tagEOS_LobbyDetails_CopyMemberInfoOptions {
9964 #[doc = " API Version: Set this to EOS_LOBBYDETAILS_COPYMEMBERINFO_API_LATEST."]
9965 pub ApiVersion: i32,
9966 #[doc = " The Product User ID of the lobby member to copy."]
9967 pub TargetUserId: EOS_ProductUserId,
9968}
9969impl Default for _tagEOS_LobbyDetails_CopyMemberInfoOptions {
9970 fn default() -> Self {
9971 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9972 unsafe {
9973 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9974 s.assume_init()
9975 }
9976 }
9977}
9978#[doc = " Input parameters for the EOS_LobbyDetails_CopyMemberInfo function."]
9979pub type EOS_LobbyDetails_CopyMemberInfoOptions = _tagEOS_LobbyDetails_CopyMemberInfoOptions;
9980#[doc = " Contains information about a member of a lobby."]
9981#[repr(C)]
9982#[derive(Debug, Copy, Clone)]
9983pub struct _tagEOS_LobbyDetails_MemberInfo {
9984 #[doc = " API Version: Set this to EOS_LOBBYDETAILS_MEMBERINFO_API_LATEST."]
9985 pub ApiVersion: i32,
9986 #[doc = " The Product User ID of the lobby member."]
9987 pub UserId: EOS_ProductUserId,
9988 #[doc = " The platform of the lobby member."]
9989 pub Platform: EOS_OnlinePlatformType,
9990 #[doc = " Does this member allow crossplay"]
9991 pub bAllowsCrossplay: EOS_Bool,
9992}
9993impl Default for _tagEOS_LobbyDetails_MemberInfo {
9994 fn default() -> Self {
9995 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9996 unsafe {
9997 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9998 s.assume_init()
9999 }
10000 }
10001}
10002#[doc = " Contains information about a member of a lobby."]
10003pub type EOS_LobbyDetails_MemberInfo = _tagEOS_LobbyDetails_MemberInfo;
10004unsafe extern "C" {
10005 #[doc = " Release the memory associated with a member info. This must be called on data retrieved from EOS_LobbyDetails_CopyMemberInfo.\n\n @param LobbyDetailsMemberInfo - The lobby details member info to release\n\n @see EOS_LobbyDetails_CopyMemberInfo"]
10006 pub fn EOS_LobbyDetails_MemberInfo_Release(
10007 LobbyDetailsMemberInfo: *mut EOS_LobbyDetails_MemberInfo,
10008 );
10009}
10010#[doc = " Input parameters for the EOS_Lobby_AddNotifyLeaveLobbyRequested function."]
10011#[repr(C)]
10012#[derive(Debug, Default, Copy, Clone)]
10013pub struct _tagEOS_Lobby_AddNotifyLeaveLobbyRequestedOptions {
10014 #[doc = " API Version: Set this to EOS_LOBBY_ADDNOTIFYLEAVELOBBYREQUESTED_API_LATEST."]
10015 pub ApiVersion: i32,
10016}
10017#[doc = " Input parameters for the EOS_Lobby_AddNotifyLeaveLobbyRequested function."]
10018pub type EOS_Lobby_AddNotifyLeaveLobbyRequestedOptions =
10019 _tagEOS_Lobby_AddNotifyLeaveLobbyRequestedOptions;
10020#[doc = " Output parameters for the EOS_Lobby_OnLeaveLobbyRequestedCallback Function."]
10021#[repr(C)]
10022#[derive(Debug, Copy, Clone)]
10023pub struct _tagEOS_Lobby_LeaveLobbyRequestedCallbackInfo {
10024 #[doc = " Context that was passed into EOS_Lobby_OnLeaveLobbyRequestedCallback"]
10025 pub ClientData: *mut ::std::os::raw::c_void,
10026 #[doc = " The Product User ID of the local user who received the leave lobby notification."]
10027 pub LocalUserId: EOS_ProductUserId,
10028 #[doc = " Lobby ID associated with the leave lobby request."]
10029 pub LobbyId: EOS_LobbyId,
10030}
10031impl Default for _tagEOS_Lobby_LeaveLobbyRequestedCallbackInfo {
10032 fn default() -> Self {
10033 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10034 unsafe {
10035 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10036 s.assume_init()
10037 }
10038 }
10039}
10040#[doc = " Output parameters for the EOS_Lobby_OnLeaveLobbyRequestedCallback Function."]
10041pub type EOS_Lobby_LeaveLobbyRequestedCallbackInfo = _tagEOS_Lobby_LeaveLobbyRequestedCallbackInfo;
10042#[doc = " Function prototype definition for notifications that comes from EOS_Lobby_AddNotifyLeaveLobbyRequested.\n\n @param Data A pointer to EOS_Lobby_LeaveLobbyRequestedCallbackInfo containing the output information."]
10043pub type EOS_Lobby_OnLeaveLobbyRequestedCallback = ::std::option::Option<
10044 unsafe extern "C" fn(Data: *const EOS_Lobby_LeaveLobbyRequestedCallbackInfo),
10045>;
10046#[repr(C)]
10047#[derive(Debug, Copy, Clone)]
10048pub struct EOS_UserInfoHandle {
10049 _unused: [u8; 0],
10050}
10051pub type EOS_HUserInfo = *mut EOS_UserInfoHandle;
10052#[doc = " Input parameters for the EOS_UserInfo_QueryUserInfo function."]
10053#[repr(C)]
10054#[derive(Debug, Copy, Clone)]
10055pub struct _tagEOS_UserInfo_QueryUserInfoOptions {
10056 #[doc = " API Version: Set this to EOS_USERINFO_QUERYUSERINFO_API_LATEST."]
10057 pub ApiVersion: i32,
10058 #[doc = " The Epic Account ID of the local player requesting the information"]
10059 pub LocalUserId: EOS_EpicAccountId,
10060 #[doc = " The Epic Account ID of the player whose information is being retrieved"]
10061 pub TargetUserId: EOS_EpicAccountId,
10062}
10063impl Default for _tagEOS_UserInfo_QueryUserInfoOptions {
10064 fn default() -> Self {
10065 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10066 unsafe {
10067 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10068 s.assume_init()
10069 }
10070 }
10071}
10072#[doc = " Input parameters for the EOS_UserInfo_QueryUserInfo function."]
10073pub type EOS_UserInfo_QueryUserInfoOptions = _tagEOS_UserInfo_QueryUserInfoOptions;
10074#[doc = " Output parameters for the EOS_UserInfo_QueryUserInfo Function."]
10075#[repr(C)]
10076#[derive(Debug, Copy, Clone)]
10077pub struct _tagEOS_UserInfo_QueryUserInfoCallbackInfo {
10078 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
10079 pub ResultCode: EOS_EResult,
10080 #[doc = " Context that was passed into EOS_UserInfo_QueryUserInfo"]
10081 pub ClientData: *mut ::std::os::raw::c_void,
10082 #[doc = " The Epic Account ID of the local player requesting the information"]
10083 pub LocalUserId: EOS_EpicAccountId,
10084 #[doc = " The Epic Account ID of the player whose information is being retrieved"]
10085 pub TargetUserId: EOS_EpicAccountId,
10086}
10087impl Default for _tagEOS_UserInfo_QueryUserInfoCallbackInfo {
10088 fn default() -> Self {
10089 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10090 unsafe {
10091 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10092 s.assume_init()
10093 }
10094 }
10095}
10096#[doc = " Output parameters for the EOS_UserInfo_QueryUserInfo Function."]
10097pub type EOS_UserInfo_QueryUserInfoCallbackInfo = _tagEOS_UserInfo_QueryUserInfoCallbackInfo;
10098#[doc = " Function prototype definition for callbacks passed to EOS_UserInfo_QueryUserInfo\n @param Data A EOS_UserInfo_QueryUserInfoCallbackInfo containing the output information and result"]
10099pub type EOS_UserInfo_OnQueryUserInfoCallback = ::std::option::Option<
10100 unsafe extern "C" fn(Data: *const EOS_UserInfo_QueryUserInfoCallbackInfo),
10101>;
10102#[doc = " Input parameters for the EOS_UserInfo_QueryUserInfoByDisplayName function."]
10103#[repr(C)]
10104#[derive(Debug, Copy, Clone)]
10105pub struct _tagEOS_UserInfo_QueryUserInfoByDisplayNameOptions {
10106 #[doc = " API Version: Set this to EOS_USERINFO_QUERYUSERINFOBYDISPLAYNAME_API_LATEST."]
10107 pub ApiVersion: i32,
10108 #[doc = " The Epic Account ID of the local player requesting the information"]
10109 pub LocalUserId: EOS_EpicAccountId,
10110 #[doc = " Raw display name (un-sanitized) of the player being queried"]
10111 pub DisplayName: *const ::std::os::raw::c_char,
10112}
10113impl Default for _tagEOS_UserInfo_QueryUserInfoByDisplayNameOptions {
10114 fn default() -> Self {
10115 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10116 unsafe {
10117 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10118 s.assume_init()
10119 }
10120 }
10121}
10122#[doc = " Input parameters for the EOS_UserInfo_QueryUserInfoByDisplayName function."]
10123pub type EOS_UserInfo_QueryUserInfoByDisplayNameOptions =
10124 _tagEOS_UserInfo_QueryUserInfoByDisplayNameOptions;
10125#[doc = " Output parameters for the EOS_UserInfo_QueryUserInfoByDisplayName Function."]
10126#[repr(C)]
10127#[derive(Debug, Copy, Clone)]
10128pub struct _tagEOS_UserInfo_QueryUserInfoByDisplayNameCallbackInfo {
10129 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
10130 pub ResultCode: EOS_EResult,
10131 #[doc = " Context that was passed into EOS_UserInfo_QueryUserInfoByDisplayName"]
10132 pub ClientData: *mut ::std::os::raw::c_void,
10133 #[doc = " The Epic Account ID of the local player requesting the information"]
10134 pub LocalUserId: EOS_EpicAccountId,
10135 #[doc = " The Epic Account ID of the player whose information is being retrieved"]
10136 pub TargetUserId: EOS_EpicAccountId,
10137 #[doc = " Display name (un-sanitized) of the player being queried. This memory is only valid during the scope of the callback."]
10138 pub DisplayName: *const ::std::os::raw::c_char,
10139}
10140impl Default for _tagEOS_UserInfo_QueryUserInfoByDisplayNameCallbackInfo {
10141 fn default() -> Self {
10142 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10143 unsafe {
10144 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10145 s.assume_init()
10146 }
10147 }
10148}
10149#[doc = " Output parameters for the EOS_UserInfo_QueryUserInfoByDisplayName Function."]
10150pub type EOS_UserInfo_QueryUserInfoByDisplayNameCallbackInfo =
10151 _tagEOS_UserInfo_QueryUserInfoByDisplayNameCallbackInfo;
10152#[doc = " Function prototype definition for callbacks passed to EOS_UserInfo_QueryUserInfo\n @param Data A EOS_UserInfo_QueryUserInfoByDisplayNameCallbackInfo containing the output information and result"]
10153pub type EOS_UserInfo_OnQueryUserInfoByDisplayNameCallback = ::std::option::Option<
10154 unsafe extern "C" fn(Data: *const EOS_UserInfo_QueryUserInfoByDisplayNameCallbackInfo),
10155>;
10156#[doc = " Input parameters for the EOS_UserInfo_QueryUserInfoByExternalAccount function."]
10157#[repr(C)]
10158#[derive(Debug, Copy, Clone)]
10159pub struct _tagEOS_UserInfo_QueryUserInfoByExternalAccountOptions {
10160 #[doc = " API Version: Set this to EOS_USERINFO_QUERYUSERINFOBYEXTERNALACCOUNT_API_LATEST."]
10161 pub ApiVersion: i32,
10162 #[doc = " The Epic Account ID of the local player requesting the information"]
10163 pub LocalUserId: EOS_EpicAccountId,
10164 #[doc = " External account ID of the user whose information is being retrieved"]
10165 pub ExternalAccountId: *const ::std::os::raw::c_char,
10166 #[doc = " Account type of the external user info to query"]
10167 pub AccountType: EOS_EExternalAccountType,
10168}
10169impl Default for _tagEOS_UserInfo_QueryUserInfoByExternalAccountOptions {
10170 fn default() -> Self {
10171 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10172 unsafe {
10173 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10174 s.assume_init()
10175 }
10176 }
10177}
10178#[doc = " Input parameters for the EOS_UserInfo_QueryUserInfoByExternalAccount function."]
10179pub type EOS_UserInfo_QueryUserInfoByExternalAccountOptions =
10180 _tagEOS_UserInfo_QueryUserInfoByExternalAccountOptions;
10181#[doc = " Output parameters for the EOS_UserInfo_QueryUserInfoByExternalAccount Function."]
10182#[repr(C)]
10183#[derive(Debug, Copy, Clone)]
10184pub struct _tagEOS_UserInfo_QueryUserInfoByExternalAccountCallbackInfo {
10185 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
10186 pub ResultCode: EOS_EResult,
10187 #[doc = " Context that was passed into EOS_UserInfo_QueryUserInfoByExternalAccount"]
10188 pub ClientData: *mut ::std::os::raw::c_void,
10189 #[doc = " The Epic Account ID of the local player who requested the information"]
10190 pub LocalUserId: EOS_EpicAccountId,
10191 #[doc = " External account id of the user whose information has been retrieved"]
10192 pub ExternalAccountId: *const ::std::os::raw::c_char,
10193 #[doc = " Account type of the external account id"]
10194 pub AccountType: EOS_EExternalAccountType,
10195 #[doc = " Account ID of the player whose information has been retrieved"]
10196 pub TargetUserId: EOS_EpicAccountId,
10197}
10198impl Default for _tagEOS_UserInfo_QueryUserInfoByExternalAccountCallbackInfo {
10199 fn default() -> Self {
10200 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10201 unsafe {
10202 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10203 s.assume_init()
10204 }
10205 }
10206}
10207#[doc = " Output parameters for the EOS_UserInfo_QueryUserInfoByExternalAccount Function."]
10208pub type EOS_UserInfo_QueryUserInfoByExternalAccountCallbackInfo =
10209 _tagEOS_UserInfo_QueryUserInfoByExternalAccountCallbackInfo;
10210#[doc = " Function prototype definition for callbacks passed to EOS_UserInfo_QueryUserInfoByExternalAccount\n @param Data A EOS_UserInfo_QueryUserInfoByExternalAccountCallbackInfo containing the output information and result"]
10211pub type EOS_UserInfo_OnQueryUserInfoByExternalAccountCallback = ::std::option::Option<
10212 unsafe extern "C" fn(Data: *const EOS_UserInfo_QueryUserInfoByExternalAccountCallbackInfo),
10213>;
10214#[doc = " A structure that contains the user information. These structures are created by EOS_UserInfo_CopyUserInfo and must be passed to EOS_UserInfo_Release."]
10215#[repr(C)]
10216#[derive(Debug, Copy, Clone)]
10217pub struct _tagEOS_UserInfo {
10218 #[doc = " API Version: Set this to EOS_USERINFO_COPYUSERINFO_API_LATEST."]
10219 pub ApiVersion: i32,
10220 #[doc = " The Epic Account ID of the user"]
10221 pub UserId: EOS_EpicAccountId,
10222 #[doc = " The name of the owner's country. This may be null"]
10223 pub Country: *const ::std::os::raw::c_char,
10224 #[doc = " The display name (un-sanitized). This may be null"]
10225 pub DisplayName: *const ::std::os::raw::c_char,
10226 #[doc = " The ISO 639 language code for the user's preferred language. This may be null"]
10227 pub PreferredLanguage: *const ::std::os::raw::c_char,
10228 #[doc = " A nickname/alias for the target user assigned by the local user. This may be null"]
10229 pub Nickname: *const ::std::os::raw::c_char,
10230 #[doc = " The raw display name (sanitized). This may be null"]
10231 pub DisplayNameSanitized: *const ::std::os::raw::c_char,
10232}
10233impl Default for _tagEOS_UserInfo {
10234 fn default() -> Self {
10235 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10236 unsafe {
10237 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10238 s.assume_init()
10239 }
10240 }
10241}
10242#[doc = " A structure that contains the user information. These structures are created by EOS_UserInfo_CopyUserInfo and must be passed to EOS_UserInfo_Release."]
10243pub type EOS_UserInfo = _tagEOS_UserInfo;
10244#[doc = " Input parameters for the EOS_UserInfo_CopyUserInfo function."]
10245#[repr(C)]
10246#[derive(Debug, Copy, Clone)]
10247pub struct _tagEOS_UserInfo_CopyUserInfoOptions {
10248 #[doc = " API Version: Set this to EOS_USERINFO_COPYUSERINFO_API_LATEST."]
10249 pub ApiVersion: i32,
10250 #[doc = " The Epic Account ID of the local player requesting the information"]
10251 pub LocalUserId: EOS_EpicAccountId,
10252 #[doc = " The Epic Account ID of the player whose information is being retrieved"]
10253 pub TargetUserId: EOS_EpicAccountId,
10254}
10255impl Default for _tagEOS_UserInfo_CopyUserInfoOptions {
10256 fn default() -> Self {
10257 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10258 unsafe {
10259 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10260 s.assume_init()
10261 }
10262 }
10263}
10264#[doc = " Input parameters for the EOS_UserInfo_CopyUserInfo function."]
10265pub type EOS_UserInfo_CopyUserInfoOptions = _tagEOS_UserInfo_CopyUserInfoOptions;
10266unsafe extern "C" {
10267 #[doc = " @param UserInfo - The user info structure to release\n\n @see EOS_UserInfo\n @see EOS_UserInfo_CopyUserInfo"]
10268 pub fn EOS_UserInfo_Release(UserInfo: *mut EOS_UserInfo);
10269}
10270#[doc = " Contains information about a single external user info."]
10271#[repr(C)]
10272#[derive(Debug, Copy, Clone)]
10273pub struct _tagEOS_UserInfo_ExternalUserInfo {
10274 #[doc = " API Version: Set this to EOS_USERINFO_EXTERNALUSERINFO_API_LATEST."]
10275 pub ApiVersion: i32,
10276 #[doc = " The type of the external account"]
10277 pub AccountType: EOS_EExternalAccountType,
10278 #[doc = " The ID of the external account. Can be null"]
10279 pub AccountId: *const ::std::os::raw::c_char,
10280 #[doc = " The display name of the external account (un-sanitized). Can be null"]
10281 pub DisplayName: *const ::std::os::raw::c_char,
10282 #[doc = " The display name of the external account (sanitized). Can be null"]
10283 pub DisplayNameSanitized: *const ::std::os::raw::c_char,
10284}
10285impl Default for _tagEOS_UserInfo_ExternalUserInfo {
10286 fn default() -> Self {
10287 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10288 unsafe {
10289 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10290 s.assume_init()
10291 }
10292 }
10293}
10294#[doc = " Contains information about a single external user info."]
10295pub type EOS_UserInfo_ExternalUserInfo = _tagEOS_UserInfo_ExternalUserInfo;
10296#[doc = " Input parameters for the EOS_UserInfo_GetExternalUserInfoCount function."]
10297#[repr(C)]
10298#[derive(Debug, Copy, Clone)]
10299pub struct _tagEOS_UserInfo_GetExternalUserInfoCountOptions {
10300 #[doc = " API Version: Set this to EOS_USERINFO_GETEXTERNALUSERINFOCOUNT_API_LATEST."]
10301 pub ApiVersion: i32,
10302 #[doc = " The Epic Account ID of the local player requesting the information"]
10303 pub LocalUserId: EOS_EpicAccountId,
10304 #[doc = " The Epic Account ID of the player whose information is being retrieved"]
10305 pub TargetUserId: EOS_EpicAccountId,
10306}
10307impl Default for _tagEOS_UserInfo_GetExternalUserInfoCountOptions {
10308 fn default() -> Self {
10309 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10310 unsafe {
10311 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10312 s.assume_init()
10313 }
10314 }
10315}
10316#[doc = " Input parameters for the EOS_UserInfo_GetExternalUserInfoCount function."]
10317pub type EOS_UserInfo_GetExternalUserInfoCountOptions =
10318 _tagEOS_UserInfo_GetExternalUserInfoCountOptions;
10319#[doc = " Input parameters for the EOS_UserInfo_CopyExternalUserInfoByIndex function."]
10320#[repr(C)]
10321#[derive(Debug, Copy, Clone)]
10322pub struct _tagEOS_UserInfo_CopyExternalUserInfoByIndexOptions {
10323 #[doc = " API Version: Set this to EOS_USERINFO_COPYEXTERNALUSERINFOBYINDEX_API_LATEST."]
10324 pub ApiVersion: i32,
10325 #[doc = " The Epic Account ID of the local player requesting the information"]
10326 pub LocalUserId: EOS_EpicAccountId,
10327 #[doc = " The Epic Account ID of the player whose information is being retrieved"]
10328 pub TargetUserId: EOS_EpicAccountId,
10329 #[doc = " Index of the external user info to retrieve from the cache"]
10330 pub Index: u32,
10331}
10332impl Default for _tagEOS_UserInfo_CopyExternalUserInfoByIndexOptions {
10333 fn default() -> Self {
10334 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10335 unsafe {
10336 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10337 s.assume_init()
10338 }
10339 }
10340}
10341#[doc = " Input parameters for the EOS_UserInfo_CopyExternalUserInfoByIndex function."]
10342pub type EOS_UserInfo_CopyExternalUserInfoByIndexOptions =
10343 _tagEOS_UserInfo_CopyExternalUserInfoByIndexOptions;
10344#[doc = " Input parameters for the EOS_UserInfo_CopyExternalUserInfoByAccountType function."]
10345#[repr(C)]
10346#[derive(Debug, Copy, Clone)]
10347pub struct _tagEOS_UserInfo_CopyExternalUserInfoByAccountTypeOptions {
10348 #[doc = " API Version: Set this to EOS_USERINFO_COPYEXTERNALUSERINFOBYACCOUNTTYPE_API_LATEST."]
10349 pub ApiVersion: i32,
10350 #[doc = " The Epic Account ID of the local player requesting the information"]
10351 pub LocalUserId: EOS_EpicAccountId,
10352 #[doc = " The Epic Account ID of the player whose information is being retrieved"]
10353 pub TargetUserId: EOS_EpicAccountId,
10354 #[doc = " Account type of the external user info to retrieve from the cache"]
10355 pub AccountType: EOS_EExternalAccountType,
10356}
10357impl Default for _tagEOS_UserInfo_CopyExternalUserInfoByAccountTypeOptions {
10358 fn default() -> Self {
10359 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10360 unsafe {
10361 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10362 s.assume_init()
10363 }
10364 }
10365}
10366#[doc = " Input parameters for the EOS_UserInfo_CopyExternalUserInfoByAccountType function."]
10367pub type EOS_UserInfo_CopyExternalUserInfoByAccountTypeOptions =
10368 _tagEOS_UserInfo_CopyExternalUserInfoByAccountTypeOptions;
10369#[doc = " Input parameters for the EOS_UserInfo_CopyExternalUserInfoByAccountId function."]
10370#[repr(C)]
10371#[derive(Debug, Copy, Clone)]
10372pub struct _tagEOS_UserInfo_CopyExternalUserInfoByAccountIdOptions {
10373 #[doc = " API Version: Set this to EOS_USERINFO_COPYEXTERNALUSERINFOBYACCOUNTID_API_LATEST."]
10374 pub ApiVersion: i32,
10375 #[doc = " The Epic Account ID of the local player requesting the information"]
10376 pub LocalUserId: EOS_EpicAccountId,
10377 #[doc = " The Epic Account ID of the player whose information is being retrieved"]
10378 pub TargetUserId: EOS_EpicAccountId,
10379 #[doc = " The external account ID associated with the (external) user info to retrieve from the cache; cannot be null"]
10380 pub AccountId: *const ::std::os::raw::c_char,
10381}
10382impl Default for _tagEOS_UserInfo_CopyExternalUserInfoByAccountIdOptions {
10383 fn default() -> Self {
10384 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10385 unsafe {
10386 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10387 s.assume_init()
10388 }
10389 }
10390}
10391#[doc = " Input parameters for the EOS_UserInfo_CopyExternalUserInfoByAccountId function."]
10392pub type EOS_UserInfo_CopyExternalUserInfoByAccountIdOptions =
10393 _tagEOS_UserInfo_CopyExternalUserInfoByAccountIdOptions;
10394unsafe extern "C" {
10395 #[doc = " Release the memory associated with external user info. This must be called on data retrieved from\n EOS_UserInfo_CopyExternalUserInfoByIndexOptions.\n\n @param ExternalUserInfo The external user info to release.\n\n @see EOS_UserInfo_ExternalUserInfo\n @see EOS_UserInfo_CopyExternalUserInfoByIndex"]
10396 pub fn EOS_UserInfo_ExternalUserInfo_Release(
10397 ExternalUserInfo: *mut EOS_UserInfo_ExternalUserInfo,
10398 );
10399}
10400#[doc = " A structure that contains the user information. These structures are created by EOS_UserInfo_CopyBestDisplayName or EOS_UserInfo_CopyBestDisplayNameWithPlatform and must be passed to EOS_UserInfo_BestDisplayName_Release."]
10401#[repr(C)]
10402#[derive(Debug, Copy, Clone)]
10403pub struct _tagEOS_UserInfo_BestDisplayName {
10404 #[doc = " API Version: Set this to EOS_USERINFO_BESTDISPLAYNAME_API_LATEST."]
10405 pub ApiVersion: i32,
10406 #[doc = " The Epic Account ID of the user"]
10407 pub UserId: EOS_EpicAccountId,
10408 #[doc = " The display name (un-sanitized). This may be null"]
10409 pub DisplayName: *const ::std::os::raw::c_char,
10410 #[doc = " The raw display name (sanitized). This may be null"]
10411 pub DisplayNameSanitized: *const ::std::os::raw::c_char,
10412 #[doc = " A nickname/alias for the target user assigned by the local user. This may be null"]
10413 pub Nickname: *const ::std::os::raw::c_char,
10414 #[doc = " The platform type for the user which corresponds to the display name"]
10415 pub PlatformType: EOS_OnlinePlatformType,
10416}
10417impl Default for _tagEOS_UserInfo_BestDisplayName {
10418 fn default() -> Self {
10419 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10420 unsafe {
10421 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10422 s.assume_init()
10423 }
10424 }
10425}
10426#[doc = " A structure that contains the user information. These structures are created by EOS_UserInfo_CopyBestDisplayName or EOS_UserInfo_CopyBestDisplayNameWithPlatform and must be passed to EOS_UserInfo_BestDisplayName_Release."]
10427pub type EOS_UserInfo_BestDisplayName = _tagEOS_UserInfo_BestDisplayName;
10428unsafe extern "C" {
10429 #[doc = " Release the memory associated with EOS_UserInfo_BestDisplayName. This must be called on data retrieved from\n EOS_UserInfo_CopyBestDisplayNameWithPlatform.\n\n @param BestDisplayName - The EOS_UserInfo_BestDisplayName structure to release\n\n @see EOS_UserInfo_BestDisplayName\n @see EOS_UserInfo_CopyBestDisplayName\n @see EOS_UserInfo_CopyBestDisplayNameWithPlatform"]
10430 pub fn EOS_UserInfo_BestDisplayName_Release(BestDisplayName: *mut EOS_UserInfo_BestDisplayName);
10431}
10432#[doc = " Input parameters for the EOS_UserInfo_CopyBestDisplayName function."]
10433#[repr(C)]
10434#[derive(Debug, Copy, Clone)]
10435pub struct _tagEOS_UserInfo_CopyBestDisplayNameOptions {
10436 #[doc = " API Version: Set this to EOS_USERINFO_COPYBESTDISPLAYNAME_API_LATEST."]
10437 pub ApiVersion: i32,
10438 #[doc = " The Epic Account ID of the local player requesting the information"]
10439 pub LocalUserId: EOS_EpicAccountId,
10440 #[doc = " The Epic Account ID of the player whose information is being retrieved"]
10441 pub TargetUserId: EOS_EpicAccountId,
10442}
10443impl Default for _tagEOS_UserInfo_CopyBestDisplayNameOptions {
10444 fn default() -> Self {
10445 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10446 unsafe {
10447 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10448 s.assume_init()
10449 }
10450 }
10451}
10452#[doc = " Input parameters for the EOS_UserInfo_CopyBestDisplayName function."]
10453pub type EOS_UserInfo_CopyBestDisplayNameOptions = _tagEOS_UserInfo_CopyBestDisplayNameOptions;
10454#[doc = " Input parameters for the EOS_UserInfo_CopyBestDisplayNameWithPlatform function."]
10455#[repr(C)]
10456#[derive(Debug, Copy, Clone)]
10457pub struct _tagEOS_UserInfo_CopyBestDisplayNameWithPlatformOptions {
10458 #[doc = " API Version: Set this to EOS_USERINFO_COPYBESTDISPLAYNAMEWITHPLATFORM_API_LATEST."]
10459 pub ApiVersion: i32,
10460 #[doc = " The Epic Account ID of the local player requesting the information"]
10461 pub LocalUserId: EOS_EpicAccountId,
10462 #[doc = " The Epic Account ID of the player whose information is being retrieved"]
10463 pub TargetUserId: EOS_EpicAccountId,
10464 #[doc = " The platform type of the player whose information is being retrieved"]
10465 pub TargetPlatformType: EOS_OnlinePlatformType,
10466}
10467impl Default for _tagEOS_UserInfo_CopyBestDisplayNameWithPlatformOptions {
10468 fn default() -> Self {
10469 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10470 unsafe {
10471 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10472 s.assume_init()
10473 }
10474 }
10475}
10476#[doc = " Input parameters for the EOS_UserInfo_CopyBestDisplayNameWithPlatform function."]
10477pub type EOS_UserInfo_CopyBestDisplayNameWithPlatformOptions =
10478 _tagEOS_UserInfo_CopyBestDisplayNameWithPlatformOptions;
10479#[doc = " Input parameters for the EOS_UserInfo_GetLocalPlatformType function."]
10480#[repr(C)]
10481#[derive(Debug, Default, Copy, Clone)]
10482pub struct _tagEOS_UserInfo_GetLocalPlatformTypeOptions {
10483 #[doc = " API Version: Set this to EOS_USERINFO_GETLOCALPLATFORMTYPE_API_LATEST."]
10484 pub ApiVersion: i32,
10485}
10486#[doc = " Input parameters for the EOS_UserInfo_GetLocalPlatformType function."]
10487pub type EOS_UserInfo_GetLocalPlatformTypeOptions = _tagEOS_UserInfo_GetLocalPlatformTypeOptions;
10488#[repr(C)]
10489#[derive(Debug, Copy, Clone)]
10490pub struct EOS_PlayerDataStorageHandle {
10491 _unused: [u8; 0],
10492}
10493pub type EOS_HPlayerDataStorage = *mut EOS_PlayerDataStorageHandle;
10494#[doc = " Metadata information for a specific file"]
10495#[repr(C)]
10496#[derive(Debug, Copy, Clone)]
10497pub struct _tagEOS_PlayerDataStorage_FileMetadata {
10498 #[doc = " API Version: Set this to EOS_PLAYERDATASTORAGE_FILEMETADATA_API_LATEST."]
10499 pub ApiVersion: i32,
10500 #[doc = " The total size of the file in bytes (Includes file header in addition to file contents)"]
10501 pub FileSizeBytes: u32,
10502 #[doc = " The MD5 Hash of the entire file (including additional file header), in hex digits"]
10503 pub MD5Hash: *const ::std::os::raw::c_char,
10504 #[doc = " The file's name"]
10505 pub Filename: *const ::std::os::raw::c_char,
10506 #[doc = " The POSIX timestamp when the file was saved last time or EOS_PLAYERDATASTORAGE_TIME_UNDEFINED if the time is undefined.\n It will be undefined after a file is written and uploaded at first before a query operation is completed."]
10507 pub LastModifiedTime: i64,
10508 #[doc = " The size of data (payload) in file in unencrypted (original) form."]
10509 pub UnencryptedDataSizeBytes: u32,
10510}
10511impl Default for _tagEOS_PlayerDataStorage_FileMetadata {
10512 fn default() -> Self {
10513 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10514 unsafe {
10515 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10516 s.assume_init()
10517 }
10518 }
10519}
10520#[doc = " Metadata information for a specific file"]
10521pub type EOS_PlayerDataStorage_FileMetadata = _tagEOS_PlayerDataStorage_FileMetadata;
10522unsafe extern "C" {
10523 #[doc = " Free the memory used by the file metadata"]
10524 pub fn EOS_PlayerDataStorage_FileMetadata_Release(
10525 FileMetadata: *mut EOS_PlayerDataStorage_FileMetadata,
10526 );
10527}
10528#[doc = " Input data for the EOS_PlayerDataStorage_QueryFile function"]
10529#[repr(C)]
10530#[derive(Debug, Copy, Clone)]
10531pub struct _tagEOS_PlayerDataStorage_QueryFileOptions {
10532 #[doc = " API Version: Set this to EOS_PLAYERDATASTORAGE_QUERYFILE_API_LATEST."]
10533 pub ApiVersion: i32,
10534 #[doc = " The Product User ID of the local user requesting file metadata"]
10535 pub LocalUserId: EOS_ProductUserId,
10536 #[doc = " The name of the file being queried"]
10537 pub Filename: *const ::std::os::raw::c_char,
10538}
10539impl Default for _tagEOS_PlayerDataStorage_QueryFileOptions {
10540 fn default() -> Self {
10541 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10542 unsafe {
10543 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10544 s.assume_init()
10545 }
10546 }
10547}
10548#[doc = " Input data for the EOS_PlayerDataStorage_QueryFile function"]
10549pub type EOS_PlayerDataStorage_QueryFileOptions = _tagEOS_PlayerDataStorage_QueryFileOptions;
10550#[doc = " Data containing information about a query file request"]
10551#[repr(C)]
10552#[derive(Debug, Copy, Clone)]
10553pub struct _tagEOS_PlayerDataStorage_QueryFileCallbackInfo {
10554 #[doc = " Result code for the operation. EOS_Success is returned for a successful request, other codes indicate an error"]
10555 pub ResultCode: EOS_EResult,
10556 #[doc = " Client-specified data passed into the file query request"]
10557 pub ClientData: *mut ::std::os::raw::c_void,
10558 #[doc = " The Product User ID of the local user who initiated this request"]
10559 pub LocalUserId: EOS_ProductUserId,
10560}
10561impl Default for _tagEOS_PlayerDataStorage_QueryFileCallbackInfo {
10562 fn default() -> Self {
10563 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10564 unsafe {
10565 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10566 s.assume_init()
10567 }
10568 }
10569}
10570#[doc = " Data containing information about a query file request"]
10571pub type EOS_PlayerDataStorage_QueryFileCallbackInfo =
10572 _tagEOS_PlayerDataStorage_QueryFileCallbackInfo;
10573#[doc = " Callback for when EOS_PlayerDataStorage_QueryFile completes"]
10574pub type EOS_PlayerDataStorage_OnQueryFileCompleteCallback = ::std::option::Option<
10575 unsafe extern "C" fn(Data: *const EOS_PlayerDataStorage_QueryFileCallbackInfo),
10576>;
10577#[doc = " Input data for the EOS_PlayerDataStorage_QueryFileList function"]
10578#[repr(C)]
10579#[derive(Debug, Copy, Clone)]
10580pub struct _tagEOS_PlayerDataStorage_QueryFileListOptions {
10581 #[doc = " API Version: Set this to EOS_PLAYERDATASTORAGE_QUERYFILELIST_API_LATEST."]
10582 pub ApiVersion: i32,
10583 #[doc = " The Product User ID of the local user who requested file metadata"]
10584 pub LocalUserId: EOS_ProductUserId,
10585}
10586impl Default for _tagEOS_PlayerDataStorage_QueryFileListOptions {
10587 fn default() -> Self {
10588 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10589 unsafe {
10590 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10591 s.assume_init()
10592 }
10593 }
10594}
10595#[doc = " Input data for the EOS_PlayerDataStorage_QueryFileList function"]
10596pub type EOS_PlayerDataStorage_QueryFileListOptions =
10597 _tagEOS_PlayerDataStorage_QueryFileListOptions;
10598#[doc = " Data containing information about a query file list request"]
10599#[repr(C)]
10600#[derive(Debug, Copy, Clone)]
10601pub struct _tagEOS_PlayerDataStorage_QueryFileListCallbackInfo {
10602 #[doc = " Result code for the operation. EOS_Success is returned for a successful request, other codes indicate an error"]
10603 pub ResultCode: EOS_EResult,
10604 #[doc = " Client-specified data passed into the file query request"]
10605 pub ClientData: *mut ::std::os::raw::c_void,
10606 #[doc = " The Product User ID of the local user who initiated this request"]
10607 pub LocalUserId: EOS_ProductUserId,
10608 #[doc = " A count of files that were found, if successful"]
10609 pub FileCount: u32,
10610}
10611impl Default for _tagEOS_PlayerDataStorage_QueryFileListCallbackInfo {
10612 fn default() -> Self {
10613 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10614 unsafe {
10615 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10616 s.assume_init()
10617 }
10618 }
10619}
10620#[doc = " Data containing information about a query file list request"]
10621pub type EOS_PlayerDataStorage_QueryFileListCallbackInfo =
10622 _tagEOS_PlayerDataStorage_QueryFileListCallbackInfo;
10623#[doc = " Callback for when EOS_PlayerDataStorage_QueryFileList completes"]
10624pub type EOS_PlayerDataStorage_OnQueryFileListCompleteCallback = ::std::option::Option<
10625 unsafe extern "C" fn(Data: *const EOS_PlayerDataStorage_QueryFileListCallbackInfo),
10626>;
10627#[doc = " Input data for the EOS_PlayerDataStorage_GetFileMetadataCount function"]
10628#[repr(C)]
10629#[derive(Debug, Copy, Clone)]
10630pub struct _tagEOS_PlayerDataStorage_GetFileMetadataCountOptions {
10631 #[doc = " API Version: Set this to EOS_PLAYERDATASTORAGE_GETFILEMETADATACOUNT_API_LATEST."]
10632 pub ApiVersion: i32,
10633 #[doc = " The Product User ID of the local user who is requesting file metadata"]
10634 pub LocalUserId: EOS_ProductUserId,
10635}
10636impl Default for _tagEOS_PlayerDataStorage_GetFileMetadataCountOptions {
10637 fn default() -> Self {
10638 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10639 unsafe {
10640 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10641 s.assume_init()
10642 }
10643 }
10644}
10645#[doc = " Input data for the EOS_PlayerDataStorage_GetFileMetadataCount function"]
10646pub type EOS_PlayerDataStorage_GetFileMetadataCountOptions =
10647 _tagEOS_PlayerDataStorage_GetFileMetadataCountOptions;
10648#[doc = " Input data for the CopyFileMetadataAtIndex function"]
10649#[repr(C)]
10650#[derive(Debug, Copy, Clone)]
10651pub struct _tagEOS_PlayerDataStorage_CopyFileMetadataAtIndexOptions {
10652 #[doc = " API Version: Set this to EOS_PLAYERDATASTORAGE_COPYFILEMETADATAATINDEX_API_LATEST."]
10653 pub ApiVersion: i32,
10654 #[doc = " The Product User ID of the local user who is requesting file metadata"]
10655 pub LocalUserId: EOS_ProductUserId,
10656 #[doc = " The index to get data for"]
10657 pub Index: u32,
10658}
10659impl Default for _tagEOS_PlayerDataStorage_CopyFileMetadataAtIndexOptions {
10660 fn default() -> Self {
10661 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10662 unsafe {
10663 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10664 s.assume_init()
10665 }
10666 }
10667}
10668#[doc = " Input data for the CopyFileMetadataAtIndex function"]
10669pub type EOS_PlayerDataStorage_CopyFileMetadataAtIndexOptions =
10670 _tagEOS_PlayerDataStorage_CopyFileMetadataAtIndexOptions;
10671#[doc = " Input data for the CopyFileMetadataByFilename function"]
10672#[repr(C)]
10673#[derive(Debug, Copy, Clone)]
10674pub struct _tagEOS_PlayerDataStorage_CopyFileMetadataByFilenameOptions {
10675 #[doc = " API Version: Set this to EOS_PLAYERDATASTORAGE_COPYFILEMETADATABYFILENAME_API_LATEST."]
10676 pub ApiVersion: i32,
10677 #[doc = " The Product User ID of the local user who is requesting file metadata"]
10678 pub LocalUserId: EOS_ProductUserId,
10679 #[doc = " The file's name to get data for"]
10680 pub Filename: *const ::std::os::raw::c_char,
10681}
10682impl Default for _tagEOS_PlayerDataStorage_CopyFileMetadataByFilenameOptions {
10683 fn default() -> Self {
10684 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10685 unsafe {
10686 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10687 s.assume_init()
10688 }
10689 }
10690}
10691#[doc = " Input data for the CopyFileMetadataByFilename function"]
10692pub type EOS_PlayerDataStorage_CopyFileMetadataByFilenameOptions =
10693 _tagEOS_PlayerDataStorage_CopyFileMetadataByFilenameOptions;
10694#[doc = " Input data for the EOS_PlayerDataStorage_DuplicateFile function"]
10695#[repr(C)]
10696#[derive(Debug, Copy, Clone)]
10697pub struct _tagEOS_PlayerDataStorage_DuplicateFileOptions {
10698 #[doc = " API Version: Set this to EOS_PLAYERDATASTORAGE_DUPLICATEFILE_API_LATEST."]
10699 pub ApiVersion: i32,
10700 #[doc = " The Product User ID of the local user who authorized the duplication of the requested file; must be the original file's owner"]
10701 pub LocalUserId: EOS_ProductUserId,
10702 #[doc = " The name of the existing file to duplicate"]
10703 pub SourceFilename: *const ::std::os::raw::c_char,
10704 #[doc = " The name of the new file"]
10705 pub DestinationFilename: *const ::std::os::raw::c_char,
10706}
10707impl Default for _tagEOS_PlayerDataStorage_DuplicateFileOptions {
10708 fn default() -> Self {
10709 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10710 unsafe {
10711 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10712 s.assume_init()
10713 }
10714 }
10715}
10716#[doc = " Input data for the EOS_PlayerDataStorage_DuplicateFile function"]
10717pub type EOS_PlayerDataStorage_DuplicateFileOptions =
10718 _tagEOS_PlayerDataStorage_DuplicateFileOptions;
10719#[doc = " Data containing the result information for a duplicate file request"]
10720#[repr(C)]
10721#[derive(Debug, Copy, Clone)]
10722pub struct _tagEOS_PlayerDataStorage_DuplicateFileCallbackInfo {
10723 #[doc = " Result code for the operation. EOS_Success is returned for a successful request, other codes indicate an error"]
10724 pub ResultCode: EOS_EResult,
10725 #[doc = " Client-specified data passed into the file duplicate request"]
10726 pub ClientData: *mut ::std::os::raw::c_void,
10727 #[doc = " The Product User ID of the local user who initiated this request"]
10728 pub LocalUserId: EOS_ProductUserId,
10729}
10730impl Default for _tagEOS_PlayerDataStorage_DuplicateFileCallbackInfo {
10731 fn default() -> Self {
10732 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10733 unsafe {
10734 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10735 s.assume_init()
10736 }
10737 }
10738}
10739#[doc = " Data containing the result information for a duplicate file request"]
10740pub type EOS_PlayerDataStorage_DuplicateFileCallbackInfo =
10741 _tagEOS_PlayerDataStorage_DuplicateFileCallbackInfo;
10742#[doc = " Callback for when EOS_PlayerDataStorage_DuplicateFile completes"]
10743pub type EOS_PlayerDataStorage_OnDuplicateFileCompleteCallback = ::std::option::Option<
10744 unsafe extern "C" fn(Data: *const EOS_PlayerDataStorage_DuplicateFileCallbackInfo),
10745>;
10746#[doc = " Input data for the EOS_PlayerDataStorage_DeleteFile function"]
10747#[repr(C)]
10748#[derive(Debug, Copy, Clone)]
10749pub struct _tagEOS_PlayerDataStorage_DeleteFileOptions {
10750 #[doc = " API Version: Set this to EOS_PLAYERDATASTORAGE_DELETEFILE_API_LATEST."]
10751 pub ApiVersion: i32,
10752 #[doc = " The Product User ID of the local user who authorizes deletion of the file; must be the file's owner"]
10753 pub LocalUserId: EOS_ProductUserId,
10754 #[doc = " The name of the file to delete"]
10755 pub Filename: *const ::std::os::raw::c_char,
10756}
10757impl Default for _tagEOS_PlayerDataStorage_DeleteFileOptions {
10758 fn default() -> Self {
10759 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10760 unsafe {
10761 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10762 s.assume_init()
10763 }
10764 }
10765}
10766#[doc = " Input data for the EOS_PlayerDataStorage_DeleteFile function"]
10767pub type EOS_PlayerDataStorage_DeleteFileOptions = _tagEOS_PlayerDataStorage_DeleteFileOptions;
10768#[doc = " Data containing the result information for a delete file request"]
10769#[repr(C)]
10770#[derive(Debug, Copy, Clone)]
10771pub struct _tagEOS_PlayerDataStorage_DeleteFileCallbackInfo {
10772 #[doc = " Result code for the operation. EOS_Success is returned for a successful request, other codes indicate an error"]
10773 pub ResultCode: EOS_EResult,
10774 #[doc = " Client-specified data passed into the file deletion request"]
10775 pub ClientData: *mut ::std::os::raw::c_void,
10776 #[doc = " The Product User ID of the local user who initiated this request"]
10777 pub LocalUserId: EOS_ProductUserId,
10778}
10779impl Default for _tagEOS_PlayerDataStorage_DeleteFileCallbackInfo {
10780 fn default() -> Self {
10781 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10782 unsafe {
10783 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10784 s.assume_init()
10785 }
10786 }
10787}
10788#[doc = " Data containing the result information for a delete file request"]
10789pub type EOS_PlayerDataStorage_DeleteFileCallbackInfo =
10790 _tagEOS_PlayerDataStorage_DeleteFileCallbackInfo;
10791#[doc = " Callback for when EOS_PlayerDataStorage_DeleteFile completes"]
10792pub type EOS_PlayerDataStorage_OnDeleteFileCompleteCallback = ::std::option::Option<
10793 unsafe extern "C" fn(Data: *const EOS_PlayerDataStorage_DeleteFileCallbackInfo),
10794>;
10795#[repr(C)]
10796#[derive(Debug, Copy, Clone)]
10797pub struct EOS_PlayerDataStorageFileTransferRequestHandle {
10798 _unused: [u8; 0],
10799}
10800#[doc = " Handle type to a File Request"]
10801pub type EOS_HPlayerDataStorageFileTransferRequest =
10802 *mut EOS_PlayerDataStorageFileTransferRequestHandle;
10803unsafe extern "C" {
10804 #[doc = " Free the memory used by a cloud-storage file request handle. This will not cancel a request in progress."]
10805 pub fn EOS_PlayerDataStorageFileTransferRequest_Release(
10806 PlayerDataStorageFileTransferHandle: EOS_HPlayerDataStorageFileTransferRequest,
10807 );
10808}
10809#[doc = " Data containing the information about a file transfer in progress (or one that has completed)"]
10810#[repr(C)]
10811#[derive(Debug, Copy, Clone)]
10812pub struct _tagEOS_PlayerDataStorage_FileTransferProgressCallbackInfo {
10813 #[doc = " Client-specified data passed into the file request"]
10814 pub ClientData: *mut ::std::os::raw::c_void,
10815 #[doc = " The Product User ID of the local user who initiated this request"]
10816 pub LocalUserId: EOS_ProductUserId,
10817 #[doc = " The file name of the file being transferred"]
10818 pub Filename: *const ::std::os::raw::c_char,
10819 #[doc = " Amount of bytes transferred so far in this request, out of TotalFileSizeBytes"]
10820 pub BytesTransferred: u32,
10821 #[doc = " The total size of the file being transferred (Includes file header in addition to file contents, can be slightly more than expected)"]
10822 pub TotalFileSizeBytes: u32,
10823}
10824impl Default for _tagEOS_PlayerDataStorage_FileTransferProgressCallbackInfo {
10825 fn default() -> Self {
10826 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10827 unsafe {
10828 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10829 s.assume_init()
10830 }
10831 }
10832}
10833#[doc = " Data containing the information about a file transfer in progress (or one that has completed)"]
10834pub type EOS_PlayerDataStorage_FileTransferProgressCallbackInfo =
10835 _tagEOS_PlayerDataStorage_FileTransferProgressCallbackInfo;
10836#[doc = " Callback for when there is a progress update for a file transfer in progress"]
10837pub type EOS_PlayerDataStorage_OnFileTransferProgressCallback = ::std::option::Option<
10838 unsafe extern "C" fn(Data: *const EOS_PlayerDataStorage_FileTransferProgressCallbackInfo),
10839>;
10840#[doc = " Signifies the data was read successfully, and we should continue to the next chunk if possible"]
10841pub const EOS_PlayerDataStorage_EReadResult_EOS_RR_ContinueReading:
10842 EOS_PlayerDataStorage_EReadResult = 1;
10843#[doc = " Signifies there was a failure reading the data, and the request should end"]
10844pub const EOS_PlayerDataStorage_EReadResult_EOS_RR_FailRequest: EOS_PlayerDataStorage_EReadResult =
10845 2;
10846#[doc = " Signifies the request should be canceled, but not due to an error"]
10847pub const EOS_PlayerDataStorage_EReadResult_EOS_RR_CancelRequest:
10848 EOS_PlayerDataStorage_EReadResult = 3;
10849pub const EOS_PlayerDataStorage_EReadResult___EOS_PlayerDataStorage_EReadResult_PAD_INT32__:
10850 EOS_PlayerDataStorage_EReadResult = 2147483647;
10851#[doc = " Return results for EOS_PlayerDataStorage_OnReadFileDataCallback callbacks to return"]
10852pub type EOS_PlayerDataStorage_EReadResult = ::std::os::raw::c_int;
10853#[doc = " Data containing data for a chunk of a file being read"]
10854#[repr(C)]
10855#[derive(Debug, Copy, Clone)]
10856pub struct _tagEOS_PlayerDataStorage_ReadFileDataCallbackInfo {
10857 #[doc = " Client-specified data passed into the file request"]
10858 pub ClientData: *mut ::std::os::raw::c_void,
10859 #[doc = " The Product User ID of the local user who initiated this request"]
10860 pub LocalUserId: EOS_ProductUserId,
10861 #[doc = " The file name being read"]
10862 pub Filename: *const ::std::os::raw::c_char,
10863 #[doc = " The total file size of the file being read"]
10864 pub TotalFileSizeBytes: u32,
10865 #[doc = " Is this chunk the last chunk of data?"]
10866 pub bIsLastChunk: EOS_Bool,
10867 #[doc = " The length of DataChunk in bytes that can be safely read"]
10868 pub DataChunkLengthBytes: u32,
10869 #[doc = " Pointer to the start of data to be read"]
10870 pub DataChunk: *const ::std::os::raw::c_void,
10871}
10872impl Default for _tagEOS_PlayerDataStorage_ReadFileDataCallbackInfo {
10873 fn default() -> Self {
10874 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10875 unsafe {
10876 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10877 s.assume_init()
10878 }
10879 }
10880}
10881#[doc = " Data containing data for a chunk of a file being read"]
10882pub type EOS_PlayerDataStorage_ReadFileDataCallbackInfo =
10883 _tagEOS_PlayerDataStorage_ReadFileDataCallbackInfo;
10884#[doc = " Callback for when we have data ready to be read from the requested file. It is undefined how often this will be called during a single tick.\n\n @param Data Struct containing a chunk of data to read, as well as some metadata for the file being read\n @return The result of the read operation. If this value is not EOS_RR_ContinueReading, this callback will not be called again for the same request"]
10885pub type EOS_PlayerDataStorage_OnReadFileDataCallback = ::std::option::Option<
10886 unsafe extern "C" fn(
10887 Data: *const EOS_PlayerDataStorage_ReadFileDataCallbackInfo,
10888 ) -> EOS_PlayerDataStorage_EReadResult,
10889>;
10890#[doc = " Input data for the EOS_PlayerDataStorage_ReadFile function"]
10891#[repr(C)]
10892#[derive(Debug, Copy, Clone)]
10893pub struct _tagEOS_PlayerDataStorage_ReadFileOptions {
10894 #[doc = " API Version: Set this to EOS_PLAYERDATASTORAGE_READFILE_API_LATEST."]
10895 pub ApiVersion: i32,
10896 #[doc = " The Product User ID of the local user who is reading the requested file"]
10897 pub LocalUserId: EOS_ProductUserId,
10898 #[doc = " The file name to read; this file must already exist"]
10899 pub Filename: *const ::std::os::raw::c_char,
10900 #[doc = " The maximum amount of data in bytes should be available to read in a single EOS_PlayerDataStorage_OnReadFileDataCallback call"]
10901 pub ReadChunkLengthBytes: u32,
10902 #[doc = " Callback function that handles data as it comes in, and can stop the transfer early"]
10903 pub ReadFileDataCallback: EOS_PlayerDataStorage_OnReadFileDataCallback,
10904 #[doc = " Optional callback function to be informed of download progress, if the file is not already locally cached; if provided, this will be called at least once before completion if the request is successfully started"]
10905 pub FileTransferProgressCallback: EOS_PlayerDataStorage_OnFileTransferProgressCallback,
10906}
10907impl Default for _tagEOS_PlayerDataStorage_ReadFileOptions {
10908 fn default() -> Self {
10909 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10910 unsafe {
10911 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10912 s.assume_init()
10913 }
10914 }
10915}
10916#[doc = " Input data for the EOS_PlayerDataStorage_ReadFile function"]
10917pub type EOS_PlayerDataStorage_ReadFileOptions = _tagEOS_PlayerDataStorage_ReadFileOptions;
10918#[doc = " Data containing the result of a read file request"]
10919#[repr(C)]
10920#[derive(Debug, Copy, Clone)]
10921pub struct _tagEOS_PlayerDataStorage_ReadFileCallbackInfo {
10922 #[doc = " The result code for the operation.\n EOS_Success: The request was successful.\n EOS_Canceled: The request was canceled.\n EOS_TooManyRequests: There are too many requests in progress for the local user at this time.\n EOS_AlreadyPending: There is another requests in progress for the specified file by this user.\n EOS_CacheDirectoryMissing: The cache directory was not set when calling EOS_Platform_Create.\n EOS_CacheDirectoryInvalid: The cache directory provided when calling EOS_Platform_Create was invalid.\n EOS_PlayerDataStorage_UserThrottled: There were too many requests to the Data Storage service recently by the local user. The application must wait some time before trying again.\n EOS_PlayerDataStorage_EncryptionKeyNotSet: The encryption key value was not set when calling EOS_Platform_Create.\n EOS_PlayerDataStorage_FileCorrupted: The downloaded or cached file was corrupted or invalid in some way. What exactly is wrong with the file is returned in the logs (potentially retryable).\n EOS_InvalidState: The read operation is not allowed (e.g. when application is suspended).\n EOS_UnexpectedError: An unexpected error occurred either downloading, or reading the downloaded file. This most commonly means there were file IO issues such as: permission issues, disk is full, etc. (potentially retryable)"]
10923 pub ResultCode: EOS_EResult,
10924 #[doc = " Client-specified data passed into the file read request"]
10925 pub ClientData: *mut ::std::os::raw::c_void,
10926 #[doc = " The Product User ID of the local user who initiated this request"]
10927 pub LocalUserId: EOS_ProductUserId,
10928 #[doc = " The filename of the file that has been finished reading"]
10929 pub Filename: *const ::std::os::raw::c_char,
10930}
10931impl Default for _tagEOS_PlayerDataStorage_ReadFileCallbackInfo {
10932 fn default() -> Self {
10933 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10934 unsafe {
10935 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10936 s.assume_init()
10937 }
10938 }
10939}
10940#[doc = " Data containing the result of a read file request"]
10941pub type EOS_PlayerDataStorage_ReadFileCallbackInfo =
10942 _tagEOS_PlayerDataStorage_ReadFileCallbackInfo;
10943#[doc = " Callback for when EOS_PlayerDataStorage_ReadFile completes"]
10944pub type EOS_PlayerDataStorage_OnReadFileCompleteCallback = ::std::option::Option<
10945 unsafe extern "C" fn(Data: *const EOS_PlayerDataStorage_ReadFileCallbackInfo),
10946>;
10947#[doc = " Signifies the data was written successfully, and we should write the data the file"]
10948pub const EOS_PlayerDataStorage_EWriteResult_EOS_WR_ContinueWriting:
10949 EOS_PlayerDataStorage_EWriteResult = 1;
10950#[doc = " Signifies all data has now been written successfully, and we should upload the data to the cloud"]
10951pub const EOS_PlayerDataStorage_EWriteResult_EOS_WR_CompleteRequest:
10952 EOS_PlayerDataStorage_EWriteResult = 2;
10953#[doc = " Signifies there was a failure writing the data, and the request should end"]
10954pub const EOS_PlayerDataStorage_EWriteResult_EOS_WR_FailRequest:
10955 EOS_PlayerDataStorage_EWriteResult = 3;
10956#[doc = " Signifies the request should be canceled, but not due to an error"]
10957pub const EOS_PlayerDataStorage_EWriteResult_EOS_WR_CancelRequest:
10958 EOS_PlayerDataStorage_EWriteResult = 4;
10959pub const EOS_PlayerDataStorage_EWriteResult___EOS_PlayerDataStorage_EWriteResult_PAD_INT32__:
10960 EOS_PlayerDataStorage_EWriteResult = 2147483647;
10961#[doc = " Return results for EOS_PlayerDataStorage_OnWriteFileDataCallback callbacks to return"]
10962pub type EOS_PlayerDataStorage_EWriteResult = ::std::os::raw::c_int;
10963#[doc = " Data containing data for a chunk of a file being written"]
10964#[repr(C)]
10965#[derive(Debug, Copy, Clone)]
10966pub struct _tagEOS_PlayerDataStorage_WriteFileDataCallbackInfo {
10967 #[doc = " Client-specified data passed into the file write request"]
10968 pub ClientData: *mut ::std::os::raw::c_void,
10969 #[doc = " The Product User ID of the local user who initiated this request"]
10970 pub LocalUserId: EOS_ProductUserId,
10971 #[doc = " The file name that is being written to"]
10972 pub Filename: *const ::std::os::raw::c_char,
10973 #[doc = " The maximum amount of data in bytes that can be written safely to DataBuffer"]
10974 pub DataBufferLengthBytes: u32,
10975}
10976impl Default for _tagEOS_PlayerDataStorage_WriteFileDataCallbackInfo {
10977 fn default() -> Self {
10978 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10979 unsafe {
10980 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10981 s.assume_init()
10982 }
10983 }
10984}
10985#[doc = " Data containing data for a chunk of a file being written"]
10986pub type EOS_PlayerDataStorage_WriteFileDataCallbackInfo =
10987 _tagEOS_PlayerDataStorage_WriteFileDataCallbackInfo;
10988#[doc = " Callback for when we are ready to get more data to be written into the requested file. It is undefined how often this will be called during a single tick.\n\n @param Data Struct containing metadata for the file being written to, as well as the max length in bytes that can be safely written to DataBuffer\n @param OutDataBuffer A buffer to write data into, to be appended to the end of the file that is being written to. The maximum length of this value is provided in the Info parameter. The number of bytes written to this buffer should be set in OutDataWritten.\n @param OutDataWritten The length of the data written to OutDataBuffer. This must be less than or equal than the DataBufferLengthBytes provided in the Info parameter\n @return The result of the write operation. If this value is not EOS_WR_ContinueWriting, this callback will not be called again for the same request. If this is set to EOS_WR_FailRequest or EOS_WR_CancelRequest, all data written during the request will not be saved"]
10989pub type EOS_PlayerDataStorage_OnWriteFileDataCallback = ::std::option::Option<
10990 unsafe extern "C" fn(
10991 Data: *const EOS_PlayerDataStorage_WriteFileDataCallbackInfo,
10992 OutDataBuffer: *mut ::std::os::raw::c_void,
10993 OutDataWritten: *mut u32,
10994 ) -> EOS_PlayerDataStorage_EWriteResult,
10995>;
10996#[doc = " Input data for the EOS_PlayerDataStorage_WriteFile function"]
10997#[repr(C)]
10998#[derive(Debug, Copy, Clone)]
10999pub struct _tagEOS_PlayerDataStorage_WriteFileOptions {
11000 #[doc = " API Version: Set this to EOS_PLAYERDATASTORAGE_WRITEFILE_API_LATEST."]
11001 pub ApiVersion: i32,
11002 #[doc = " The Product User ID of the local user who is writing the requested file to the cloud"]
11003 pub LocalUserId: EOS_ProductUserId,
11004 #[doc = " The name of the file to write; if this file already exists, the contents will be replaced if the write request completes successfully"]
11005 pub Filename: *const ::std::os::raw::c_char,
11006 #[doc = " Requested maximum amount of data (in bytes) that can be written to the file per tick"]
11007 pub ChunkLengthBytes: u32,
11008 #[doc = " Callback function that provides chunks of data to be written into the requested file"]
11009 pub WriteFileDataCallback: EOS_PlayerDataStorage_OnWriteFileDataCallback,
11010 #[doc = " Optional callback function to inform the application of upload progress; will be called at least once if set"]
11011 pub FileTransferProgressCallback: EOS_PlayerDataStorage_OnFileTransferProgressCallback,
11012}
11013impl Default for _tagEOS_PlayerDataStorage_WriteFileOptions {
11014 fn default() -> Self {
11015 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11016 unsafe {
11017 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11018 s.assume_init()
11019 }
11020 }
11021}
11022#[doc = " Input data for the EOS_PlayerDataStorage_WriteFile function"]
11023pub type EOS_PlayerDataStorage_WriteFileOptions = _tagEOS_PlayerDataStorage_WriteFileOptions;
11024#[doc = " The result information for a request to write data to a file"]
11025#[repr(C)]
11026#[derive(Debug, Copy, Clone)]
11027pub struct _tagEOS_PlayerDataStorage_WriteFileCallbackInfo {
11028 #[doc = " The result code for the operation.\n EOS_Success: The request was successful.\n EOS_Canceled: The request was canceled.\n EOS_TooManyRequests: There are too many requests in progress for the local user at this time.\n EOS_AlreadyPending: There is another requests in progress for the specified file by this user.\n EOS_CacheDirectoryMissing: The cache directory was not set when calling EOS_Platform_Create.\n EOS_CacheDirectoryInvalid: The cache directory provided when calling EOS_Platform_Create was invalid.\n EOS_PlayerDataStorage_UserThrottled: There were too many requests to the Data Storage service recently by the local user. The application must wait some time before trying again.\n EOS_PlayerDataStorage_EncryptionKeyNotSet: The encryption key value was not set when calling EOS_Platform_Create.\n EOS_InvalidState: The read operation is not allowed (e.g. when application is suspended).\n EOS_UnexpectedError: An unexpected error occurred either downloading, or reading the downloaded file. This most commonly means there were file IO issues such as: permission issues, disk is full, etc. (potentially retryable)"]
11029 pub ResultCode: EOS_EResult,
11030 #[doc = " Client-specified data passed into the file write request"]
11031 pub ClientData: *mut ::std::os::raw::c_void,
11032 #[doc = " The Product User ID of the local user who initiated this request"]
11033 pub LocalUserId: EOS_ProductUserId,
11034 #[doc = " The file name that is being written to"]
11035 pub Filename: *const ::std::os::raw::c_char,
11036}
11037impl Default for _tagEOS_PlayerDataStorage_WriteFileCallbackInfo {
11038 fn default() -> Self {
11039 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11040 unsafe {
11041 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11042 s.assume_init()
11043 }
11044 }
11045}
11046#[doc = " The result information for a request to write data to a file"]
11047pub type EOS_PlayerDataStorage_WriteFileCallbackInfo =
11048 _tagEOS_PlayerDataStorage_WriteFileCallbackInfo;
11049#[doc = " Callback for when EOS_PlayerDataStorage_WriteFile completes"]
11050pub type EOS_PlayerDataStorage_OnWriteFileCompleteCallback = ::std::option::Option<
11051 unsafe extern "C" fn(Data: *const EOS_PlayerDataStorage_WriteFileCallbackInfo),
11052>;
11053#[doc = " Input data for the EOS_TitleStorage_DeleteCache function"]
11054#[repr(C)]
11055#[derive(Debug, Copy, Clone)]
11056pub struct _tagEOS_PlayerDataStorage_DeleteCacheOptions {
11057 #[doc = " API Version: Set this to EOS_PLAYERDATASTORAGE_DELETECACHE_API_LATEST."]
11058 pub ApiVersion: i32,
11059 #[doc = " Product User ID of the local user who is deleting his cache"]
11060 pub LocalUserId: EOS_ProductUserId,
11061}
11062impl Default for _tagEOS_PlayerDataStorage_DeleteCacheOptions {
11063 fn default() -> Self {
11064 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11065 unsafe {
11066 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11067 s.assume_init()
11068 }
11069 }
11070}
11071#[doc = " Input data for the EOS_TitleStorage_DeleteCache function"]
11072pub type EOS_PlayerDataStorage_DeleteCacheOptions = _tagEOS_PlayerDataStorage_DeleteCacheOptions;
11073#[doc = " Structure containing the result of a delete cache operation"]
11074#[repr(C)]
11075#[derive(Debug, Copy, Clone)]
11076pub struct _tagEOS_PlayerDataStorage_DeleteCacheCallbackInfo {
11077 #[doc = " Result code for the operation. EOS_Success is returned for a successful request, other codes indicate an error"]
11078 pub ResultCode: EOS_EResult,
11079 #[doc = " Client-specified data passed into the delete cache request"]
11080 pub ClientData: *mut ::std::os::raw::c_void,
11081 #[doc = " Product User ID of the local user who initiated this request"]
11082 pub LocalUserId: EOS_ProductUserId,
11083}
11084impl Default for _tagEOS_PlayerDataStorage_DeleteCacheCallbackInfo {
11085 fn default() -> Self {
11086 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11087 unsafe {
11088 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11089 s.assume_init()
11090 }
11091 }
11092}
11093#[doc = " Structure containing the result of a delete cache operation"]
11094pub type EOS_PlayerDataStorage_DeleteCacheCallbackInfo =
11095 _tagEOS_PlayerDataStorage_DeleteCacheCallbackInfo;
11096#[doc = " Callback for when EOS_PlayerDataStorage_DeleteCache completes"]
11097pub type EOS_PlayerDataStorage_OnDeleteCacheCompleteCallback = ::std::option::Option<
11098 unsafe extern "C" fn(Data: *const EOS_PlayerDataStorage_DeleteCacheCallbackInfo),
11099>;
11100#[repr(C)]
11101#[derive(Debug, Copy, Clone)]
11102pub struct EOS_TitleStorageHandle {
11103 _unused: [u8; 0],
11104}
11105pub type EOS_HTitleStorage = *mut EOS_TitleStorageHandle;
11106#[doc = " Metadata information for a specific file"]
11107#[repr(C)]
11108#[derive(Debug, Copy, Clone)]
11109pub struct _tagEOS_TitleStorage_FileMetadata {
11110 #[doc = " API Version: Set this to EOS_TITLESTORAGE_FILEMETADATA_API_LATEST."]
11111 pub ApiVersion: i32,
11112 #[doc = " The total size of the file in bytes (Includes file header in addition to file contents)."]
11113 pub FileSizeBytes: u32,
11114 #[doc = " The MD5 Hash of the entire file (including additional file header), in hex digits"]
11115 pub MD5Hash: *const ::std::os::raw::c_char,
11116 #[doc = " The file's name"]
11117 pub Filename: *const ::std::os::raw::c_char,
11118 #[doc = " The size of data (payload) in file in unencrypted (original) form."]
11119 pub UnencryptedDataSizeBytes: u32,
11120}
11121impl Default for _tagEOS_TitleStorage_FileMetadata {
11122 fn default() -> Self {
11123 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11124 unsafe {
11125 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11126 s.assume_init()
11127 }
11128 }
11129}
11130#[doc = " Metadata information for a specific file"]
11131pub type EOS_TitleStorage_FileMetadata = _tagEOS_TitleStorage_FileMetadata;
11132unsafe extern "C" {
11133 #[doc = " Free the memory used by the file metadata"]
11134 pub fn EOS_TitleStorage_FileMetadata_Release(FileMetadata: *mut EOS_TitleStorage_FileMetadata);
11135}
11136#[doc = " Input data for the EOS_TitleStorage_QueryFile function"]
11137#[repr(C)]
11138#[derive(Debug, Copy, Clone)]
11139pub struct _tagEOS_TitleStorage_QueryFileOptions {
11140 #[doc = " API Version: Set this to EOS_TITLESTORAGE_QUERYFILE_API_LATEST."]
11141 pub ApiVersion: i32,
11142 #[doc = " Product User ID of the local user requesting file metadata (optional)"]
11143 pub LocalUserId: EOS_ProductUserId,
11144 #[doc = " The requested file's name"]
11145 pub Filename: *const ::std::os::raw::c_char,
11146}
11147impl Default for _tagEOS_TitleStorage_QueryFileOptions {
11148 fn default() -> Self {
11149 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11150 unsafe {
11151 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11152 s.assume_init()
11153 }
11154 }
11155}
11156#[doc = " Input data for the EOS_TitleStorage_QueryFile function"]
11157pub type EOS_TitleStorage_QueryFileOptions = _tagEOS_TitleStorage_QueryFileOptions;
11158#[doc = " Structure containing information about a query file request"]
11159#[repr(C)]
11160#[derive(Debug, Copy, Clone)]
11161pub struct _tagEOS_TitleStorage_QueryFileCallbackInfo {
11162 #[doc = " Result code for the operation. EOS_Success is returned for a successful request, other codes indicate an error"]
11163 pub ResultCode: EOS_EResult,
11164 #[doc = " Client-specified data passed into the file query request"]
11165 pub ClientData: *mut ::std::os::raw::c_void,
11166 #[doc = " Product User ID of the local user who initiated this request (optional, will only be present in case it was provided during operation start)"]
11167 pub LocalUserId: EOS_ProductUserId,
11168}
11169impl Default for _tagEOS_TitleStorage_QueryFileCallbackInfo {
11170 fn default() -> Self {
11171 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11172 unsafe {
11173 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11174 s.assume_init()
11175 }
11176 }
11177}
11178#[doc = " Structure containing information about a query file request"]
11179pub type EOS_TitleStorage_QueryFileCallbackInfo = _tagEOS_TitleStorage_QueryFileCallbackInfo;
11180#[doc = " Callback for when EOS_TitleStorage_QueryFile completes"]
11181pub type EOS_TitleStorage_OnQueryFileCompleteCallback = ::std::option::Option<
11182 unsafe extern "C" fn(Data: *const EOS_TitleStorage_QueryFileCallbackInfo),
11183>;
11184#[doc = " Input data for the EOS_TitleStorage_QueryFileList function"]
11185#[repr(C)]
11186#[derive(Debug, Copy, Clone)]
11187pub struct _tagEOS_TitleStorage_QueryFileListOptions {
11188 #[doc = " API Version: Set this to EOS_TITLESTORAGE_QUERYFILELIST_API_LATEST."]
11189 pub ApiVersion: i32,
11190 #[doc = " Product User ID of the local user who requested file metadata (optional)"]
11191 pub LocalUserId: EOS_ProductUserId,
11192 #[doc = " List of tags to use for lookup."]
11193 pub ListOfTags: *const *const ::std::os::raw::c_char,
11194 #[doc = " Number of tags specified in ListOfTags"]
11195 pub ListOfTagsCount: u32,
11196}
11197impl Default for _tagEOS_TitleStorage_QueryFileListOptions {
11198 fn default() -> Self {
11199 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11200 unsafe {
11201 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11202 s.assume_init()
11203 }
11204 }
11205}
11206#[doc = " Input data for the EOS_TitleStorage_QueryFileList function"]
11207pub type EOS_TitleStorage_QueryFileListOptions = _tagEOS_TitleStorage_QueryFileListOptions;
11208#[doc = " Structure containing information about a query file list request"]
11209#[repr(C)]
11210#[derive(Debug, Copy, Clone)]
11211pub struct _tagEOS_TitleStorage_QueryFileListCallbackInfo {
11212 #[doc = " Result code for the operation. EOS_Success is returned for a successful request, other codes indicate an error"]
11213 pub ResultCode: EOS_EResult,
11214 #[doc = " Client-specified data passed into the file query request"]
11215 pub ClientData: *mut ::std::os::raw::c_void,
11216 #[doc = " Product User ID of the local user who initiated this request (optional, will only be present in case it was provided during operation start)"]
11217 pub LocalUserId: EOS_ProductUserId,
11218 #[doc = " A count of files that were found, if successful"]
11219 pub FileCount: u32,
11220}
11221impl Default for _tagEOS_TitleStorage_QueryFileListCallbackInfo {
11222 fn default() -> Self {
11223 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11224 unsafe {
11225 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11226 s.assume_init()
11227 }
11228 }
11229}
11230#[doc = " Structure containing information about a query file list request"]
11231pub type EOS_TitleStorage_QueryFileListCallbackInfo =
11232 _tagEOS_TitleStorage_QueryFileListCallbackInfo;
11233#[doc = " Callback for when EOS_TitleStorage_QueryFileList completes"]
11234pub type EOS_TitleStorage_OnQueryFileListCompleteCallback = ::std::option::Option<
11235 unsafe extern "C" fn(Data: *const EOS_TitleStorage_QueryFileListCallbackInfo),
11236>;
11237#[doc = " Input data for the EOS_TitleStorage_GetFileMetadataCount function"]
11238#[repr(C)]
11239#[derive(Debug, Copy, Clone)]
11240pub struct _tagEOS_TitleStorage_GetFileMetadataCountOptions {
11241 #[doc = " API Version: Set this to EOS_TITLESTORAGE_GETFILEMETADATACOUNT_API_LATEST."]
11242 pub ApiVersion: i32,
11243 #[doc = " Product User ID of the local user who is requesting file metadata (optional)"]
11244 pub LocalUserId: EOS_ProductUserId,
11245}
11246impl Default for _tagEOS_TitleStorage_GetFileMetadataCountOptions {
11247 fn default() -> Self {
11248 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11249 unsafe {
11250 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11251 s.assume_init()
11252 }
11253 }
11254}
11255#[doc = " Input data for the EOS_TitleStorage_GetFileMetadataCount function"]
11256pub type EOS_TitleStorage_GetFileMetadataCountOptions =
11257 _tagEOS_TitleStorage_GetFileMetadataCountOptions;
11258#[doc = " Input data for the CopyFileMetadataAtIndex function"]
11259#[repr(C)]
11260#[derive(Debug, Copy, Clone)]
11261pub struct _tagEOS_TitleStorage_CopyFileMetadataAtIndexOptions {
11262 #[doc = " API Version: Set this to EOS_TITLESTORAGE_COPYFILEMETADATAATINDEX_API_LATEST."]
11263 pub ApiVersion: i32,
11264 #[doc = " Product User ID of the local user who is requesting file metadata (optional)"]
11265 pub LocalUserId: EOS_ProductUserId,
11266 #[doc = " The index to get data for"]
11267 pub Index: u32,
11268}
11269impl Default for _tagEOS_TitleStorage_CopyFileMetadataAtIndexOptions {
11270 fn default() -> Self {
11271 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11272 unsafe {
11273 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11274 s.assume_init()
11275 }
11276 }
11277}
11278#[doc = " Input data for the CopyFileMetadataAtIndex function"]
11279pub type EOS_TitleStorage_CopyFileMetadataAtIndexOptions =
11280 _tagEOS_TitleStorage_CopyFileMetadataAtIndexOptions;
11281#[doc = " Input data for the CopyFileMetadataByFilename function"]
11282#[repr(C)]
11283#[derive(Debug, Copy, Clone)]
11284pub struct _tagEOS_TitleStorage_CopyFileMetadataByFilenameOptions {
11285 #[doc = " API Version: Set this to EOS_TITLESTORAGE_COPYFILEMETADATABYFILENAME_API_LATEST."]
11286 pub ApiVersion: i32,
11287 #[doc = " Product User ID of the local user who is requesting file metadata (optional)"]
11288 pub LocalUserId: EOS_ProductUserId,
11289 #[doc = " The file's name to get data for"]
11290 pub Filename: *const ::std::os::raw::c_char,
11291}
11292impl Default for _tagEOS_TitleStorage_CopyFileMetadataByFilenameOptions {
11293 fn default() -> Self {
11294 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11295 unsafe {
11296 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11297 s.assume_init()
11298 }
11299 }
11300}
11301#[doc = " Input data for the CopyFileMetadataByFilename function"]
11302pub type EOS_TitleStorage_CopyFileMetadataByFilenameOptions =
11303 _tagEOS_TitleStorage_CopyFileMetadataByFilenameOptions;
11304#[repr(C)]
11305#[derive(Debug, Copy, Clone)]
11306pub struct EOS_TitleStorageFileTransferRequestHandle {
11307 _unused: [u8; 0],
11308}
11309#[doc = " Handle type to a File Request"]
11310pub type EOS_HTitleStorageFileTransferRequest = *mut EOS_TitleStorageFileTransferRequestHandle;
11311unsafe extern "C" {
11312 #[doc = " Free the memory used by a cloud-storage file request handle. This will not cancel a request in progress."]
11313 pub fn EOS_TitleStorageFileTransferRequest_Release(
11314 TitleStorageFileTransferHandle: EOS_HTitleStorageFileTransferRequest,
11315 );
11316}
11317#[doc = " Structure containing the information about a file transfer in progress (or one that has completed)"]
11318#[repr(C)]
11319#[derive(Debug, Copy, Clone)]
11320pub struct _tagEOS_TitleStorage_FileTransferProgressCallbackInfo {
11321 #[doc = " Client-specified data passed into the file request"]
11322 pub ClientData: *mut ::std::os::raw::c_void,
11323 #[doc = " Product User ID of the local user who initiated this request (optional, will only be present in case it was provided during operation start)"]
11324 pub LocalUserId: EOS_ProductUserId,
11325 #[doc = " The file name of the file being transferred"]
11326 pub Filename: *const ::std::os::raw::c_char,
11327 #[doc = " Amount of bytes transferred so far in this request, out of TotalFileSizeBytes"]
11328 pub BytesTransferred: u32,
11329 #[doc = " The total size of the file being transferred (Includes file header in addition to file contents, can be slightly more than expected)"]
11330 pub TotalFileSizeBytes: u32,
11331}
11332impl Default for _tagEOS_TitleStorage_FileTransferProgressCallbackInfo {
11333 fn default() -> Self {
11334 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11335 unsafe {
11336 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11337 s.assume_init()
11338 }
11339 }
11340}
11341#[doc = " Structure containing the information about a file transfer in progress (or one that has completed)"]
11342pub type EOS_TitleStorage_FileTransferProgressCallbackInfo =
11343 _tagEOS_TitleStorage_FileTransferProgressCallbackInfo;
11344#[doc = " Callback for when there is a progress update for a file transfer in progress"]
11345pub type EOS_TitleStorage_OnFileTransferProgressCallback = ::std::option::Option<
11346 unsafe extern "C" fn(Data: *const EOS_TitleStorage_FileTransferProgressCallbackInfo),
11347>;
11348#[doc = " Signifies the data was read successfully, and we should continue to the next chunk if possible"]
11349pub const EOS_TitleStorage_EReadResult_EOS_TS_RR_ContinueReading: EOS_TitleStorage_EReadResult = 1;
11350#[doc = " Signifies there was a failure reading the data, and the request should end"]
11351pub const EOS_TitleStorage_EReadResult_EOS_TS_RR_FailRequest: EOS_TitleStorage_EReadResult = 2;
11352#[doc = " Signifies the request should be canceled, but not due to an error"]
11353pub const EOS_TitleStorage_EReadResult_EOS_TS_RR_CancelRequest: EOS_TitleStorage_EReadResult = 3;
11354pub const EOS_TitleStorage_EReadResult___EOS_TitleStorage_EReadResult_PAD_INT32__:
11355 EOS_TitleStorage_EReadResult = 2147483647;
11356#[doc = " Return results for EOS_TitleStorage_OnReadFileDataCallback callbacks"]
11357pub type EOS_TitleStorage_EReadResult = ::std::os::raw::c_int;
11358#[doc = " Structure containing data for a chunk of a file being read"]
11359#[repr(C)]
11360#[derive(Debug, Copy, Clone)]
11361pub struct _tagEOS_TitleStorage_ReadFileDataCallbackInfo {
11362 #[doc = " Client-specified data passed into the file request"]
11363 pub ClientData: *mut ::std::os::raw::c_void,
11364 #[doc = " Product User ID of the local user who initiated this request (optional, will only be present in case it was provided during operation start)"]
11365 pub LocalUserId: EOS_ProductUserId,
11366 #[doc = " The file name being read"]
11367 pub Filename: *const ::std::os::raw::c_char,
11368 #[doc = " The total file size of the file being read"]
11369 pub TotalFileSizeBytes: u32,
11370 #[doc = " Is this chunk the last chunk of data?"]
11371 pub bIsLastChunk: EOS_Bool,
11372 #[doc = " The length of DataChunk in bytes that can be safely read"]
11373 pub DataChunkLengthBytes: u32,
11374 #[doc = " Pointer to the start of data to be read"]
11375 pub DataChunk: *const ::std::os::raw::c_void,
11376}
11377impl Default for _tagEOS_TitleStorage_ReadFileDataCallbackInfo {
11378 fn default() -> Self {
11379 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11380 unsafe {
11381 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11382 s.assume_init()
11383 }
11384 }
11385}
11386#[doc = " Structure containing data for a chunk of a file being read"]
11387pub type EOS_TitleStorage_ReadFileDataCallbackInfo = _tagEOS_TitleStorage_ReadFileDataCallbackInfo;
11388#[doc = " Callback for when we have data ready to be read from the requested file. It is undefined how often this will be called during a single tick.\n\n @param Data Struct containing a chunk of data to read, as well as some metadata for the file being read\n @return The result of the read operation. If this value is not EOS_TS_RR_ContinueReading, this callback will not be called again for the same request"]
11389pub type EOS_TitleStorage_OnReadFileDataCallback = ::std::option::Option<
11390 unsafe extern "C" fn(
11391 Data: *const EOS_TitleStorage_ReadFileDataCallbackInfo,
11392 ) -> EOS_TitleStorage_EReadResult,
11393>;
11394#[doc = " Input data for the EOS_TitleStorage_ReadFile function"]
11395#[repr(C)]
11396#[derive(Debug, Copy, Clone)]
11397pub struct _tagEOS_TitleStorage_ReadFileOptions {
11398 #[doc = " API Version: Set this to EOS_TITLESTORAGE_READFILE_API_LATEST."]
11399 pub ApiVersion: i32,
11400 #[doc = " Product User ID of the local user who is reading the requested file (optional)"]
11401 pub LocalUserId: EOS_ProductUserId,
11402 #[doc = " The file name to read; this file must already exist"]
11403 pub Filename: *const ::std::os::raw::c_char,
11404 #[doc = " The maximum amount of data in bytes should be available to read in a single EOS_TitleStorage_OnReadFileDataCallback call"]
11405 pub ReadChunkLengthBytes: u32,
11406 #[doc = " Callback function to handle copying read data"]
11407 pub ReadFileDataCallback: EOS_TitleStorage_OnReadFileDataCallback,
11408 #[doc = " Optional callback function to be informed of download progress, if the file is not already locally cached. If set, this will be called at least once before completion if the request is successfully started"]
11409 pub FileTransferProgressCallback: EOS_TitleStorage_OnFileTransferProgressCallback,
11410}
11411impl Default for _tagEOS_TitleStorage_ReadFileOptions {
11412 fn default() -> Self {
11413 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11414 unsafe {
11415 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11416 s.assume_init()
11417 }
11418 }
11419}
11420#[doc = " Input data for the EOS_TitleStorage_ReadFile function"]
11421pub type EOS_TitleStorage_ReadFileOptions = _tagEOS_TitleStorage_ReadFileOptions;
11422#[doc = " Structure containing the result of a read file request"]
11423#[repr(C)]
11424#[derive(Debug, Copy, Clone)]
11425pub struct _tagEOS_TitleStorage_ReadFileCallbackInfo {
11426 #[doc = " Result code for the operation. EOS_Success is returned for a successful request, other codes indicate an error"]
11427 pub ResultCode: EOS_EResult,
11428 #[doc = " Client-specified data passed into the file read request"]
11429 pub ClientData: *mut ::std::os::raw::c_void,
11430 #[doc = " Product User ID of the local user who initiated this request (optional, will only be present in case it was provided during operation start)"]
11431 pub LocalUserId: EOS_ProductUserId,
11432 #[doc = " The filename of the file that has been finished reading"]
11433 pub Filename: *const ::std::os::raw::c_char,
11434}
11435impl Default for _tagEOS_TitleStorage_ReadFileCallbackInfo {
11436 fn default() -> Self {
11437 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11438 unsafe {
11439 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11440 s.assume_init()
11441 }
11442 }
11443}
11444#[doc = " Structure containing the result of a read file request"]
11445pub type EOS_TitleStorage_ReadFileCallbackInfo = _tagEOS_TitleStorage_ReadFileCallbackInfo;
11446#[doc = " Callback for when EOS_TitleStorage_ReadFile completes"]
11447pub type EOS_TitleStorage_OnReadFileCompleteCallback =
11448 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_TitleStorage_ReadFileCallbackInfo)>;
11449#[doc = " Input data for the EOS_TitleStorage_DeleteCache function"]
11450#[repr(C)]
11451#[derive(Debug, Copy, Clone)]
11452pub struct _tagEOS_TitleStorage_DeleteCacheOptions {
11453 #[doc = " API Version: Set this to EOS_TITLESTORAGE_DELETECACHE_API_LATEST."]
11454 pub ApiVersion: i32,
11455 #[doc = " Product User ID of the local user who is deleting his cache (optional)"]
11456 pub LocalUserId: EOS_ProductUserId,
11457}
11458impl Default for _tagEOS_TitleStorage_DeleteCacheOptions {
11459 fn default() -> Self {
11460 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11461 unsafe {
11462 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11463 s.assume_init()
11464 }
11465 }
11466}
11467#[doc = " Input data for the EOS_TitleStorage_DeleteCache function"]
11468pub type EOS_TitleStorage_DeleteCacheOptions = _tagEOS_TitleStorage_DeleteCacheOptions;
11469#[doc = " Structure containing the result of a delete cache operation"]
11470#[repr(C)]
11471#[derive(Debug, Copy, Clone)]
11472pub struct _tagEOS_TitleStorage_DeleteCacheCallbackInfo {
11473 #[doc = " Result code for the operation. EOS_Success is returned for a successful request, other codes indicate an error"]
11474 pub ResultCode: EOS_EResult,
11475 #[doc = " Client-specified data passed into the delete cache request"]
11476 pub ClientData: *mut ::std::os::raw::c_void,
11477 #[doc = " Product User ID of the local user who initiated this request (optional, will only be present in case it was provided during operation start)"]
11478 pub LocalUserId: EOS_ProductUserId,
11479}
11480impl Default for _tagEOS_TitleStorage_DeleteCacheCallbackInfo {
11481 fn default() -> Self {
11482 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11483 unsafe {
11484 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11485 s.assume_init()
11486 }
11487 }
11488}
11489#[doc = " Structure containing the result of a delete cache operation"]
11490pub type EOS_TitleStorage_DeleteCacheCallbackInfo = _tagEOS_TitleStorage_DeleteCacheCallbackInfo;
11491#[doc = " Callback for when EOS_TitleStorage_DeleteCache completes"]
11492pub type EOS_TitleStorage_OnDeleteCacheCompleteCallback = ::std::option::Option<
11493 unsafe extern "C" fn(Data: *const EOS_TitleStorage_DeleteCacheCallbackInfo),
11494>;
11495#[repr(C)]
11496#[derive(Debug, Copy, Clone)]
11497pub struct EOS_ConnectHandle {
11498 _unused: [u8; 0],
11499}
11500pub type EOS_HConnect = *mut EOS_ConnectHandle;
11501#[doc = " A structure that contains external login credentials.\n\n This is part of the input structure EOS_Connect_LoginOptions.\n\n @see EOS_EExternalCredentialType\n @see EOS_Connect_Login"]
11502#[repr(C)]
11503#[derive(Debug, Copy, Clone)]
11504pub struct _tagEOS_Connect_Credentials {
11505 #[doc = " API Version: Set this to EOS_CONNECT_CREDENTIALS_API_LATEST."]
11506 pub ApiVersion: i32,
11507 #[doc = " External token associated with the user logging in."]
11508 pub Token: *const ::std::os::raw::c_char,
11509 #[doc = " Type of external login; identifies the auth method to use."]
11510 pub Type: EOS_EExternalCredentialType,
11511}
11512impl Default for _tagEOS_Connect_Credentials {
11513 fn default() -> Self {
11514 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11515 unsafe {
11516 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11517 s.assume_init()
11518 }
11519 }
11520}
11521#[doc = " A structure that contains external login credentials.\n\n This is part of the input structure EOS_Connect_LoginOptions.\n\n @see EOS_EExternalCredentialType\n @see EOS_Connect_Login"]
11522pub type EOS_Connect_Credentials = _tagEOS_Connect_Credentials;
11523#[doc = " Additional information about the local user."]
11524#[repr(C)]
11525#[derive(Debug, Copy, Clone)]
11526pub struct _tagEOS_Connect_UserLoginInfo {
11527 #[doc = " API Version: Set this to EOS_CONNECT_USERLOGININFO_API_LATEST."]
11528 pub ApiVersion: i32,
11529 #[doc = " The user's display name on the identity provider systems as UTF-8 encoded null-terminated string.\n The length of the name can be at maximum up to EOS_CONNECT_USERLOGININFO_DISPLAYNAME_MAX_LENGTH bytes.\n\n As the display name passed here is client-controlled and not part of user authentication tokens,\n it is only treated as non-authoritative informational data to be used by some of the feature services.\n For example displaying player names in Leaderboards rankings."]
11530 pub DisplayName: *const ::std::os::raw::c_char,
11531 #[doc = " Nintendo Service Account ID Token (NSA ID).\n\n This field is required to be set and only used when running on the Nintendo Switch device,\n and the user is being authenticated using any other credential type than EOS_ECT_NINTENDO_NSA_ID_TOKEN.\n\n In order to use the Lobbies and Sessions interfaces, a valid NSA ID Token is required to be provided\n for the active local Nintendo Switch user. Otherwise, attempting to use either of the Lobbies or\n Sessions interfaces will return the EOS_Permission_OnlinePlayRestricted error result."]
11532 pub NsaIdToken: *const ::std::os::raw::c_char,
11533}
11534impl Default for _tagEOS_Connect_UserLoginInfo {
11535 fn default() -> Self {
11536 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11537 unsafe {
11538 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11539 s.assume_init()
11540 }
11541 }
11542}
11543#[doc = " Additional information about the local user."]
11544pub type EOS_Connect_UserLoginInfo = _tagEOS_Connect_UserLoginInfo;
11545#[doc = " Input parameters for the EOS_Connect_Login function."]
11546#[repr(C)]
11547#[derive(Debug, Copy, Clone)]
11548pub struct _tagEOS_Connect_LoginOptions {
11549 #[doc = " API Version: Set this to EOS_CONNECT_LOGIN_API_LATEST."]
11550 pub ApiVersion: i32,
11551 #[doc = " Credentials specified for a given login method"]
11552 pub Credentials: *const EOS_Connect_Credentials,
11553 #[doc = " Additional information about the local user.\n\n This field is required to be set and used when authenticating the user using Amazon, Apple, Google, Nintendo Account, Nintendo Service Account, Oculus or the Device ID feature login.\n It is also required for using the Lobbies and Sessions interfaces when running on the Nintendo Switch device, and using any other credential type than EOS_ECT_NINTENDO_NSA_ID_TOKEN.\n In all other cases, set this field to NULL."]
11554 pub UserLoginInfo: *const EOS_Connect_UserLoginInfo,
11555}
11556impl Default for _tagEOS_Connect_LoginOptions {
11557 fn default() -> Self {
11558 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11559 unsafe {
11560 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11561 s.assume_init()
11562 }
11563 }
11564}
11565#[doc = " Input parameters for the EOS_Connect_Login function."]
11566pub type EOS_Connect_LoginOptions = _tagEOS_Connect_LoginOptions;
11567#[doc = " Output parameters for the EOS_Connect_Login function."]
11568#[repr(C)]
11569#[derive(Debug, Copy, Clone)]
11570pub struct _tagEOS_Connect_LoginCallbackInfo {
11571 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
11572 pub ResultCode: EOS_EResult,
11573 #[doc = " Context that was passed into EOS_Connect_Login."]
11574 pub ClientData: *mut ::std::os::raw::c_void,
11575 #[doc = " If login was successful, this is the Product User ID of the local player that logged in."]
11576 pub LocalUserId: EOS_ProductUserId,
11577 #[doc = " If the user was not found with credentials passed into EOS_Connect_Login,\n this continuance token can be passed to either EOS_Connect_CreateUser\n or EOS_Connect_LinkAccount to continue the flow."]
11578 pub ContinuanceToken: EOS_ContinuanceToken,
11579}
11580impl Default for _tagEOS_Connect_LoginCallbackInfo {
11581 fn default() -> Self {
11582 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11583 unsafe {
11584 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11585 s.assume_init()
11586 }
11587 }
11588}
11589#[doc = " Output parameters for the EOS_Connect_Login function."]
11590pub type EOS_Connect_LoginCallbackInfo = _tagEOS_Connect_LoginCallbackInfo;
11591#[doc = " Function prototype definition for callbacks passed to EOS_Connect_Login.\n\n @param Data A EOS_Connect_LoginCallbackInfo containing the output information and result."]
11592pub type EOS_Connect_OnLoginCallback =
11593 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Connect_LoginCallbackInfo)>;
11594#[doc = " Input parameters for the EOS_Connect_Logout API"]
11595#[repr(C)]
11596#[derive(Debug, Copy, Clone)]
11597pub struct _tagEOS_Connect_LogoutOptions {
11598 #[doc = " API Version: Set this to EOS_CONNECT_LOGOUT_API_LATEST."]
11599 pub ApiVersion: i32,
11600 #[doc = " The Product User ID of the player to logout"]
11601 pub LocalUserId: EOS_ProductUserId,
11602}
11603impl Default for _tagEOS_Connect_LogoutOptions {
11604 fn default() -> Self {
11605 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11606 unsafe {
11607 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11608 s.assume_init()
11609 }
11610 }
11611}
11612#[doc = " Input parameters for the EOS_Connect_Logout API"]
11613pub type EOS_Connect_LogoutOptions = _tagEOS_Connect_LogoutOptions;
11614#[doc = " Output parameters for the EOS_Connect_Logout function."]
11615#[repr(C)]
11616#[derive(Debug, Copy, Clone)]
11617pub struct _tagEOS_Connect_LogoutCallbackInfo {
11618 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
11619 pub ResultCode: EOS_EResult,
11620 #[doc = " Context that was passed into EOS_Connect_Logout."]
11621 pub ClientData: *mut ::std::os::raw::c_void,
11622 #[doc = " The Product User ID of the player that is being logged out."]
11623 pub LocalUserId: EOS_ProductUserId,
11624}
11625impl Default for _tagEOS_Connect_LogoutCallbackInfo {
11626 fn default() -> Self {
11627 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11628 unsafe {
11629 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11630 s.assume_init()
11631 }
11632 }
11633}
11634#[doc = " Output parameters for the EOS_Connect_Logout function."]
11635pub type EOS_Connect_LogoutCallbackInfo = _tagEOS_Connect_LogoutCallbackInfo;
11636#[doc = " Function prototype definition for callbacks passed to EOS_Connect_Logout\n\n @param Data A EOS_Connect_LogoutCallbackInfo containing the result."]
11637pub type EOS_Connect_OnLogoutCallback =
11638 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Connect_LogoutCallbackInfo)>;
11639#[doc = " Input parameters for the EOS_Connect_CreateUser function."]
11640#[repr(C)]
11641#[derive(Debug, Copy, Clone)]
11642pub struct _tagEOS_Connect_CreateUserOptions {
11643 #[doc = " API Version: Set this to EOS_CONNECT_CREATEUSER_API_LATEST."]
11644 pub ApiVersion: i32,
11645 #[doc = " Continuance token from previous call to EOS_Connect_Login"]
11646 pub ContinuanceToken: EOS_ContinuanceToken,
11647}
11648impl Default for _tagEOS_Connect_CreateUserOptions {
11649 fn default() -> Self {
11650 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11651 unsafe {
11652 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11653 s.assume_init()
11654 }
11655 }
11656}
11657#[doc = " Input parameters for the EOS_Connect_CreateUser function."]
11658pub type EOS_Connect_CreateUserOptions = _tagEOS_Connect_CreateUserOptions;
11659#[doc = " Output parameters for the EOS_Connect_CreateUser function."]
11660#[repr(C)]
11661#[derive(Debug, Copy, Clone)]
11662pub struct _tagEOS_Connect_CreateUserCallbackInfo {
11663 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
11664 pub ResultCode: EOS_EResult,
11665 #[doc = " Context that was passed into EOS_Connect_CreateUser."]
11666 pub ClientData: *mut ::std::os::raw::c_void,
11667 #[doc = " If the operation succeeded, this is the Product User ID of the local user who was created."]
11668 pub LocalUserId: EOS_ProductUserId,
11669}
11670impl Default for _tagEOS_Connect_CreateUserCallbackInfo {
11671 fn default() -> Self {
11672 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11673 unsafe {
11674 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11675 s.assume_init()
11676 }
11677 }
11678}
11679#[doc = " Output parameters for the EOS_Connect_CreateUser function."]
11680pub type EOS_Connect_CreateUserCallbackInfo = _tagEOS_Connect_CreateUserCallbackInfo;
11681#[doc = " Function prototype definition for callbacks passed to EOS_Connect_CreateUser.\n\n @param Data A EOS_Connect_CreateUserCallbackInfo containing the output information and result."]
11682pub type EOS_Connect_OnCreateUserCallback =
11683 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Connect_CreateUserCallbackInfo)>;
11684#[doc = " Input parameters for the EOS_Connect_LinkAccount function."]
11685#[repr(C)]
11686#[derive(Debug, Copy, Clone)]
11687pub struct _tagEOS_Connect_LinkAccountOptions {
11688 #[doc = " API Version: Set this to EOS_CONNECT_LINKACCOUNT_API_LATEST."]
11689 pub ApiVersion: i32,
11690 #[doc = " The existing logged in product user for which to link the external account described by the continuance token."]
11691 pub LocalUserId: EOS_ProductUserId,
11692 #[doc = " Continuance token from previous call to EOS_Connect_Login."]
11693 pub ContinuanceToken: EOS_ContinuanceToken,
11694}
11695impl Default for _tagEOS_Connect_LinkAccountOptions {
11696 fn default() -> Self {
11697 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11698 unsafe {
11699 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11700 s.assume_init()
11701 }
11702 }
11703}
11704#[doc = " Input parameters for the EOS_Connect_LinkAccount function."]
11705pub type EOS_Connect_LinkAccountOptions = _tagEOS_Connect_LinkAccountOptions;
11706#[doc = " Output parameters for the EOS_Connect_LinkAccount function."]
11707#[repr(C)]
11708#[derive(Debug, Copy, Clone)]
11709pub struct _tagEOS_Connect_LinkAccountCallbackInfo {
11710 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
11711 pub ResultCode: EOS_EResult,
11712 #[doc = " Context that was passed into EOS_Connect_LinkAccount."]
11713 pub ClientData: *mut ::std::os::raw::c_void,
11714 #[doc = " The Product User ID of the existing, logged-in user whose account was linked (on success)."]
11715 pub LocalUserId: EOS_ProductUserId,
11716}
11717impl Default for _tagEOS_Connect_LinkAccountCallbackInfo {
11718 fn default() -> Self {
11719 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11720 unsafe {
11721 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11722 s.assume_init()
11723 }
11724 }
11725}
11726#[doc = " Output parameters for the EOS_Connect_LinkAccount function."]
11727pub type EOS_Connect_LinkAccountCallbackInfo = _tagEOS_Connect_LinkAccountCallbackInfo;
11728#[doc = " Function prototype definition for callbacks passed to EOS_Connect_LinkAccount.\n\n @param Data A EOS_Connect_LinkAccountCallbackInfo containing the output information and result."]
11729pub type EOS_Connect_OnLinkAccountCallback =
11730 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Connect_LinkAccountCallbackInfo)>;
11731#[doc = " Input parameters for the EOS_Connect_UnlinkAccount Function."]
11732#[repr(C)]
11733#[derive(Debug, Copy, Clone)]
11734pub struct _tagEOS_Connect_UnlinkAccountOptions {
11735 #[doc = " API Version: Set this to EOS_CONNECT_UNLINKACCOUNT_API_LATEST."]
11736 pub ApiVersion: i32,
11737 #[doc = " Existing logged in product user that is subject for the unlinking operation.\n The external account that was used to login to the product user will be unlinked from the owning keychain.\n\n On a successful operation, the product user will be logged out as the external account used to authenticate the user was unlinked from the owning keychain."]
11738 pub LocalUserId: EOS_ProductUserId,
11739}
11740impl Default for _tagEOS_Connect_UnlinkAccountOptions {
11741 fn default() -> Self {
11742 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11743 unsafe {
11744 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11745 s.assume_init()
11746 }
11747 }
11748}
11749#[doc = " Input parameters for the EOS_Connect_UnlinkAccount Function."]
11750pub type EOS_Connect_UnlinkAccountOptions = _tagEOS_Connect_UnlinkAccountOptions;
11751#[doc = " Output parameters for the EOS_Connect_UnlinkAccount Function."]
11752#[repr(C)]
11753#[derive(Debug, Copy, Clone)]
11754pub struct _tagEOS_Connect_UnlinkAccountCallbackInfo {
11755 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
11756 pub ResultCode: EOS_EResult,
11757 #[doc = " Context that was passed into EOS_Connect_UnlinkAccount."]
11758 pub ClientData: *mut ::std::os::raw::c_void,
11759 #[doc = " The product user that was subject for the unlinking operation.\n\n On a successful operation, the local authentication session for the product user will have been invalidated.\n As such, the LocalUserId value will no longer be valid in any context unless the user is logged into it again."]
11760 pub LocalUserId: EOS_ProductUserId,
11761}
11762impl Default for _tagEOS_Connect_UnlinkAccountCallbackInfo {
11763 fn default() -> Self {
11764 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11765 unsafe {
11766 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11767 s.assume_init()
11768 }
11769 }
11770}
11771#[doc = " Output parameters for the EOS_Connect_UnlinkAccount Function."]
11772pub type EOS_Connect_UnlinkAccountCallbackInfo = _tagEOS_Connect_UnlinkAccountCallbackInfo;
11773#[doc = " Function prototype definition for callbacks passed to EOS_Connect_UnlinkAccount.\n\n @param Data A EOS_Connect_UnlinkAccountCallbackInfo containing the output information and result"]
11774pub type EOS_Connect_OnUnlinkAccountCallback =
11775 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Connect_UnlinkAccountCallbackInfo)>;
11776#[doc = " Input parameters for the EOS_Connect_CreateDeviceId function."]
11777#[repr(C)]
11778#[derive(Debug, Copy, Clone)]
11779pub struct _tagEOS_Connect_CreateDeviceIdOptions {
11780 #[doc = " API Version: Set this to EOS_CONNECT_CREATEDEVICEID_API_LATEST."]
11781 pub ApiVersion: i32,
11782 #[doc = " A freeform text description identifying the device type and model,\n which can be used in account linking management to allow the player\n and customer support to identify different devices linked to an EOS\n user keychain. For example 'iPhone 6S' or 'PC Windows'.\n\n The input string must be in UTF-8 character format, with a maximum\n length of 64 characters. Longer string will be silently truncated.\n\n This field is required to be present."]
11783 pub DeviceModel: *const ::std::os::raw::c_char,
11784}
11785impl Default for _tagEOS_Connect_CreateDeviceIdOptions {
11786 fn default() -> Self {
11787 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11788 unsafe {
11789 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11790 s.assume_init()
11791 }
11792 }
11793}
11794#[doc = " Input parameters for the EOS_Connect_CreateDeviceId function."]
11795pub type EOS_Connect_CreateDeviceIdOptions = _tagEOS_Connect_CreateDeviceIdOptions;
11796#[doc = " Output parameters for the EOS_Connect_CreateDeviceId function."]
11797#[repr(C)]
11798#[derive(Debug, Copy, Clone)]
11799pub struct _tagEOS_Connect_CreateDeviceIdCallbackInfo {
11800 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
11801 pub ResultCode: EOS_EResult,
11802 #[doc = " Context that was passed into EOS_Connect_CreateDeviceId."]
11803 pub ClientData: *mut ::std::os::raw::c_void,
11804}
11805impl Default for _tagEOS_Connect_CreateDeviceIdCallbackInfo {
11806 fn default() -> Self {
11807 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11808 unsafe {
11809 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11810 s.assume_init()
11811 }
11812 }
11813}
11814#[doc = " Output parameters for the EOS_Connect_CreateDeviceId function."]
11815pub type EOS_Connect_CreateDeviceIdCallbackInfo = _tagEOS_Connect_CreateDeviceIdCallbackInfo;
11816#[doc = " Function prototype definition for callbacks passed to EOS_Connect_CreateDeviceId.\n\n @param Data A EOS_Connect_CreateDeviceIdCallbackInfo containing the output information and result."]
11817pub type EOS_Connect_OnCreateDeviceIdCallback = ::std::option::Option<
11818 unsafe extern "C" fn(Data: *const EOS_Connect_CreateDeviceIdCallbackInfo),
11819>;
11820#[doc = " Input parameters for the EOS_Connect_DeleteDeviceId function."]
11821#[repr(C)]
11822#[derive(Debug, Default, Copy, Clone)]
11823pub struct _tagEOS_Connect_DeleteDeviceIdOptions {
11824 #[doc = " API Version: Set this to EOS_CONNECT_DELETEDEVICEID_API_LATEST."]
11825 pub ApiVersion: i32,
11826}
11827#[doc = " Input parameters for the EOS_Connect_DeleteDeviceId function."]
11828pub type EOS_Connect_DeleteDeviceIdOptions = _tagEOS_Connect_DeleteDeviceIdOptions;
11829#[doc = " Output parameters for the EOS_Connect_DeleteDeviceId function."]
11830#[repr(C)]
11831#[derive(Debug, Copy, Clone)]
11832pub struct _tagEOS_Connect_DeleteDeviceIdCallbackInfo {
11833 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
11834 pub ResultCode: EOS_EResult,
11835 #[doc = " Context that was passed into EOS_Connect_DeleteDeviceId"]
11836 pub ClientData: *mut ::std::os::raw::c_void,
11837}
11838impl Default for _tagEOS_Connect_DeleteDeviceIdCallbackInfo {
11839 fn default() -> Self {
11840 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11841 unsafe {
11842 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11843 s.assume_init()
11844 }
11845 }
11846}
11847#[doc = " Output parameters for the EOS_Connect_DeleteDeviceId function."]
11848pub type EOS_Connect_DeleteDeviceIdCallbackInfo = _tagEOS_Connect_DeleteDeviceIdCallbackInfo;
11849#[doc = " Function prototype definition for callbacks passed to EOS_Connect_DeleteDeviceId.\n\n @param Data A EOS_Connect_DeleteDeviceIdCallbackInfo containing the output information and result."]
11850pub type EOS_Connect_OnDeleteDeviceIdCallback = ::std::option::Option<
11851 unsafe extern "C" fn(Data: *const EOS_Connect_DeleteDeviceIdCallbackInfo),
11852>;
11853#[doc = " Input parameters for the EOS_Connect_TransferDeviceIdAccount Function."]
11854#[repr(C)]
11855#[derive(Debug, Copy, Clone)]
11856pub struct _tagEOS_Connect_TransferDeviceIdAccountOptions {
11857 #[doc = " API Version: Set this to EOS_CONNECT_TRANSFERDEVICEIDACCOUNT_API_LATEST."]
11858 pub ApiVersion: i32,
11859 #[doc = " The primary product user id, currently logged in, that is already associated with a real external user account (such as Epic Games, PlayStation(TM)Network, Xbox Live and other).\n\n The account linking keychain that owns this product user will be preserved and receive\n the Device ID login credentials under it."]
11860 pub PrimaryLocalUserId: EOS_ProductUserId,
11861 #[doc = " The product user id, currently logged in, that has been originally created using the anonymous local Device ID login type,\n and whose Device ID login will be transferred to the keychain of the PrimaryLocalUserId."]
11862 pub LocalDeviceUserId: EOS_ProductUserId,
11863 #[doc = " Specifies which EOS_ProductUserId (i.e. game progression) will be preserved in the operation.\n\n After a successful transfer operation, subsequent logins using the same external account or\n the same local Device ID login will return user session for the ProductUserIdToPreserve.\n\n Set to either PrimaryLocalUserId or LocalDeviceUserId."]
11864 pub ProductUserIdToPreserve: EOS_ProductUserId,
11865}
11866impl Default for _tagEOS_Connect_TransferDeviceIdAccountOptions {
11867 fn default() -> Self {
11868 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11869 unsafe {
11870 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11871 s.assume_init()
11872 }
11873 }
11874}
11875#[doc = " Input parameters for the EOS_Connect_TransferDeviceIdAccount Function."]
11876pub type EOS_Connect_TransferDeviceIdAccountOptions =
11877 _tagEOS_Connect_TransferDeviceIdAccountOptions;
11878#[doc = " Output parameters for the EOS_Connect_TransferDeviceIdAccount Function."]
11879#[repr(C)]
11880#[derive(Debug, Copy, Clone)]
11881pub struct _tagEOS_Connect_TransferDeviceIdAccountCallbackInfo {
11882 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
11883 pub ResultCode: EOS_EResult,
11884 #[doc = " Context that was passed into EOS_Connect_TransferDeviceIdAccount."]
11885 pub ClientData: *mut ::std::os::raw::c_void,
11886 #[doc = " The ProductUserIdToPreserve that was passed to the original EOS_Connect_TransferDeviceIdAccount call.\n\n On successful operation, this EOS_ProductUserId will have a valid authentication session\n and the other EOS_ProductUserId value has been discarded and lost forever.\n\n The application should remove any registered notification callbacks for the discarded EOS_ProductUserId as obsolete."]
11887 pub LocalUserId: EOS_ProductUserId,
11888}
11889impl Default for _tagEOS_Connect_TransferDeviceIdAccountCallbackInfo {
11890 fn default() -> Self {
11891 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11892 unsafe {
11893 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11894 s.assume_init()
11895 }
11896 }
11897}
11898#[doc = " Output parameters for the EOS_Connect_TransferDeviceIdAccount Function."]
11899pub type EOS_Connect_TransferDeviceIdAccountCallbackInfo =
11900 _tagEOS_Connect_TransferDeviceIdAccountCallbackInfo;
11901#[doc = " Function prototype definition for callbacks passed to EOS_Connect_TransferDeviceIdAccount.\n\n @param Data A EOS_Connect_TransferDeviceIdAccountCallbackInfo containing the output information and result."]
11902pub type EOS_Connect_OnTransferDeviceIdAccountCallback = ::std::option::Option<
11903 unsafe extern "C" fn(Data: *const EOS_Connect_TransferDeviceIdAccountCallbackInfo),
11904>;
11905#[doc = " Input parameters for the EOS_Connect_QueryExternalAccountMappings function."]
11906#[repr(C)]
11907#[derive(Debug, Copy, Clone)]
11908pub struct _tagEOS_Connect_QueryExternalAccountMappingsOptions {
11909 #[doc = " API Version: Set this to EOS_CONNECT_QUERYEXTERNALACCOUNTMAPPINGS_API_LATEST."]
11910 pub ApiVersion: i32,
11911 #[doc = " The Product User ID of the existing, logged-in user who is querying account mappings."]
11912 pub LocalUserId: EOS_ProductUserId,
11913 #[doc = " External auth service supplying the account IDs in string form."]
11914 pub AccountIdType: EOS_EExternalAccountType,
11915 #[doc = " An array of external account IDs to map to the product user ID representation."]
11916 pub ExternalAccountIds: *mut *const ::std::os::raw::c_char,
11917 #[doc = " Number of account IDs to query."]
11918 pub ExternalAccountIdCount: u32,
11919}
11920impl Default for _tagEOS_Connect_QueryExternalAccountMappingsOptions {
11921 fn default() -> Self {
11922 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11923 unsafe {
11924 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11925 s.assume_init()
11926 }
11927 }
11928}
11929#[doc = " Input parameters for the EOS_Connect_QueryExternalAccountMappings function."]
11930pub type EOS_Connect_QueryExternalAccountMappingsOptions =
11931 _tagEOS_Connect_QueryExternalAccountMappingsOptions;
11932#[doc = " Output parameters for the EOS_Connect_QueryExternalAccountMappings function."]
11933#[repr(C)]
11934#[derive(Debug, Copy, Clone)]
11935pub struct _tagEOS_Connect_QueryExternalAccountMappingsCallbackInfo {
11936 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
11937 pub ResultCode: EOS_EResult,
11938 #[doc = " Context that was passed into EOS_Connect_QueryExternalAccountMappings."]
11939 pub ClientData: *mut ::std::os::raw::c_void,
11940 #[doc = " The Product User ID of the existing, logged-in user who made the request."]
11941 pub LocalUserId: EOS_ProductUserId,
11942}
11943impl Default for _tagEOS_Connect_QueryExternalAccountMappingsCallbackInfo {
11944 fn default() -> Self {
11945 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11946 unsafe {
11947 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11948 s.assume_init()
11949 }
11950 }
11951}
11952#[doc = " Output parameters for the EOS_Connect_QueryExternalAccountMappings function."]
11953pub type EOS_Connect_QueryExternalAccountMappingsCallbackInfo =
11954 _tagEOS_Connect_QueryExternalAccountMappingsCallbackInfo;
11955#[doc = " Function prototype definition for callbacks passed to EOS_Connect_QueryExternalAccountMappings.\n\n @param Data A EOS_Connect_QueryExternalAccountMappingsCallbackInfo containing the output information and result."]
11956pub type EOS_Connect_OnQueryExternalAccountMappingsCallback = ::std::option::Option<
11957 unsafe extern "C" fn(Data: *const EOS_Connect_QueryExternalAccountMappingsCallbackInfo),
11958>;
11959#[doc = " Input parameters for the EOS_Connect_GetExternalAccountMapping function."]
11960#[repr(C)]
11961#[derive(Debug, Copy, Clone)]
11962pub struct _tagEOS_Connect_GetExternalAccountMappingsOptions {
11963 #[doc = " API Version: Set this to EOS_CONNECT_GETEXTERNALACCOUNTMAPPING_API_LATEST."]
11964 pub ApiVersion: i32,
11965 #[doc = " The Product User ID of the existing, logged-in user who is querying account mappings."]
11966 pub LocalUserId: EOS_ProductUserId,
11967 #[doc = " External auth service supplying the account IDs in string form."]
11968 pub AccountIdType: EOS_EExternalAccountType,
11969 #[doc = " Target user to retrieve the mapping for, as an external account ID."]
11970 pub TargetExternalUserId: *const ::std::os::raw::c_char,
11971}
11972impl Default for _tagEOS_Connect_GetExternalAccountMappingsOptions {
11973 fn default() -> Self {
11974 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11975 unsafe {
11976 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11977 s.assume_init()
11978 }
11979 }
11980}
11981#[doc = " Input parameters for the EOS_Connect_GetExternalAccountMapping function."]
11982pub type EOS_Connect_GetExternalAccountMappingsOptions =
11983 _tagEOS_Connect_GetExternalAccountMappingsOptions;
11984#[doc = " Input parameters for the EOS_Connect_QueryProductUserIdMappings function."]
11985#[repr(C)]
11986#[derive(Debug, Copy, Clone)]
11987pub struct _tagEOS_Connect_QueryProductUserIdMappingsOptions {
11988 #[doc = " API Version: Set this to EOS_CONNECT_QUERYPRODUCTUSERIDMAPPINGS_API_LATEST."]
11989 pub ApiVersion: i32,
11990 #[doc = " Game Clients set this field to the Product User ID of the local authenticated user querying account mappings.\n Game Servers set this field to NULL. Usage is allowed given that the configured client policy for server credentials permit it."]
11991 pub LocalUserId: EOS_ProductUserId,
11992 #[doc = " Deprecated - all external mappings are included in this call, it is no longer necessary to specify this value."]
11993 pub AccountIdType_DEPRECATED: EOS_EExternalAccountType,
11994 #[doc = " An array of Product User IDs to query for the given external account representation."]
11995 pub ProductUserIds: *mut EOS_ProductUserId,
11996 #[doc = " Number of Product User IDs to query."]
11997 pub ProductUserIdCount: u32,
11998}
11999impl Default for _tagEOS_Connect_QueryProductUserIdMappingsOptions {
12000 fn default() -> Self {
12001 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12002 unsafe {
12003 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12004 s.assume_init()
12005 }
12006 }
12007}
12008#[doc = " Input parameters for the EOS_Connect_QueryProductUserIdMappings function."]
12009pub type EOS_Connect_QueryProductUserIdMappingsOptions =
12010 _tagEOS_Connect_QueryProductUserIdMappingsOptions;
12011#[doc = " Output parameters for the EOS_Connect_QueryProductUserIdMappings function."]
12012#[repr(C)]
12013#[derive(Debug, Copy, Clone)]
12014pub struct _tagEOS_Connect_QueryProductUserIdMappingsCallbackInfo {
12015 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
12016 pub ResultCode: EOS_EResult,
12017 #[doc = " Context that was passed into EOS_Connect_QueryProductUserIdMappings."]
12018 pub ClientData: *mut ::std::os::raw::c_void,
12019 #[doc = " The local Product User ID that was passed with the input options."]
12020 pub LocalUserId: EOS_ProductUserId,
12021}
12022impl Default for _tagEOS_Connect_QueryProductUserIdMappingsCallbackInfo {
12023 fn default() -> Self {
12024 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12025 unsafe {
12026 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12027 s.assume_init()
12028 }
12029 }
12030}
12031#[doc = " Output parameters for the EOS_Connect_QueryProductUserIdMappings function."]
12032pub type EOS_Connect_QueryProductUserIdMappingsCallbackInfo =
12033 _tagEOS_Connect_QueryProductUserIdMappingsCallbackInfo;
12034#[doc = " Function prototype definition for callbacks passed to EOS_Connect_QueryProductUserIdMappings.\n\n @param Data A EOS_Connect_QueryProductUserIdMappingsCallbackInfo containing the output information and result."]
12035pub type EOS_Connect_OnQueryProductUserIdMappingsCallback = ::std::option::Option<
12036 unsafe extern "C" fn(Data: *const EOS_Connect_QueryProductUserIdMappingsCallbackInfo),
12037>;
12038#[doc = " Input parameters for the EOS_Connect_GetProductUserIdMapping function."]
12039#[repr(C)]
12040#[derive(Debug, Copy, Clone)]
12041pub struct _tagEOS_Connect_GetProductUserIdMappingOptions {
12042 #[doc = " API Version: Set this to EOS_CONNECT_GETPRODUCTUSERIDMAPPING_API_LATEST."]
12043 pub ApiVersion: i32,
12044 #[doc = " The Product User ID of the existing, logged-in user that is querying account mappings."]
12045 pub LocalUserId: EOS_ProductUserId,
12046 #[doc = " External auth service mapping to retrieve."]
12047 pub AccountIdType: EOS_EExternalAccountType,
12048 #[doc = " The Product User ID of the user whose information is being requested."]
12049 pub TargetProductUserId: EOS_ProductUserId,
12050}
12051impl Default for _tagEOS_Connect_GetProductUserIdMappingOptions {
12052 fn default() -> Self {
12053 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12054 unsafe {
12055 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12056 s.assume_init()
12057 }
12058 }
12059}
12060#[doc = " Input parameters for the EOS_Connect_GetProductUserIdMapping function."]
12061pub type EOS_Connect_GetProductUserIdMappingOptions =
12062 _tagEOS_Connect_GetProductUserIdMappingOptions;
12063#[doc = " Input parameters for the EOS_Connect_GetProductUserExternalAccountCount function."]
12064#[repr(C)]
12065#[derive(Debug, Copy, Clone)]
12066pub struct _tagEOS_Connect_GetProductUserExternalAccountCountOptions {
12067 #[doc = " API Version: Set this to EOS_CONNECT_GETPRODUCTUSEREXTERNALACCOUNTCOUNT_API_LATEST."]
12068 pub ApiVersion: i32,
12069 #[doc = " The Product User ID to look for when getting external account info count from the cache."]
12070 pub TargetUserId: EOS_ProductUserId,
12071}
12072impl Default for _tagEOS_Connect_GetProductUserExternalAccountCountOptions {
12073 fn default() -> Self {
12074 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12075 unsafe {
12076 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12077 s.assume_init()
12078 }
12079 }
12080}
12081#[doc = " Input parameters for the EOS_Connect_GetProductUserExternalAccountCount function."]
12082pub type EOS_Connect_GetProductUserExternalAccountCountOptions =
12083 _tagEOS_Connect_GetProductUserExternalAccountCountOptions;
12084#[doc = " Input parameters for the EOS_Connect_CopyProductUserExternalAccountByIndex function."]
12085#[repr(C)]
12086#[derive(Debug, Copy, Clone)]
12087pub struct _tagEOS_Connect_CopyProductUserExternalAccountByIndexOptions {
12088 #[doc = " API Version: Set this to EOS_CONNECT_COPYPRODUCTUSEREXTERNALACCOUNTBYINDEX_API_LATEST."]
12089 pub ApiVersion: i32,
12090 #[doc = " The Product User ID to look for when copying external account info from the cache."]
12091 pub TargetUserId: EOS_ProductUserId,
12092 #[doc = " Index of the external account info to retrieve from the cache."]
12093 pub ExternalAccountInfoIndex: u32,
12094}
12095impl Default for _tagEOS_Connect_CopyProductUserExternalAccountByIndexOptions {
12096 fn default() -> Self {
12097 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12098 unsafe {
12099 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12100 s.assume_init()
12101 }
12102 }
12103}
12104#[doc = " Input parameters for the EOS_Connect_CopyProductUserExternalAccountByIndex function."]
12105pub type EOS_Connect_CopyProductUserExternalAccountByIndexOptions =
12106 _tagEOS_Connect_CopyProductUserExternalAccountByIndexOptions;
12107#[doc = " Input parameters for the EOS_Connect_CopyProductUserExternalAccountByAccountType function."]
12108#[repr(C)]
12109#[derive(Debug, Copy, Clone)]
12110pub struct _tagEOS_Connect_CopyProductUserExternalAccountByAccountTypeOptions {
12111 #[doc = " API Version: Set this to EOS_CONNECT_COPYPRODUCTUSEREXTERNALACCOUNTBYACCOUNTTYPE_API_LATEST."]
12112 pub ApiVersion: i32,
12113 #[doc = " The Product User ID to look for when copying external account info from the cache."]
12114 pub TargetUserId: EOS_ProductUserId,
12115 #[doc = " External auth service account type to look for when copying external account info from the cache."]
12116 pub AccountIdType: EOS_EExternalAccountType,
12117}
12118impl Default for _tagEOS_Connect_CopyProductUserExternalAccountByAccountTypeOptions {
12119 fn default() -> Self {
12120 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12121 unsafe {
12122 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12123 s.assume_init()
12124 }
12125 }
12126}
12127#[doc = " Input parameters for the EOS_Connect_CopyProductUserExternalAccountByAccountType function."]
12128pub type EOS_Connect_CopyProductUserExternalAccountByAccountTypeOptions =
12129 _tagEOS_Connect_CopyProductUserExternalAccountByAccountTypeOptions;
12130#[doc = " Input parameters for the EOS_Connect_CopyProductUserExternalAccountByAccountId function."]
12131#[repr(C)]
12132#[derive(Debug, Copy, Clone)]
12133pub struct _tagEOS_Connect_CopyProductUserExternalAccountByAccountIdOptions {
12134 #[doc = " API Version: Set this to EOS_CONNECT_COPYPRODUCTUSEREXTERNALACCOUNTBYACCOUNTID_API_LATEST."]
12135 pub ApiVersion: i32,
12136 #[doc = " The Product User ID to look for when copying external account info from the cache."]
12137 pub TargetUserId: EOS_ProductUserId,
12138 #[doc = " External auth service account ID to look for when copying external account info from the cache."]
12139 pub AccountId: *const ::std::os::raw::c_char,
12140}
12141impl Default for _tagEOS_Connect_CopyProductUserExternalAccountByAccountIdOptions {
12142 fn default() -> Self {
12143 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12144 unsafe {
12145 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12146 s.assume_init()
12147 }
12148 }
12149}
12150#[doc = " Input parameters for the EOS_Connect_CopyProductUserExternalAccountByAccountId function."]
12151pub type EOS_Connect_CopyProductUserExternalAccountByAccountIdOptions =
12152 _tagEOS_Connect_CopyProductUserExternalAccountByAccountIdOptions;
12153#[doc = " Input parameters for the EOS_Connect_CopyProductUserInfo function."]
12154#[repr(C)]
12155#[derive(Debug, Copy, Clone)]
12156pub struct _tagEOS_Connect_CopyProductUserInfoOptions {
12157 #[doc = " API Version: Set this to EOS_CONNECT_COPYPRODUCTUSERINFO_API_LATEST."]
12158 pub ApiVersion: i32,
12159 #[doc = " Product user ID to look for when copying external account info from the cache."]
12160 pub TargetUserId: EOS_ProductUserId,
12161}
12162impl Default for _tagEOS_Connect_CopyProductUserInfoOptions {
12163 fn default() -> Self {
12164 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12165 unsafe {
12166 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12167 s.assume_init()
12168 }
12169 }
12170}
12171#[doc = " Input parameters for the EOS_Connect_CopyProductUserInfo function."]
12172pub type EOS_Connect_CopyProductUserInfoOptions = _tagEOS_Connect_CopyProductUserInfoOptions;
12173#[doc = " Contains information about an external account linked with a Product User ID."]
12174#[repr(C)]
12175#[derive(Debug, Copy, Clone)]
12176pub struct _tagEOS_Connect_ExternalAccountInfo {
12177 #[doc = " API Version: Set this to EOS_CONNECT_EXTERNALACCOUNTINFO_API_LATEST."]
12178 pub ApiVersion: i32,
12179 #[doc = " The Product User ID of the target user."]
12180 pub ProductUserId: EOS_ProductUserId,
12181 #[doc = " Display name, can be null if not set."]
12182 pub DisplayName: *const ::std::os::raw::c_char,
12183 #[doc = " External account ID.\n\n May be set to an empty string if the AccountIdType of another user belongs\n to different account system than the local user's authenticated account.\n The availability of this field is dependent on account system specifics."]
12184 pub AccountId: *const ::std::os::raw::c_char,
12185 #[doc = " The identity provider that owns the external account."]
12186 pub AccountIdType: EOS_EExternalAccountType,
12187 #[doc = " The POSIX timestamp for the time the user last logged in, or EOS_CONNECT_TIME_UNDEFINED."]
12188 pub LastLoginTime: i64,
12189}
12190impl Default for _tagEOS_Connect_ExternalAccountInfo {
12191 fn default() -> Self {
12192 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12193 unsafe {
12194 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12195 s.assume_init()
12196 }
12197 }
12198}
12199#[doc = " Contains information about an external account linked with a Product User ID."]
12200pub type EOS_Connect_ExternalAccountInfo = _tagEOS_Connect_ExternalAccountInfo;
12201unsafe extern "C" {
12202 #[doc = " Release the memory associated with an external account info. This must be called on data retrieved from\n EOS_Connect_CopyProductUserExternalAccountByIndex, EOS_Connect_CopyProductUserExternalAccountByAccountType,\n EOS_Connect_CopyProductUserExternalAccountByAccountId or EOS_Connect_CopyProductUserInfo.\n\n @param ExternalAccountInfo The external account info data to release.\n\n @see EOS_Connect_CopyProductUserExternalAccountByIndex\n @see EOS_Connect_CopyProductUserExternalAccountByAccountType\n @see EOS_Connect_CopyProductUserExternalAccountByAccountId\n @see EOS_Connect_CopyProductUserInfo"]
12203 pub fn EOS_Connect_ExternalAccountInfo_Release(
12204 ExternalAccountInfo: *mut EOS_Connect_ExternalAccountInfo,
12205 );
12206}
12207#[doc = " Structure containing information for the auth expiration notification callback."]
12208#[repr(C)]
12209#[derive(Debug, Default, Copy, Clone)]
12210pub struct _tagEOS_Connect_AddNotifyAuthExpirationOptions {
12211 #[doc = " API Version: Set this to EOS_CONNECT_ADDNOTIFYAUTHEXPIRATION_API_LATEST."]
12212 pub ApiVersion: i32,
12213}
12214#[doc = " Structure containing information for the auth expiration notification callback."]
12215pub type EOS_Connect_AddNotifyAuthExpirationOptions =
12216 _tagEOS_Connect_AddNotifyAuthExpirationOptions;
12217#[doc = " Output parameters for the EOS_Connect_OnAuthExpirationCallback function."]
12218#[repr(C)]
12219#[derive(Debug, Copy, Clone)]
12220pub struct _tagEOS_Connect_AuthExpirationCallbackInfo {
12221 #[doc = " Context that was passed into EOS_Connect_AddNotifyAuthExpiration."]
12222 pub ClientData: *mut ::std::os::raw::c_void,
12223 #[doc = " The Product User ID of the local player whose status has changed."]
12224 pub LocalUserId: EOS_ProductUserId,
12225}
12226impl Default for _tagEOS_Connect_AuthExpirationCallbackInfo {
12227 fn default() -> Self {
12228 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12229 unsafe {
12230 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12231 s.assume_init()
12232 }
12233 }
12234}
12235#[doc = " Output parameters for the EOS_Connect_OnAuthExpirationCallback function."]
12236pub type EOS_Connect_AuthExpirationCallbackInfo = _tagEOS_Connect_AuthExpirationCallbackInfo;
12237#[doc = " Function prototype definition for notifications that come from EOS_Connect_AddNotifyAuthExpiration.\n\n @param Data A EOS_Connect_AuthExpirationCallbackInfo containing the output information and result."]
12238pub type EOS_Connect_OnAuthExpirationCallback = ::std::option::Option<
12239 unsafe extern "C" fn(Data: *const EOS_Connect_AuthExpirationCallbackInfo),
12240>;
12241#[doc = " Structure containing information or the connect user login status change callback."]
12242#[repr(C)]
12243#[derive(Debug, Default, Copy, Clone)]
12244pub struct _tagEOS_Connect_AddNotifyLoginStatusChangedOptions {
12245 #[doc = " API Version: Set this to EOS_CONNECT_ADDNOTIFYLOGINSTATUSCHANGED_API_LATEST."]
12246 pub ApiVersion: i32,
12247}
12248#[doc = " Structure containing information or the connect user login status change callback."]
12249pub type EOS_Connect_AddNotifyLoginStatusChangedOptions =
12250 _tagEOS_Connect_AddNotifyLoginStatusChangedOptions;
12251#[doc = " Output parameters for the EOS_Connect_OnLoginStatusChangedCallback function."]
12252#[repr(C)]
12253#[derive(Debug, Copy, Clone)]
12254pub struct _tagEOS_Connect_LoginStatusChangedCallbackInfo {
12255 #[doc = " Context that was passed into EOS_Connect_AddNotifyLoginStatusChanged."]
12256 pub ClientData: *mut ::std::os::raw::c_void,
12257 #[doc = " The Product User ID of the local player whose status has changed."]
12258 pub LocalUserId: EOS_ProductUserId,
12259 #[doc = " The status prior to the change."]
12260 pub PreviousStatus: EOS_ELoginStatus,
12261 #[doc = " The status at the time of the notification."]
12262 pub CurrentStatus: EOS_ELoginStatus,
12263}
12264impl Default for _tagEOS_Connect_LoginStatusChangedCallbackInfo {
12265 fn default() -> Self {
12266 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12267 unsafe {
12268 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12269 s.assume_init()
12270 }
12271 }
12272}
12273#[doc = " Output parameters for the EOS_Connect_OnLoginStatusChangedCallback function."]
12274pub type EOS_Connect_LoginStatusChangedCallbackInfo =
12275 _tagEOS_Connect_LoginStatusChangedCallbackInfo;
12276#[doc = " Function prototype definition for notifications that come from EOS_Connect_AddNotifyLoginStatusChanged.\n\n @param Data A EOS_Connect_LoginStatusChangedCallbackInfo containing the output information and result."]
12277pub type EOS_Connect_OnLoginStatusChangedCallback = ::std::option::Option<
12278 unsafe extern "C" fn(Data: *const EOS_Connect_LoginStatusChangedCallbackInfo),
12279>;
12280#[doc = " A structure that contains an ID token.\n These structures are created by EOS_Connect_CopyIdToken and must be passed to EOS_Connect_IdToken_Release."]
12281#[repr(C)]
12282#[derive(Debug, Copy, Clone)]
12283pub struct _tagEOS_Connect_IdToken {
12284 #[doc = " API Version: Set this to EOS_CONNECT_IDTOKEN_API_LATEST."]
12285 pub ApiVersion: i32,
12286 #[doc = " The Product User ID described by the ID token.\n Use EOS_ProductUserId_FromString to populate this field when validating a received ID token."]
12287 pub ProductUserId: EOS_ProductUserId,
12288 #[doc = " The ID token as a Json Web Token (JWT) string."]
12289 pub JsonWebToken: *const ::std::os::raw::c_char,
12290}
12291impl Default for _tagEOS_Connect_IdToken {
12292 fn default() -> Self {
12293 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12294 unsafe {
12295 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12296 s.assume_init()
12297 }
12298 }
12299}
12300#[doc = " A structure that contains an ID token.\n These structures are created by EOS_Connect_CopyIdToken and must be passed to EOS_Connect_IdToken_Release."]
12301pub type EOS_Connect_IdToken = _tagEOS_Connect_IdToken;
12302unsafe extern "C" {
12303 #[doc = " Release the memory associated with an EOS_Connect_IdToken structure. This must be called on data retrieved from EOS_Connect_CopyIdToken.\n\n @param IdToken The ID token structure to be released.\n\n @see EOS_Connect_IdToken\n @see EOS_Connect_CopyIdToken"]
12304 pub fn EOS_Connect_IdToken_Release(IdToken: *mut EOS_Connect_IdToken);
12305}
12306#[doc = " Input parameters for the EOS_Connect_CopyIdToken function."]
12307#[repr(C)]
12308#[derive(Debug, Copy, Clone)]
12309pub struct _tagEOS_Connect_CopyIdTokenOptions {
12310 #[doc = " API Version: Set this to EOS_CONNECT_COPYIDTOKEN_API_LATEST."]
12311 pub ApiVersion: i32,
12312 #[doc = " The local Product User ID whose ID token should be copied."]
12313 pub LocalUserId: EOS_ProductUserId,
12314}
12315impl Default for _tagEOS_Connect_CopyIdTokenOptions {
12316 fn default() -> Self {
12317 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12318 unsafe {
12319 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12320 s.assume_init()
12321 }
12322 }
12323}
12324#[doc = " Input parameters for the EOS_Connect_CopyIdToken function."]
12325pub type EOS_Connect_CopyIdTokenOptions = _tagEOS_Connect_CopyIdTokenOptions;
12326#[doc = " Input parameters for the EOS_Connect_VerifyIdToken function."]
12327#[repr(C)]
12328#[derive(Debug, Copy, Clone)]
12329pub struct _tagEOS_Connect_VerifyIdTokenOptions {
12330 #[doc = " API Version: Set this to EOS_CONNECT_VERIFYIDTOKEN_API_LATEST."]
12331 pub ApiVersion: i32,
12332 #[doc = " The ID token to verify.\n Use EOS_ProductUserId_FromString to populate the ProductUserId field of this struct."]
12333 pub IdToken: *const EOS_Connect_IdToken,
12334}
12335impl Default for _tagEOS_Connect_VerifyIdTokenOptions {
12336 fn default() -> Self {
12337 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12338 unsafe {
12339 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12340 s.assume_init()
12341 }
12342 }
12343}
12344#[doc = " Input parameters for the EOS_Connect_VerifyIdToken function."]
12345pub type EOS_Connect_VerifyIdTokenOptions = _tagEOS_Connect_VerifyIdTokenOptions;
12346#[doc = " Output parameters for the EOS_Connect_VerifyIdToken Function."]
12347#[repr(C)]
12348#[derive(Debug, Copy, Clone)]
12349pub struct _tagEOS_Connect_VerifyIdTokenCallbackInfo {
12350 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
12351 pub ResultCode: EOS_EResult,
12352 #[doc = " Context that was passed into EOS_Connect_VerifyIdToken"]
12353 pub ClientData: *mut ::std::os::raw::c_void,
12354 #[doc = " The Product User ID associated with the ID token."]
12355 pub ProductUserId: EOS_ProductUserId,
12356 #[doc = " Flag set to indicate whether account information is available.\n Applications must always first check this value to be set before attempting\n to read the AccountType, AccountId, Platform and DeviceType fields.\n\n This flag is always false for users that authenticated using EOS Connect Device ID."]
12357 pub bIsAccountInfoPresent: EOS_Bool,
12358 #[doc = " The identity provider that the user authenticated with to EOS Connect.\n\n If bIsAccountInfoPresent is set, this field describes the external account type."]
12359 pub AccountIdType: EOS_EExternalAccountType,
12360 #[doc = " The external account ID of the authenticated user.\n\n This value may be set to an empty string."]
12361 pub AccountId: *const ::std::os::raw::c_char,
12362 #[doc = " Platform that the user is connected from.\n\n This value may be set to an empty string."]
12363 pub Platform: *const ::std::os::raw::c_char,
12364 #[doc = " Identifies the device type that the user is connected from.\n Can be used to securely verify that the user is connected through a real Console device.\n\n This value may be set to an empty string."]
12365 pub DeviceType: *const ::std::os::raw::c_char,
12366 #[doc = " Client ID of the authorized client."]
12367 pub ClientId: *const ::std::os::raw::c_char,
12368 #[doc = " Product ID."]
12369 pub ProductId: *const ::std::os::raw::c_char,
12370 #[doc = " Sandbox ID."]
12371 pub SandboxId: *const ::std::os::raw::c_char,
12372 #[doc = " Deployment ID."]
12373 pub DeploymentId: *const ::std::os::raw::c_char,
12374}
12375impl Default for _tagEOS_Connect_VerifyIdTokenCallbackInfo {
12376 fn default() -> Self {
12377 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12378 unsafe {
12379 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12380 s.assume_init()
12381 }
12382 }
12383}
12384#[doc = " Output parameters for the EOS_Connect_VerifyIdToken Function."]
12385pub type EOS_Connect_VerifyIdTokenCallbackInfo = _tagEOS_Connect_VerifyIdTokenCallbackInfo;
12386#[doc = " Function prototype definition for callbacks passed into EOS_Connect_VerifyIdToken.\n\n @param Data A EOS_Connect_VerifyIdTokenCallbackInfo containing the output information and result."]
12387pub type EOS_Connect_OnVerifyIdTokenCallback =
12388 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Connect_VerifyIdTokenCallbackInfo)>;
12389unsafe extern "C" {
12390 #[doc = " Login/Authenticate given a valid set of external auth credentials.\n\n @param Options structure containing the external account credentials and type to use during the login operation.\n @param ClientData arbitrary data that is passed back to you in the CompletionDelegate.\n @param CompletionDelegate a callback that is fired when the login operation completes, either successfully or in error.\n\n @see EOS_Connect_LoginOptions\n @see EOS_Connect_OnLoginCallback"]
12391 pub fn EOS_Connect_Login(
12392 Handle: EOS_HConnect,
12393 Options: *const EOS_Connect_LoginOptions,
12394 ClientData: *mut ::std::os::raw::c_void,
12395 CompletionDelegate: EOS_Connect_OnLoginCallback,
12396 );
12397}
12398unsafe extern "C" {
12399 #[doc = " Logout a currently logged in user.\n NOTE: Access tokens for Product User IDs cannot be revoked. This operation really just cleans up state for the Product User ID and locally discards any associated access token.\n\n @param Options Structure containing the input parameters for the operation\n @param ClientData Arbitrary data that is passed back to the caller in the CompletionDelegate.\n @param CompletionDelegate A callback that is fired when the operation completes, either successfully or in error.\n\n @see EOS_Connect_LogoutOptions\n @see EOS_Connect_OnLogoutCallback"]
12400 pub fn EOS_Connect_Logout(
12401 Handle: EOS_HConnect,
12402 Options: *const EOS_Connect_LogoutOptions,
12403 ClientData: *mut ::std::os::raw::c_void,
12404 CompletionDelegate: EOS_Connect_OnLogoutCallback,
12405 );
12406}
12407unsafe extern "C" {
12408 #[doc = " Create an account association with the Epic Online Service as a product user given their external auth credentials.\n\n @param Options structure containing a continuance token from a \"user not found\" response during Login (always try login first).\n @param ClientData arbitrary data that is passed back to you in the CompletionDelegate.\n @param CompletionDelegate a callback that is fired when the create operation completes, either successfully or in error.\n\n @see EOS_Connect_CreateUserOptions\n @see EOS_Connect_OnCreateUserCallback"]
12409 pub fn EOS_Connect_CreateUser(
12410 Handle: EOS_HConnect,
12411 Options: *const EOS_Connect_CreateUserOptions,
12412 ClientData: *mut ::std::os::raw::c_void,
12413 CompletionDelegate: EOS_Connect_OnCreateUserCallback,
12414 );
12415}
12416unsafe extern "C" {
12417 #[doc = " Link a set of external auth credentials with an existing product user on the Epic Online Service.\n\n @param Options structure containing a continuance token from a \"user not found\" response during Login (always try login first) and a currently logged in user not already associated with this external auth provider.\n @param ClientData arbitrary data that is passed back to you in the CompletionDelegate.\n @param CompletionDelegate a callback that is fired when the link operation completes, either successfully or in error.\n\n @see EOS_Connect_LinkAccountOptions\n @see EOS_Connect_OnLinkAccountCallback"]
12418 pub fn EOS_Connect_LinkAccount(
12419 Handle: EOS_HConnect,
12420 Options: *const EOS_Connect_LinkAccountOptions,
12421 ClientData: *mut ::std::os::raw::c_void,
12422 CompletionDelegate: EOS_Connect_OnLinkAccountCallback,
12423 );
12424}
12425unsafe extern "C" {
12426 #[doc = " Unlink external auth credentials from the owning keychain of a logged in product user.\n\n This function allows recovering the user from scenarios where they have accidentally proceeded to creating\n a new product user for the local native user account, instead of linking it with an existing keychain that\n they have previously created by playing the game (or another game owned by the organization) on another platform.\n\n In such scenario, after the initial platform login and a new product user creation, the user wishes to re-login\n using other set of external auth credentials to connect with their existing game progression data. In order to\n allow automatic login also on the current platform, they will need to unlink the accidentally created new keychain\n and product user and then use the EOS_Connect_Login and EOS_Connect_LinkAccount APIs to link the local native platform\n account with that previously created existing product user and its owning keychain.\n\n In another scenario, the user may simply want to disassociate the account that they have logged in with from the current\n keychain that it is linked with, perhaps to link it against another keychain or to separate the game progressions again.\n\n In order to protect against account theft, it is only possible to unlink user accounts that have been authenticated\n and logged in to the product user in the current session. This prevents a malicious actor from gaining access to one\n of the linked accounts and using it to remove all other accounts linked with the keychain. This also prevents a malicious\n actor from replacing the unlinked account with their own corresponding account on the same platform, as the unlinking\n operation will ensure that any existing authentication session cannot be used to re-link and overwrite the entry without\n authenticating with one of the other linked accounts in the keychain. These restrictions limit the potential attack surface\n related to account theft scenarios.\n\n @param Options structure containing operation input parameters.\n @param ClientData arbitrary data that is passed back to you in the CompletionDelegate.\n @param CompletionDelegate a callback that is fired when the unlink operation completes, either successfully or in error.\n\n @see EOS_Connect_UnlinkAccountOptions\n @see EOS_Connect_OnUnlinkAccountCallback"]
12427 pub fn EOS_Connect_UnlinkAccount(
12428 Handle: EOS_HConnect,
12429 Options: *const EOS_Connect_UnlinkAccountOptions,
12430 ClientData: *mut ::std::os::raw::c_void,
12431 CompletionDelegate: EOS_Connect_OnUnlinkAccountCallback,
12432 );
12433}
12434unsafe extern "C" {
12435 #[doc = " Create a new unique pseudo-account that can be used to identify the current user profile on the local device.\n\n This function is intended to be used by mobile games and PC games that wish to allow\n a new user to start playing without requiring to login to the game using any user identity.\n In addition to this, the Device ID feature is used to automatically login the local user\n also when they have linked at least one external user account(s) with the local Device ID.\n\n It is possible to link many devices with the same user's account keyring using the Device ID feature.\n\n Linking a device later or immediately with a real user account will ensure that the player\n will not lose their progress if they switch devices or lose the device at some point,\n as they will be always able to login with one of their linked real accounts and also link\n another new device with the user account associations keychain. Otherwise, without having\n at least one permanent user account linked to the Device ID, the player would lose all of their\n game data and progression permanently should something happen to their device or the local\n user profile on the device.\n\n After a successful one-time CreateDeviceId operation, the game can login the local user\n automatically on subsequent game starts with EOS_Connect_Login using the EOS_ECT_DEVICEID_ACCESS_TOKEN\n credentials type. If a Device ID already exists for the local user on the device then EOS_DuplicateNotAllowed\n error result is returned and the caller should proceed to calling EOS_Connect_Login directly.\n\n @param Options structure containing operation input parameters.\n @param ClientData arbitrary data that is passed back to you in the CompletionDelegate.\n @param CompletionDelegate a callback that is fired when the create operation completes, either successfully or in error.\n\n @see EOS_Connect_CreateDeviceIdOptions\n @see EOS_Connect_OnCreateDeviceIdCallback"]
12436 pub fn EOS_Connect_CreateDeviceId(
12437 Handle: EOS_HConnect,
12438 Options: *const EOS_Connect_CreateDeviceIdOptions,
12439 ClientData: *mut ::std::os::raw::c_void,
12440 CompletionDelegate: EOS_Connect_OnCreateDeviceIdCallback,
12441 );
12442}
12443unsafe extern "C" {
12444 #[doc = " Delete any existing Device ID access credentials for the current user profile on the local device.\n\n The deletion is permanent and it is not possible to recover lost game data and progression\n if the Device ID had not been linked with at least one real external user account.\n\n On Android and iOS devices, uninstalling the application will automatically delete any local\n Device ID credentials created by the application.\n\n On Desktop platforms (Linux, macOS, Windows), Device ID credentials are not automatically deleted.\n Applications may re-use existing Device ID credentials for the local OS user when the application is\n re-installed, or call the DeleteDeviceId API on the first run to ensure a fresh start for the user.\n\n @param Options structure containing operation input parameters\n @param ClientData arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate a callback that is fired when the delete operation completes, either successfully or in error\n\n @see EOS_Connect_DeleteDeviceIdOptions\n @see EOS_Connect_OnDeleteDeviceIdCallback"]
12445 pub fn EOS_Connect_DeleteDeviceId(
12446 Handle: EOS_HConnect,
12447 Options: *const EOS_Connect_DeleteDeviceIdOptions,
12448 ClientData: *mut ::std::os::raw::c_void,
12449 CompletionDelegate: EOS_Connect_OnDeleteDeviceIdCallback,
12450 );
12451}
12452unsafe extern "C" {
12453 #[doc = " Transfer a Device ID pseudo-account and the product user associated with it into another\n keychain linked with real user accounts (such as Epic Games, PlayStation(TM)Network, Xbox Live, and other).\n\n This function allows transferring a product user, i.e. the local user's game progression\n backend data from a Device ID owned keychain into a keychain with real user accounts\n linked to it. The transfer of Device ID owned product user into a keychain of real user\n accounts allows persisting the user's game data on the backend in the event that they\n would lose access to the local device or otherwise switch to another device or platform.\n\n This function is only applicable in the situation of where the local user first plays\n the game using the anonymous Device ID login, then later logs in using a real user\n account that they have also already used to play the same game or another game under the\n same organization within Epic Online Services. In such situation, while normally the login\n attempt with a real user account would return EOS_InvalidUser and an EOS_ContinuanceToken\n and allow calling the EOS_Connect_LinkAccount API to link it with the Device ID's keychain,\n instead the login operation succeeds and finds an existing user because the association\n already exists. Because the user cannot have two product users simultaneously to play with,\n the game should prompt the user to choose which profile to keep and which one to discard\n permanently. Based on the user choice, the game may then proceed to transfer the Device ID\n login into the keychain that is persistent and backed by real user accounts, and if the user\n chooses so, move the product user as well into the destination keychain and overwrite the\n existing previous product user with it. To clarify, moving the product user with the Device ID\n login in this way into a persisted keychain allows to preserve the so far only locally persisted\n game progression and thus protect the user against a case where they lose access to the device.\n\n On success, the completion callback will return the preserved EOS_ProductUserId that remains\n logged in while the discarded EOS_ProductUserId has been invalidated and deleted permanently.\n Consecutive logins using the existing Device ID login type or the external account will\n connect the user to the same backend data belonging to the preserved EOS_ProductUserId.\n\n Example walkthrough: Cross-platform mobile game using the anonymous Device ID login.\n\n For onboarding new users, the game will attempt to always automatically login the local user\n by calling EOS_Connect_Login using the EOS_ECT_DEVICEID_ACCESS_TOKEN login type. If the local\n Device ID credentials are not found, and the game wants a frictionless entry for the first time\n user experience, the game will automatically call EOS_Connect_CreateDeviceId to create new\n Device ID pseudo-account and then login the local user into it. Consecutive game starts will\n thus automatically login the user to their locally persisted Device ID account.\n\n The user starts playing anonymously using the Device ID login type and makes significant game progress.\n Later, they login using an external account that they have already used previously for the\n same game perhaps on another platform, or another game owned by the same organization.\n In such case, EOS_Connect_Login will automatically login the user to their existing account\n linking keychain and create automatically a new empty product user for this product.\n\n In order for the user to use their existing previously created keychain and have the locally\n created Device ID login reference to that keychain instead, the user's current product user\n needs to be moved to be under that keychain so that their existing game progression will be\n preserved. To do so, the game can call EOS_Connect_TransferDeviceIdAccount to transfer the\n Device ID login and the product user associated with it into the other keychain that has real\n external user account(s) linked to it. Note that it is important that the game either automatically\n checks that the other product user does not have any meaningful progression data, or otherwise\n will prompt the user to make the choice on which game progression to preserve and which can\n be discarded permanently. The other product user will be discarded permanently and cannot be\n recovered, so it is very important that the user is guided to make the right choice to avoid\n accidental loss of all game progression.\n\n @see EOS_Connect_TransferDeviceIdAccountOptions\n @see EOS_Connect_OnTransferDeviceIdAccountCallback\n @see EOS_Connect_Login\n @see EOS_Connect_CreateDeviceId\n\n @param Options structure containing the logged in product users and specifying which one will be preserved.\n @param ClientData arbitrary data that is passed back to you in the CompletionDelegate.\n @param CompletionDelegate a callback that is fired when the transfer operation completes, either successfully or in error."]
12454 pub fn EOS_Connect_TransferDeviceIdAccount(
12455 Handle: EOS_HConnect,
12456 Options: *const EOS_Connect_TransferDeviceIdAccountOptions,
12457 ClientData: *mut ::std::os::raw::c_void,
12458 CompletionDelegate: EOS_Connect_OnTransferDeviceIdAccountCallback,
12459 );
12460}
12461unsafe extern "C" {
12462 #[doc = " Retrieve the equivalent Product User IDs from a list of external account IDs from supported account providers.\n The values will be cached and retrievable through EOS_Connect_GetExternalAccountMapping.\n\n @note A common use case is to query other users who are connected through the same account system as the local user.\n Queries using external account IDs of another account system may not be available, depending on the account system specifics.\n\n @param Options structure containing a list of external account IDs, in string form, to query for the Product User ID representation.\n @param ClientData arbitrary data that is passed back to you in the CompletionDelegate.\n @param CompletionDelegate a callback that is fired when the query operation completes, either successfully or in error.\n\n @see EOS_Connect_QueryExternalAccountMappingsOptions\n @see EOS_Connect_OnQueryExternalAccountMappingsCallback"]
12463 pub fn EOS_Connect_QueryExternalAccountMappings(
12464 Handle: EOS_HConnect,
12465 Options: *const EOS_Connect_QueryExternalAccountMappingsOptions,
12466 ClientData: *mut ::std::os::raw::c_void,
12467 CompletionDelegate: EOS_Connect_OnQueryExternalAccountMappingsCallback,
12468 );
12469}
12470unsafe extern "C" {
12471 #[doc = " Retrieve the equivalent external account mappings from a list of Product User IDs.\n\n The values will be cached and retrievable via EOS_Connect_GetProductUserIdMapping, EOS_Connect_CopyProductUserExternalAccountByIndex,\n EOS_Connect_CopyProductUserExternalAccountByAccountType or EOS_Connect_CopyProductUserExternalAccountByAccountId.\n\n @see EOS_Connect_QueryProductUserIdMappingsOptions\n @see EOS_Connect_OnQueryProductUserIdMappingsCallback\n @see EOS_Connect_ExternalAccountInfo\n @see EOS_Connect_GetProductUserExternalAccountCount\n @see EOS_Connect_GetProductUserIdMapping\n @see EOS_Connect_CopyProductUserExternalAccountByIndex\n @see EOS_Connect_CopyProductUserExternalAccountByAccountType\n @see EOS_Connect_CopyProductUserExternalAccountByAccountId\n @see EOS_Connect_CopyProductUserInfo\n\n @param Options structure containing a list of Product User IDs to query for the external account representation.\n @param ClientData arbitrary data that is passed back to you in the CompletionDelegate.\n @param CompletionDelegate a callback that is fired when the query operation completes, either successfully or in error."]
12472 pub fn EOS_Connect_QueryProductUserIdMappings(
12473 Handle: EOS_HConnect,
12474 Options: *const EOS_Connect_QueryProductUserIdMappingsOptions,
12475 ClientData: *mut ::std::os::raw::c_void,
12476 CompletionDelegate: EOS_Connect_OnQueryProductUserIdMappingsCallback,
12477 );
12478}
12479unsafe extern "C" {
12480 #[doc = " Fetch a Product User ID that maps to an external account ID cached from a previous query.\n\n @param Options structure containing the local user and target external account ID.\n\n @see EOS_Connect_GetExternalAccountMappingsOptions\n\n @return The Product User ID, previously retrieved from the backend service, for the given target external account."]
12481 pub fn EOS_Connect_GetExternalAccountMapping(
12482 Handle: EOS_HConnect,
12483 Options: *const EOS_Connect_GetExternalAccountMappingsOptions,
12484 ) -> EOS_ProductUserId;
12485}
12486unsafe extern "C" {
12487 #[doc = " Fetch an external account ID, in string form, that maps to a given Product User ID.\n\n @param Options structure containing the local user and target Product User ID.\n @param OutBuffer The buffer into which the external account ID data should be written. The buffer must be long enough to hold a string of EOS_CONNECT_EXTERNAL_ACCOUNT_ID_MAX_LENGTH.\n @param InOutBufferLength The size of the OutBuffer in characters.\n The input buffer should include enough space to be null-terminated.\n When the function returns, this parameter will be filled with the length of the string copied into OutBuffer.\n\n @see EOS_Connect_GetProductUserIdMappingOptions\n\n @return An EOS_EResult that indicates the external account ID was copied into the OutBuffer.\n - EOS_Success if the information is available and passed out in OutUserInfo.\n - EOS_InvalidParameters if you pass a null pointer for the out parameter.\n - EOS_NotFound if the mapping doesn't exist or hasn't been queried yet.\n - EOS_LimitExceeded if the OutBuffer is not large enough to receive the external account ID. InOutBufferLength contains the required minimum length to perform the operation successfully."]
12488 pub fn EOS_Connect_GetProductUserIdMapping(
12489 Handle: EOS_HConnect,
12490 Options: *const EOS_Connect_GetProductUserIdMappingOptions,
12491 OutBuffer: *mut ::std::os::raw::c_char,
12492 InOutBufferLength: *mut i32,
12493 ) -> EOS_EResult;
12494}
12495unsafe extern "C" {
12496 #[doc = " Fetch the number of linked external accounts for a Product User ID.\n\n @param Options The Options associated with retrieving the external account info count.\n\n @see EOS_Connect_GetProductUserExternalAccountCountOptions\n @see EOS_Connect_CopyProductUserExternalAccountByIndex\n\n @return Number of external accounts or 0 otherwise."]
12497 pub fn EOS_Connect_GetProductUserExternalAccountCount(
12498 Handle: EOS_HConnect,
12499 Options: *const EOS_Connect_GetProductUserExternalAccountCountOptions,
12500 ) -> u32;
12501}
12502unsafe extern "C" {
12503 #[doc = " Fetch information about an external account linked to a Product User ID.\n On a successful call, the caller must release the returned structure using the EOS_Connect_ExternalAccountInfo_Release API.\n\n @param Options Structure containing the target index.\n @param OutExternalAccountInfo The external account info data for the user with given index.\n\n @see EOS_Connect_CopyProductUserExternalAccountByIndexOptions\n @see EOS_Connect_ExternalAccountInfo\n @see EOS_Connect_ExternalAccountInfo_Release\n\n @return An EOS_EResult that indicates the external account data was copied into the OutExternalAccountInfo.\n - EOS_Success if the information is available and passed out in OutExternalAccountInfo.\n - EOS_InvalidParameters if you pass a null pointer for the out parameter.\n - EOS_NotFound if the account data doesn't exist or hasn't been queried yet."]
12504 pub fn EOS_Connect_CopyProductUserExternalAccountByIndex(
12505 Handle: EOS_HConnect,
12506 Options: *const EOS_Connect_CopyProductUserExternalAccountByIndexOptions,
12507 OutExternalAccountInfo: *mut *mut EOS_Connect_ExternalAccountInfo,
12508 ) -> EOS_EResult;
12509}
12510unsafe extern "C" {
12511 #[doc = " Fetch information about an external account of a specific type linked to a Product User ID.\n On a successful call, the caller must release the returned structure using the EOS_Connect_ExternalAccountInfo_Release API.\n\n @param Options Structure containing the target external account type.\n @param OutExternalAccountInfo The external account info data for the user with given external account type.\n\n @see EOS_Connect_CopyProductUserExternalAccountByAccountTypeOptions\n @see EOS_Connect_ExternalAccountInfo\n @see EOS_Connect_ExternalAccountInfo_Release\n\n @return An EOS_EResult that indicates the external account data was copied into the OutExternalAccountInfo.\n - EOS_Success if the information is available and passed out in OutExternalAccountInfo.\n - EOS_InvalidParameters if you pass a null pointer for the out parameter.\n - EOS_NotFound if the account data doesn't exist or hasn't been queried yet."]
12512 pub fn EOS_Connect_CopyProductUserExternalAccountByAccountType(
12513 Handle: EOS_HConnect,
12514 Options: *const EOS_Connect_CopyProductUserExternalAccountByAccountTypeOptions,
12515 OutExternalAccountInfo: *mut *mut EOS_Connect_ExternalAccountInfo,
12516 ) -> EOS_EResult;
12517}
12518unsafe extern "C" {
12519 #[doc = " Fetch information about an external account linked to a Product User ID.\n On a successful call, the caller must release the returned structure using the EOS_Connect_ExternalAccountInfo_Release API.\n\n @param Options Structure containing the target external account ID.\n @param OutExternalAccountInfo The external account info data for the user with given external account ID.\n\n @see EOS_Connect_CopyProductUserExternalAccountByAccountIdOptions\n @see EOS_Connect_ExternalAccountInfo\n @see EOS_Connect_ExternalAccountInfo_Release\n\n @return An EOS_EResult that indicates the external account data was copied into the OutExternalAccountInfo.\n - EOS_Success if the information is available and passed out in OutExternalAccountInfo.\n - EOS_InvalidParameters if you pass a null pointer for the out parameter.\n - EOS_NotFound if the account data doesn't exist or hasn't been queried yet."]
12520 pub fn EOS_Connect_CopyProductUserExternalAccountByAccountId(
12521 Handle: EOS_HConnect,
12522 Options: *const EOS_Connect_CopyProductUserExternalAccountByAccountIdOptions,
12523 OutExternalAccountInfo: *mut *mut EOS_Connect_ExternalAccountInfo,
12524 ) -> EOS_EResult;
12525}
12526unsafe extern "C" {
12527 #[doc = " Fetch information about a Product User, using the external account that they most recently logged in with as the reference.\n On a successful call, the caller must release the returned structure using the EOS_Connect_ExternalAccountInfo_Release API.\n\n @param Options Structure containing the target external account ID.\n @param OutExternalAccountInfo The external account info data last logged in for the user.\n\n @see EOS_Connect_CopyProductUserInfoOptions\n @see EOS_Connect_ExternalAccountInfo\n @see EOS_Connect_ExternalAccountInfo_Release\n\n @return An EOS_EResult that indicates the external account data was copied into the OutExternalAccountInfo.\n - EOS_Success if the information is available and passed out in OutExternalAccountInfo.\n - EOS_InvalidParameters if you pass a null pointer for the out parameter.\n - EOS_NotFound if the account data doesn't exist or hasn't been queried yet."]
12528 pub fn EOS_Connect_CopyProductUserInfo(
12529 Handle: EOS_HConnect,
12530 Options: *const EOS_Connect_CopyProductUserInfoOptions,
12531 OutExternalAccountInfo: *mut *mut EOS_Connect_ExternalAccountInfo,
12532 ) -> EOS_EResult;
12533}
12534unsafe extern "C" {
12535 #[doc = " Fetch the number of product users that are logged in.\n\n @return the number of product users logged in."]
12536 pub fn EOS_Connect_GetLoggedInUsersCount(Handle: EOS_HConnect) -> i32;
12537}
12538unsafe extern "C" {
12539 #[doc = " Fetch a Product User ID that is logged in. This Product User ID is in the Epic Online Services namespace.\n\n @param Index an index into the list of logged in users. If the index is out of bounds, the returned Product User ID will be invalid.\n\n @return the Product User ID associated with the index passed."]
12540 pub fn EOS_Connect_GetLoggedInUserByIndex(
12541 Handle: EOS_HConnect,
12542 Index: i32,
12543 ) -> EOS_ProductUserId;
12544}
12545unsafe extern "C" {
12546 #[doc = " Fetches the login status for an Product User ID. This Product User ID is considered logged in as long as the underlying access token has not expired.\n\n @param LocalUserId the Product User ID of the user being queried.\n\n @return the enum value of a user's login status."]
12547 pub fn EOS_Connect_GetLoginStatus(
12548 Handle: EOS_HConnect,
12549 LocalUserId: EOS_ProductUserId,
12550 ) -> EOS_ELoginStatus;
12551}
12552unsafe extern "C" {
12553 #[doc = " Register to receive upcoming authentication expiration notifications.\n Notification is approximately 1 minute prior to expiration.\n Call EOS_Connect_Login again with valid third party credentials to refresh access.\n\n @note If the returned NotificationId is valid, you must call EOS_Connect_RemoveNotifyAuthExpiration when you no longer wish to have your NotificationHandler called.\n\n @param Options structure containing the API version of the callback to use.\n @param ClientData arbitrary data that is passed back to you in the callback.\n @param Notification a callback that is fired when the authentication is about to expire.\n\n @see EOS_Connect_AddNotifyAuthExpirationOptions\n @see EOS_Connect_OnAuthExpirationCallback\n\n @return handle representing the registered callback."]
12554 pub fn EOS_Connect_AddNotifyAuthExpiration(
12555 Handle: EOS_HConnect,
12556 Options: *const EOS_Connect_AddNotifyAuthExpirationOptions,
12557 ClientData: *mut ::std::os::raw::c_void,
12558 Notification: EOS_Connect_OnAuthExpirationCallback,
12559 ) -> EOS_NotificationId;
12560}
12561unsafe extern "C" {
12562 #[doc = " Unregister from receiving expiration notifications.\n\n @param InId handle representing the registered callback."]
12563 pub fn EOS_Connect_RemoveNotifyAuthExpiration(Handle: EOS_HConnect, InId: EOS_NotificationId);
12564}
12565unsafe extern "C" {
12566 #[doc = " Register to receive user login status updates.\n @note If the returned NotificationId is valid, you must call EOS_Connect_RemoveNotifyLoginStatusChanged when you no longer wish to have your NotificationHandler called.\n\n @param Options structure containing the API version of the callback to use.\n @param ClientData arbitrary data that is passed back to you in the callback.\n @param Notification a callback that is fired when the login status for a user changes.\n\n @see EOS_Connect_AddNotifyLoginStatusChangedOptions\n @see EOS_Connect_OnLoginStatusChangedCallback\n\n @return handle representing the registered callback."]
12567 pub fn EOS_Connect_AddNotifyLoginStatusChanged(
12568 Handle: EOS_HConnect,
12569 Options: *const EOS_Connect_AddNotifyLoginStatusChangedOptions,
12570 ClientData: *mut ::std::os::raw::c_void,
12571 Notification: EOS_Connect_OnLoginStatusChangedCallback,
12572 ) -> EOS_NotificationId;
12573}
12574unsafe extern "C" {
12575 #[doc = " Unregister from receiving user login status updates.\n\n @param InId handle representing the registered callback."]
12576 pub fn EOS_Connect_RemoveNotifyLoginStatusChanged(
12577 Handle: EOS_HConnect,
12578 InId: EOS_NotificationId,
12579 );
12580}
12581unsafe extern "C" {
12582 #[doc = " Fetches an ID token for a Product User ID.\n\n @param Options Structure containing information about the ID token to copy.\n @param OutIdToken The ID token for the given user, if it exists and is valid; use EOS_Connect_IdToken_Release when finished.\n\n @see EOS_Connect_CopyIdTokenOptions\n @see EOS_Connect_IdToken\n @see EOS_Connect_IdToken_Release\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if the information is available and passed out in OutIdToken.\n - EOS_InvalidParameters if you pass a null pointer for the out parameter.\n - EOS_NotFound if the ID token is not found or expired."]
12583 pub fn EOS_Connect_CopyIdToken(
12584 Handle: EOS_HConnect,
12585 Options: *const EOS_Connect_CopyIdTokenOptions,
12586 OutIdToken: *mut *mut EOS_Connect_IdToken,
12587 ) -> EOS_EResult;
12588}
12589unsafe extern "C" {
12590 #[doc = " Verify a given ID token for authenticity and validity.\n\n @param Options structure containing information about the ID token to verify.\n @param ClientData arbitrary data that is passed back to you in the callback.\n @param CompletionDelegate a callback that is fired when the operation completes, either successfully or in error.\n\n @see EOS_Connect_VerifyIdTokenOptions\n @see EOS_Connect_OnVerifyIdTokenCallback"]
12591 pub fn EOS_Connect_VerifyIdToken(
12592 Handle: EOS_HConnect,
12593 Options: *const EOS_Connect_VerifyIdTokenOptions,
12594 ClientData: *mut ::std::os::raw::c_void,
12595 CompletionDelegate: EOS_Connect_OnVerifyIdTokenCallback,
12596 );
12597}
12598#[repr(C)]
12599#[derive(Debug, Copy, Clone)]
12600pub struct EOS_AchievementsHandle {
12601 _unused: [u8; 0],
12602}
12603pub type EOS_HAchievements = *mut EOS_AchievementsHandle;
12604#[doc = " Input parameters for the EOS_Achievements_QueryDefinitions function."]
12605#[repr(C)]
12606#[derive(Debug, Copy, Clone)]
12607pub struct _tagEOS_Achievements_QueryDefinitionsOptions {
12608 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_QUERYDEFINITIONS_API_LATEST."]
12609 pub ApiVersion: i32,
12610 #[doc = " Product User ID for user who is querying definitions.\n The localized text returned will be based on the locale code of the given user if they have a linked Epic Account ID.\n The localized text returned can also be overridden using EOS_Platform_SetOverrideLocaleCode to override the locale.\n If the locale code is not overridden and LocalUserId is not valid, default text will be returned."]
12611 pub LocalUserId: EOS_ProductUserId,
12612 #[doc = " Deprecated"]
12613 pub EpicUserId_DEPRECATED: EOS_EpicAccountId,
12614 #[doc = " Deprecated"]
12615 pub HiddenAchievementIds_DEPRECATED: *mut *const ::std::os::raw::c_char,
12616 #[doc = " Deprecated"]
12617 pub HiddenAchievementsCount_DEPRECATED: u32,
12618}
12619impl Default for _tagEOS_Achievements_QueryDefinitionsOptions {
12620 fn default() -> Self {
12621 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12622 unsafe {
12623 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12624 s.assume_init()
12625 }
12626 }
12627}
12628#[doc = " Input parameters for the EOS_Achievements_QueryDefinitions function."]
12629pub type EOS_Achievements_QueryDefinitionsOptions = _tagEOS_Achievements_QueryDefinitionsOptions;
12630#[doc = " Contains information about a collection of stat threshold data.\n\n The threshold will depend on the stat aggregate type:\n LATEST (Tracks the latest value)\n MAX (Tracks the maximum value)\n MIN (Tracks the minimum value)\n SUM (Generates a rolling sum of the value)\n\n @see EOS_Achievements_Definition"]
12631#[repr(C)]
12632#[derive(Debug, Copy, Clone)]
12633pub struct _tagEOS_Achievements_StatThresholds {
12634 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_STATTHRESHOLDS_API_LATEST."]
12635 pub ApiVersion: i32,
12636 #[doc = " The name of the stat."]
12637 pub Name: *const ::std::os::raw::c_char,
12638 #[doc = " The value that the stat must surpass to satisfy the requirement for unlocking an achievement."]
12639 pub Threshold: i32,
12640}
12641impl Default for _tagEOS_Achievements_StatThresholds {
12642 fn default() -> Self {
12643 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12644 unsafe {
12645 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12646 s.assume_init()
12647 }
12648 }
12649}
12650#[doc = " Contains information about a collection of stat threshold data.\n\n The threshold will depend on the stat aggregate type:\n LATEST (Tracks the latest value)\n MAX (Tracks the maximum value)\n MIN (Tracks the minimum value)\n SUM (Generates a rolling sum of the value)\n\n @see EOS_Achievements_Definition"]
12651pub type EOS_Achievements_StatThresholds = _tagEOS_Achievements_StatThresholds;
12652#[doc = " Contains information about a collection of stat info data.\n\n @see EOS_Achievements_PlayerAchievement"]
12653#[repr(C)]
12654#[derive(Debug, Copy, Clone)]
12655pub struct _tagEOS_Achievements_PlayerStatInfo {
12656 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_PLAYERSTATINFO_API_LATEST."]
12657 pub ApiVersion: i32,
12658 #[doc = " The name of the stat."]
12659 pub Name: *const ::std::os::raw::c_char,
12660 #[doc = " The current value of the stat."]
12661 pub CurrentValue: i32,
12662 #[doc = " The threshold value of the stat, used in determining when to unlock an achievement."]
12663 pub ThresholdValue: i32,
12664}
12665impl Default for _tagEOS_Achievements_PlayerStatInfo {
12666 fn default() -> Self {
12667 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12668 unsafe {
12669 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12670 s.assume_init()
12671 }
12672 }
12673}
12674#[doc = " Contains information about a collection of stat info data.\n\n @see EOS_Achievements_PlayerAchievement"]
12675pub type EOS_Achievements_PlayerStatInfo = _tagEOS_Achievements_PlayerStatInfo;
12676#[doc = " Contains information about a single achievement definition with localized text."]
12677#[repr(C)]
12678#[derive(Debug, Copy, Clone)]
12679pub struct _tagEOS_Achievements_DefinitionV2 {
12680 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_DEFINITIONV2_API_LATEST."]
12681 pub ApiVersion: i32,
12682 #[doc = " Achievement ID that can be used to uniquely identify the achievement."]
12683 pub AchievementId: *const ::std::os::raw::c_char,
12684 #[doc = " Localized display name for the achievement when it has been unlocked."]
12685 pub UnlockedDisplayName: *const ::std::os::raw::c_char,
12686 #[doc = " Localized description for the achievement when it has been unlocked."]
12687 pub UnlockedDescription: *const ::std::os::raw::c_char,
12688 #[doc = " Localized display name for the achievement when it is locked or hidden."]
12689 pub LockedDisplayName: *const ::std::os::raw::c_char,
12690 #[doc = " Localized description for the achievement when it is locked or hidden."]
12691 pub LockedDescription: *const ::std::os::raw::c_char,
12692 #[doc = " Localized flavor text that can be used by the game in an arbitrary manner. This may be null if there is no data configured in the dev portal."]
12693 pub FlavorText: *const ::std::os::raw::c_char,
12694 #[doc = " URL of an icon to display for the achievement when it is unlocked. This may be null if there is no data configured in the dev portal."]
12695 pub UnlockedIconURL: *const ::std::os::raw::c_char,
12696 #[doc = " URL of an icon to display for the achievement when it is locked or hidden. This may be null if there is no data configured in the dev portal."]
12697 pub LockedIconURL: *const ::std::os::raw::c_char,
12698 #[doc = " EOS_TRUE if the achievement is hidden; EOS_FALSE otherwise."]
12699 pub bIsHidden: EOS_Bool,
12700 #[doc = " The number of stat thresholds used to monitor progress towards this achievement."]
12701 pub StatThresholdsCount: u32,
12702 #[doc = " Array of `EOS_Achievements_StatThresholds` that need to be satisfied to unlock this achievement. Consists of Name and Threshold Value."]
12703 pub StatThresholds: *const EOS_Achievements_StatThresholds,
12704}
12705impl Default for _tagEOS_Achievements_DefinitionV2 {
12706 fn default() -> Self {
12707 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12708 unsafe {
12709 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12710 s.assume_init()
12711 }
12712 }
12713}
12714#[doc = " Contains information about a single achievement definition with localized text."]
12715pub type EOS_Achievements_DefinitionV2 = _tagEOS_Achievements_DefinitionV2;
12716unsafe extern "C" {
12717 #[doc = " Release the memory associated with EOS_Achievements_DefinitionV2. This must be called on data retrieved from\n EOS_Achievements_CopyAchievementDefinitionV2ByIndex or EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId.\n\n @param AchievementDefinition - The achievement definition to release.\n\n @see EOS_Achievements_DefinitionV2\n @see EOS_Achievements_CopyAchievementDefinitionV2ByIndex\n @see EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId"]
12718 pub fn EOS_Achievements_DefinitionV2_Release(
12719 AchievementDefinition: *mut EOS_Achievements_DefinitionV2,
12720 );
12721}
12722#[doc = " Input parameters for the EOS_Achievements_GetAchievementDefinitionCount function."]
12723#[repr(C)]
12724#[derive(Debug, Default, Copy, Clone)]
12725pub struct _tagEOS_Achievements_GetAchievementDefinitionCountOptions {
12726 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_GETACHIEVEMENTDEFINITIONCOUNT_API_LATEST."]
12727 pub ApiVersion: i32,
12728}
12729#[doc = " Input parameters for the EOS_Achievements_GetAchievementDefinitionCount function."]
12730pub type EOS_Achievements_GetAchievementDefinitionCountOptions =
12731 _tagEOS_Achievements_GetAchievementDefinitionCountOptions;
12732#[doc = " Input parameters for the EOS_Achievements_CopyAchievementDefinitionByIndex function."]
12733#[repr(C)]
12734#[derive(Debug, Default, Copy, Clone)]
12735pub struct _tagEOS_Achievements_CopyAchievementDefinitionV2ByIndexOptions {
12736 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_COPYACHIEVEMENTDEFINITIONV2BYINDEX_API_LATEST."]
12737 pub ApiVersion: i32,
12738 #[doc = " Index of the achievement definition to retrieve from the cache."]
12739 pub AchievementIndex: u32,
12740}
12741#[doc = " Input parameters for the EOS_Achievements_CopyAchievementDefinitionByIndex function."]
12742pub type EOS_Achievements_CopyAchievementDefinitionV2ByIndexOptions =
12743 _tagEOS_Achievements_CopyAchievementDefinitionV2ByIndexOptions;
12744#[doc = " Input parameters for the EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId function."]
12745#[repr(C)]
12746#[derive(Debug, Copy, Clone)]
12747pub struct _tagEOS_Achievements_CopyAchievementDefinitionV2ByAchievementIdOptions {
12748 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_COPYACHIEVEMENTDEFINITIONV2BYACHIEVEMENTID_API_LATEST."]
12749 pub ApiVersion: i32,
12750 #[doc = " Achievement ID to look for when copying the definition from the cache."]
12751 pub AchievementId: *const ::std::os::raw::c_char,
12752}
12753impl Default for _tagEOS_Achievements_CopyAchievementDefinitionV2ByAchievementIdOptions {
12754 fn default() -> Self {
12755 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12756 unsafe {
12757 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12758 s.assume_init()
12759 }
12760 }
12761}
12762#[doc = " Input parameters for the EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId function."]
12763pub type EOS_Achievements_CopyAchievementDefinitionV2ByAchievementIdOptions =
12764 _tagEOS_Achievements_CopyAchievementDefinitionV2ByAchievementIdOptions;
12765#[doc = " Data containing the result information for a query definitions request."]
12766#[repr(C)]
12767#[derive(Debug, Copy, Clone)]
12768pub struct _tagEOS_Achievements_OnQueryDefinitionsCompleteCallbackInfo {
12769 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
12770 pub ResultCode: EOS_EResult,
12771 #[doc = " User-defined context that was passed into EOS_Achievements_QueryDefinitions."]
12772 pub ClientData: *mut ::std::os::raw::c_void,
12773}
12774impl Default for _tagEOS_Achievements_OnQueryDefinitionsCompleteCallbackInfo {
12775 fn default() -> Self {
12776 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12777 unsafe {
12778 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12779 s.assume_init()
12780 }
12781 }
12782}
12783#[doc = " Data containing the result information for a query definitions request."]
12784pub type EOS_Achievements_OnQueryDefinitionsCompleteCallbackInfo =
12785 _tagEOS_Achievements_OnQueryDefinitionsCompleteCallbackInfo;
12786#[doc = " Function prototype definition for callbacks passed to EOS_Achievements_QueryDefinitions\n @param Data An EOS_Achievements_OnQueryDefinitionsCompleteCallbackInfo containing the output information and result"]
12787pub type EOS_Achievements_OnQueryDefinitionsCompleteCallback = ::std::option::Option<
12788 unsafe extern "C" fn(Data: *const EOS_Achievements_OnQueryDefinitionsCompleteCallbackInfo),
12789>;
12790#[doc = " Input parameters for the EOS_Achievements_QueryPlayerAchievements function."]
12791#[repr(C)]
12792#[derive(Debug, Copy, Clone)]
12793pub struct _tagEOS_Achievements_QueryPlayerAchievementsOptions {
12794 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_QUERYPLAYERACHIEVEMENTS_API_LATEST."]
12795 pub ApiVersion: i32,
12796 #[doc = " The Product User ID for the user whose achievements are to be retrieved."]
12797 pub TargetUserId: EOS_ProductUserId,
12798 #[doc = " The Product User ID for the user who is querying for player achievements. For a Dedicated Server this should be null."]
12799 pub LocalUserId: EOS_ProductUserId,
12800}
12801impl Default for _tagEOS_Achievements_QueryPlayerAchievementsOptions {
12802 fn default() -> Self {
12803 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12804 unsafe {
12805 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12806 s.assume_init()
12807 }
12808 }
12809}
12810#[doc = " Input parameters for the EOS_Achievements_QueryPlayerAchievements function."]
12811pub type EOS_Achievements_QueryPlayerAchievementsOptions =
12812 _tagEOS_Achievements_QueryPlayerAchievementsOptions;
12813#[doc = " Contains information about a single player achievement."]
12814#[repr(C)]
12815#[derive(Debug, Copy, Clone)]
12816pub struct _tagEOS_Achievements_PlayerAchievement {
12817 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_PLAYERACHIEVEMENT_API_LATEST."]
12818 pub ApiVersion: i32,
12819 #[doc = " This achievement's unique identifier."]
12820 pub AchievementId: *const ::std::os::raw::c_char,
12821 #[doc = " Progress towards completing this achievement (as a percentage)."]
12822 pub Progress: f64,
12823 #[doc = " The POSIX timestamp when the achievement was unlocked. If the achievement has not been unlocked, this value will be EOS_ACHIEVEMENTS_ACHIEVEMENT_UNLOCKTIME_UNDEFINED."]
12824 pub UnlockTime: i64,
12825 #[doc = " The number of player stat info entries associated with this achievement."]
12826 pub StatInfoCount: i32,
12827 #[doc = " Array of EOS_Achievements_PlayerStatInfo structures containing information about stat thresholds used to unlock the achievement and the player's current values for those stats."]
12828 pub StatInfo: *const EOS_Achievements_PlayerStatInfo,
12829 #[doc = " Localized display name for the achievement based on this specific player's current progress on the achievement.\n @note The current progress is updated when EOS_Achievements_QueryPlayerAchievements succeeds and when an achievement is unlocked."]
12830 pub DisplayName: *const ::std::os::raw::c_char,
12831 #[doc = " Localized description for the achievement based on this specific player's current progress on the achievement.\n @note The current progress is updated when EOS_Achievements_QueryPlayerAchievements succeeds and when an achievement is unlocked."]
12832 pub Description: *const ::std::os::raw::c_char,
12833 #[doc = " URL of an icon to display for the achievement based on this specific player's current progress on the achievement. This may be null if there is no data configured in the dev portal.\n @note The current progress is updated when EOS_Achievements_QueryPlayerAchievements succeeds and when an achievement is unlocked."]
12834 pub IconURL: *const ::std::os::raw::c_char,
12835 #[doc = " Localized flavor text that can be used by the game in an arbitrary manner. This may be null if there is no data configured in the dev portal."]
12836 pub FlavorText: *const ::std::os::raw::c_char,
12837}
12838impl Default for _tagEOS_Achievements_PlayerAchievement {
12839 fn default() -> Self {
12840 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12841 unsafe {
12842 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12843 s.assume_init()
12844 }
12845 }
12846}
12847#[doc = " Contains information about a single player achievement."]
12848pub type EOS_Achievements_PlayerAchievement = _tagEOS_Achievements_PlayerAchievement;
12849#[doc = " Input parameters for the EOS_Achievements_GetPlayerAchievementCount function."]
12850#[repr(C)]
12851#[derive(Debug, Copy, Clone)]
12852pub struct _tagEOS_Achievements_GetPlayerAchievementCountOptions {
12853 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_GETPLAYERACHIEVEMENTCOUNT_API_LATEST."]
12854 pub ApiVersion: i32,
12855 #[doc = " The Product User ID for the user whose achievement count is being retrieved."]
12856 pub UserId: EOS_ProductUserId,
12857}
12858impl Default for _tagEOS_Achievements_GetPlayerAchievementCountOptions {
12859 fn default() -> Self {
12860 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12861 unsafe {
12862 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12863 s.assume_init()
12864 }
12865 }
12866}
12867#[doc = " Input parameters for the EOS_Achievements_GetPlayerAchievementCount function."]
12868pub type EOS_Achievements_GetPlayerAchievementCountOptions =
12869 _tagEOS_Achievements_GetPlayerAchievementCountOptions;
12870#[doc = " Input parameters for the EOS_Achievements_CopyPlayerAchievementByIndex function."]
12871#[repr(C)]
12872#[derive(Debug, Copy, Clone)]
12873pub struct _tagEOS_Achievements_CopyPlayerAchievementByIndexOptions {
12874 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_COPYPLAYERACHIEVEMENTBYINDEX_API_LATEST."]
12875 pub ApiVersion: i32,
12876 #[doc = " The Product User ID for the user whose achievement is to be retrieved."]
12877 pub TargetUserId: EOS_ProductUserId,
12878 #[doc = " The index of the player achievement data to retrieve from the cache."]
12879 pub AchievementIndex: u32,
12880 #[doc = " The Product User ID for the user who is querying for a player achievement. For a Dedicated Server this should be null."]
12881 pub LocalUserId: EOS_ProductUserId,
12882}
12883impl Default for _tagEOS_Achievements_CopyPlayerAchievementByIndexOptions {
12884 fn default() -> Self {
12885 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12886 unsafe {
12887 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12888 s.assume_init()
12889 }
12890 }
12891}
12892#[doc = " Input parameters for the EOS_Achievements_CopyPlayerAchievementByIndex function."]
12893pub type EOS_Achievements_CopyPlayerAchievementByIndexOptions =
12894 _tagEOS_Achievements_CopyPlayerAchievementByIndexOptions;
12895#[doc = " Input parameters for the EOS_Achievements_CopyPlayerAchievementByAchievementId function."]
12896#[repr(C)]
12897#[derive(Debug, Copy, Clone)]
12898pub struct _tagEOS_Achievements_CopyPlayerAchievementByAchievementIdOptions {
12899 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_COPYPLAYERACHIEVEMENTBYACHIEVEMENTID_API_LATEST."]
12900 pub ApiVersion: i32,
12901 #[doc = " The Product User ID for the user whose achievement is to be retrieved."]
12902 pub TargetUserId: EOS_ProductUserId,
12903 #[doc = " Achievement ID to search for when retrieving player achievement data from the cache."]
12904 pub AchievementId: *const ::std::os::raw::c_char,
12905 #[doc = " The Product User ID for the user who is querying for a player achievement. For a Dedicated Server this should be null."]
12906 pub LocalUserId: EOS_ProductUserId,
12907}
12908impl Default for _tagEOS_Achievements_CopyPlayerAchievementByAchievementIdOptions {
12909 fn default() -> Self {
12910 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12911 unsafe {
12912 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12913 s.assume_init()
12914 }
12915 }
12916}
12917#[doc = " Input parameters for the EOS_Achievements_CopyPlayerAchievementByAchievementId function."]
12918pub type EOS_Achievements_CopyPlayerAchievementByAchievementIdOptions =
12919 _tagEOS_Achievements_CopyPlayerAchievementByAchievementIdOptions;
12920unsafe extern "C" {
12921 #[doc = " Release the memory associated with a player achievement. This must be called on data retrieved from\n EOS_Achievements_CopyPlayerAchievementByIndex or EOS_Achievements_CopyPlayerAchievementByAchievementId.\n\n @param Achievement - The achievement data to release.\n\n @see EOS_Achievements_PlayerAchievement\n @see EOS_Achievements_CopyPlayerAchievementByIndex\n @see EOS_Achievements_CopyPlayerAchievementByAchievementId"]
12922 pub fn EOS_Achievements_PlayerAchievement_Release(
12923 Achievement: *mut EOS_Achievements_PlayerAchievement,
12924 );
12925}
12926#[doc = " Data containing the result information for querying a player's achievements request."]
12927#[repr(C)]
12928#[derive(Debug, Copy, Clone)]
12929pub struct _tagEOS_Achievements_OnQueryPlayerAchievementsCompleteCallbackInfo {
12930 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
12931 pub ResultCode: EOS_EResult,
12932 #[doc = " Context that was passed into EOS_Achievements_QueryPlayerAchievements."]
12933 pub ClientData: *mut ::std::os::raw::c_void,
12934 #[doc = " The Product User ID whose achievements were retrieved."]
12935 pub TargetUserId: EOS_ProductUserId,
12936 #[doc = " The Product User ID of the user who initiated this request. For a Dedicated Server this should be null."]
12937 pub LocalUserId: EOS_ProductUserId,
12938}
12939impl Default for _tagEOS_Achievements_OnQueryPlayerAchievementsCompleteCallbackInfo {
12940 fn default() -> Self {
12941 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12942 unsafe {
12943 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12944 s.assume_init()
12945 }
12946 }
12947}
12948#[doc = " Data containing the result information for querying a player's achievements request."]
12949pub type EOS_Achievements_OnQueryPlayerAchievementsCompleteCallbackInfo =
12950 _tagEOS_Achievements_OnQueryPlayerAchievementsCompleteCallbackInfo;
12951#[doc = " Function prototype definition for callbacks passed to EOS_Achievements_QueryPlayerAchievements\n\n @param Data An EOS_Achievements_OnQueryPlayerAchievementsCompleteCallbackInfo containing the output information and result\n\n @see EOS_Achievements_PlayerAchievement_Release"]
12952pub type EOS_Achievements_OnQueryPlayerAchievementsCompleteCallback = ::std::option::Option<
12953 unsafe extern "C" fn(
12954 Data: *const EOS_Achievements_OnQueryPlayerAchievementsCompleteCallbackInfo,
12955 ),
12956>;
12957#[doc = " Input parameters for the EOS_Achievements_UnlockAchievements function."]
12958#[repr(C)]
12959#[derive(Debug, Copy, Clone)]
12960pub struct _tagEOS_Achievements_UnlockAchievementsOptions {
12961 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_UNLOCKACHIEVEMENTS_API_LATEST."]
12962 pub ApiVersion: i32,
12963 #[doc = " The Product User ID for the user whose achievements we want to unlock."]
12964 pub UserId: EOS_ProductUserId,
12965 #[doc = " An array of Achievement IDs to unlock."]
12966 pub AchievementIds: *mut *const ::std::os::raw::c_char,
12967 #[doc = " The number of achievements to unlock."]
12968 pub AchievementsCount: u32,
12969}
12970impl Default for _tagEOS_Achievements_UnlockAchievementsOptions {
12971 fn default() -> Self {
12972 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12973 unsafe {
12974 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12975 s.assume_init()
12976 }
12977 }
12978}
12979#[doc = " Input parameters for the EOS_Achievements_UnlockAchievements function."]
12980pub type EOS_Achievements_UnlockAchievementsOptions =
12981 _tagEOS_Achievements_UnlockAchievementsOptions;
12982#[doc = " Data containing the result information for unlocking achievements request."]
12983#[repr(C)]
12984#[derive(Debug, Copy, Clone)]
12985pub struct _tagEOS_Achievements_OnUnlockAchievementsCompleteCallbackInfo {
12986 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
12987 pub ResultCode: EOS_EResult,
12988 #[doc = " Context that was passed into EOS_Achievements_UnlockAchievements."]
12989 pub ClientData: *mut ::std::os::raw::c_void,
12990 #[doc = " The Product User ID of the user who initiated this request."]
12991 pub UserId: EOS_ProductUserId,
12992 #[doc = " The number of achievements that the operation unlocked."]
12993 pub AchievementsCount: u32,
12994}
12995impl Default for _tagEOS_Achievements_OnUnlockAchievementsCompleteCallbackInfo {
12996 fn default() -> Self {
12997 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12998 unsafe {
12999 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13000 s.assume_init()
13001 }
13002 }
13003}
13004#[doc = " Data containing the result information for unlocking achievements request."]
13005pub type EOS_Achievements_OnUnlockAchievementsCompleteCallbackInfo =
13006 _tagEOS_Achievements_OnUnlockAchievementsCompleteCallbackInfo;
13007#[doc = " Function prototype definition for callbacks passed to EOS_Achievements_UnlockAchievements\n @param Data An EOS_Achievements_OnUnlockAchievementsCompleteCallbackInfo containing the output information and result"]
13008pub type EOS_Achievements_OnUnlockAchievementsCompleteCallback = ::std::option::Option<
13009 unsafe extern "C" fn(Data: *const EOS_Achievements_OnUnlockAchievementsCompleteCallbackInfo),
13010>;
13011#[doc = " Input parameters for the EOS_Achievements_AddNotifyAchievementsUnlocked function."]
13012#[repr(C)]
13013#[derive(Debug, Default, Copy, Clone)]
13014pub struct _tagEOS_Achievements_AddNotifyAchievementsUnlockedV2Options {
13015 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_ADDNOTIFYACHIEVEMENTSUNLOCKEDV2_API_LATEST."]
13016 pub ApiVersion: i32,
13017}
13018#[doc = " Input parameters for the EOS_Achievements_AddNotifyAchievementsUnlocked function."]
13019pub type EOS_Achievements_AddNotifyAchievementsUnlockedV2Options =
13020 _tagEOS_Achievements_AddNotifyAchievementsUnlockedV2Options;
13021#[doc = " Output parameters for the EOS_Achievements_OnAchievementsUnlockedCallbackV2 Function."]
13022#[repr(C)]
13023#[derive(Debug, Copy, Clone)]
13024pub struct _tagEOS_Achievements_OnAchievementsUnlockedCallbackV2Info {
13025 #[doc = " Context that was passed into EOS_Achievements_AddNotifyAchievementsUnlocked"]
13026 pub ClientData: *mut ::std::os::raw::c_void,
13027 #[doc = " The Product User ID for the user who received the unlocked achievements notification"]
13028 pub UserId: EOS_ProductUserId,
13029 #[doc = " The Achievement ID for the achievement that was unlocked. Pass this to EOS_Achievements_CopyPlayerAchievementByAchievementId to get the full achievement information."]
13030 pub AchievementId: *const ::std::os::raw::c_char,
13031 #[doc = " POSIX timestamp when the achievement was unlocked."]
13032 pub UnlockTime: i64,
13033}
13034impl Default for _tagEOS_Achievements_OnAchievementsUnlockedCallbackV2Info {
13035 fn default() -> Self {
13036 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13037 unsafe {
13038 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13039 s.assume_init()
13040 }
13041 }
13042}
13043#[doc = " Output parameters for the EOS_Achievements_OnAchievementsUnlockedCallbackV2 Function."]
13044pub type EOS_Achievements_OnAchievementsUnlockedCallbackV2Info =
13045 _tagEOS_Achievements_OnAchievementsUnlockedCallbackV2Info;
13046#[doc = " Function prototype definition for notifications that come from EOS_Achievements_AddNotifyAchievementsUnlockedV2\n\n @param Data An EOS_Achievements_OnAchievementsUnlockedCallbackV2Info containing the output information and result"]
13047pub type EOS_Achievements_OnAchievementsUnlockedCallbackV2 = ::std::option::Option<
13048 unsafe extern "C" fn(Data: *const EOS_Achievements_OnAchievementsUnlockedCallbackV2Info),
13049>;
13050#[doc = " Contains information about a single achievement definition with localized text."]
13051#[repr(C)]
13052#[derive(Debug, Copy, Clone)]
13053pub struct _tagEOS_Achievements_Definition {
13054 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_DEFINITION_API_LATEST."]
13055 pub ApiVersion: i32,
13056 #[doc = " Achievement ID that can be used to uniquely identify the achievement."]
13057 pub AchievementId: *const ::std::os::raw::c_char,
13058 #[doc = " Text representing the Name to display in-game when achievement has been unlocked."]
13059 pub DisplayName: *const ::std::os::raw::c_char,
13060 #[doc = " Text representing the description to display in-game when achievement has been unlocked."]
13061 pub Description: *const ::std::os::raw::c_char,
13062 #[doc = " Text representing the name to display in-game when achievement is locked."]
13063 pub LockedDisplayName: *const ::std::os::raw::c_char,
13064 #[doc = " Text representing the description of what needs to be done to trigger the unlock of this achievement."]
13065 pub LockedDescription: *const ::std::os::raw::c_char,
13066 #[doc = " Text representing the description to display in-game when achievement is hidden."]
13067 pub HiddenDescription: *const ::std::os::raw::c_char,
13068 #[doc = " Text representing the description of what happens when the achievement is unlocked."]
13069 pub CompletionDescription: *const ::std::os::raw::c_char,
13070 #[doc = " Text representing the icon to display in-game when achievement is unlocked."]
13071 pub UnlockedIconId: *const ::std::os::raw::c_char,
13072 #[doc = " Text representing the icon to display in-game when achievement is locked."]
13073 pub LockedIconId: *const ::std::os::raw::c_char,
13074 #[doc = " True if achievement is hidden, false otherwise."]
13075 pub bIsHidden: EOS_Bool,
13076 #[doc = " The number of stat thresholds."]
13077 pub StatThresholdsCount: i32,
13078 #[doc = " Array of stat thresholds that need to be satisfied to unlock the achievement."]
13079 pub StatThresholds: *const EOS_Achievements_StatThresholds,
13080}
13081impl Default for _tagEOS_Achievements_Definition {
13082 fn default() -> Self {
13083 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13084 unsafe {
13085 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13086 s.assume_init()
13087 }
13088 }
13089}
13090#[doc = " Contains information about a single achievement definition with localized text."]
13091pub type EOS_Achievements_Definition = _tagEOS_Achievements_Definition;
13092unsafe extern "C" {
13093 #[doc = " Release the memory associated with achievement definitions. This must be called on data retrieved from\n EOS_Achievements_CopyAchievementDefinitionByIndex or EOS_Achievements_CopyAchievementDefinitionByAchievementId.\n\n @param AchievementDefinition - The achievement definition to release.\n\n @see EOS_Achievements_Definition\n @see EOS_Achievements_CopyAchievementDefinitionByIndex\n @see EOS_Achievements_CopyAchievementDefinitionByAchievementId"]
13094 pub fn EOS_Achievements_Definition_Release(
13095 AchievementDefinition: *mut EOS_Achievements_Definition,
13096 );
13097}
13098#[doc = " Input parameters for the EOS_Achievements_CopyAchievementDefinitionByIndex function."]
13099#[repr(C)]
13100#[derive(Debug, Default, Copy, Clone)]
13101pub struct _tagEOS_Achievements_CopyAchievementDefinitionByIndexOptions {
13102 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_COPYDEFINITIONBYINDEX_API_LATEST."]
13103 pub ApiVersion: i32,
13104 #[doc = " Index of the achievement definition to retrieve from the cache"]
13105 pub AchievementIndex: u32,
13106}
13107#[doc = " Input parameters for the EOS_Achievements_CopyAchievementDefinitionByIndex function."]
13108pub type EOS_Achievements_CopyAchievementDefinitionByIndexOptions =
13109 _tagEOS_Achievements_CopyAchievementDefinitionByIndexOptions;
13110#[doc = " Input parameters for the EOS_Achievements_CopyAchievementDefinitionByAchievementId function."]
13111#[repr(C)]
13112#[derive(Debug, Copy, Clone)]
13113pub struct _tagEOS_Achievements_CopyAchievementDefinitionByAchievementIdOptions {
13114 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_COPYDEFINITIONBYACHIEVEMENTID_API_LATEST."]
13115 pub ApiVersion: i32,
13116 #[doc = " Achievement ID to look for when copying definition from the cache"]
13117 pub AchievementId: *const ::std::os::raw::c_char,
13118}
13119impl Default for _tagEOS_Achievements_CopyAchievementDefinitionByAchievementIdOptions {
13120 fn default() -> Self {
13121 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13122 unsafe {
13123 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13124 s.assume_init()
13125 }
13126 }
13127}
13128#[doc = " Input parameters for the EOS_Achievements_CopyAchievementDefinitionByAchievementId function."]
13129pub type EOS_Achievements_CopyAchievementDefinitionByAchievementIdOptions =
13130 _tagEOS_Achievements_CopyAchievementDefinitionByAchievementIdOptions;
13131#[doc = " Contains information about a single unlocked achievement."]
13132#[repr(C)]
13133#[derive(Debug, Copy, Clone)]
13134pub struct _tagEOS_Achievements_UnlockedAchievement {
13135 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_UNLOCKEDACHIEVEMENT_API_LATEST."]
13136 pub ApiVersion: i32,
13137 #[doc = " Achievement ID that can be used to uniquely identify the unlocked achievement."]
13138 pub AchievementId: *const ::std::os::raw::c_char,
13139 #[doc = " If not EOS_ACHIEVEMENTS_ACHIEVEMENT_UNLOCKTIME_UNDEFINED then this is the POSIX timestamp that the achievement was unlocked."]
13140 pub UnlockTime: i64,
13141}
13142impl Default for _tagEOS_Achievements_UnlockedAchievement {
13143 fn default() -> Self {
13144 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13145 unsafe {
13146 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13147 s.assume_init()
13148 }
13149 }
13150}
13151#[doc = " Contains information about a single unlocked achievement."]
13152pub type EOS_Achievements_UnlockedAchievement = _tagEOS_Achievements_UnlockedAchievement;
13153#[doc = " Input parameters for the EOS_Achievements_GetUnlockedAchievementCount function."]
13154#[repr(C)]
13155#[derive(Debug, Copy, Clone)]
13156pub struct _tagEOS_Achievements_GetUnlockedAchievementCountOptions {
13157 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_GETUNLOCKEDACHIEVEMENTCOUNT_API_LATEST."]
13158 pub ApiVersion: i32,
13159 #[doc = " Product User ID for which to retrieve the unlocked achievement count"]
13160 pub UserId: EOS_ProductUserId,
13161}
13162impl Default for _tagEOS_Achievements_GetUnlockedAchievementCountOptions {
13163 fn default() -> Self {
13164 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13165 unsafe {
13166 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13167 s.assume_init()
13168 }
13169 }
13170}
13171#[doc = " Input parameters for the EOS_Achievements_GetUnlockedAchievementCount function."]
13172pub type EOS_Achievements_GetUnlockedAchievementCountOptions =
13173 _tagEOS_Achievements_GetUnlockedAchievementCountOptions;
13174#[doc = " Input parameters for the EOS_Achievements_CopyUnlockedAchievementByIndex function."]
13175#[repr(C)]
13176#[derive(Debug, Copy, Clone)]
13177pub struct _tagEOS_Achievements_CopyUnlockedAchievementByIndexOptions {
13178 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_COPYUNLOCKEDACHIEVEMENTBYINDEX_API_LATEST."]
13179 pub ApiVersion: i32,
13180 #[doc = " The Product User ID for the user who is copying the unlocked achievement"]
13181 pub UserId: EOS_ProductUserId,
13182 #[doc = " Index of the unlocked achievement to retrieve from the cache"]
13183 pub AchievementIndex: u32,
13184}
13185impl Default for _tagEOS_Achievements_CopyUnlockedAchievementByIndexOptions {
13186 fn default() -> Self {
13187 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13188 unsafe {
13189 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13190 s.assume_init()
13191 }
13192 }
13193}
13194#[doc = " Input parameters for the EOS_Achievements_CopyUnlockedAchievementByIndex function."]
13195pub type EOS_Achievements_CopyUnlockedAchievementByIndexOptions =
13196 _tagEOS_Achievements_CopyUnlockedAchievementByIndexOptions;
13197#[doc = " Input parameters for the EOS_Achievements_CopyUnlockedAchievementByAchievementId function."]
13198#[repr(C)]
13199#[derive(Debug, Copy, Clone)]
13200pub struct _tagEOS_Achievements_CopyUnlockedAchievementByAchievementIdOptions {
13201 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_COPYUNLOCKEDACHIEVEMENTBYACHIEVEMENTID_API_LATEST."]
13202 pub ApiVersion: i32,
13203 #[doc = " The Product User ID for the user who is copying the unlocked achievement"]
13204 pub UserId: EOS_ProductUserId,
13205 #[doc = " AchievementId of the unlocked achievement to retrieve from the cache"]
13206 pub AchievementId: *const ::std::os::raw::c_char,
13207}
13208impl Default for _tagEOS_Achievements_CopyUnlockedAchievementByAchievementIdOptions {
13209 fn default() -> Self {
13210 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13211 unsafe {
13212 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13213 s.assume_init()
13214 }
13215 }
13216}
13217#[doc = " Input parameters for the EOS_Achievements_CopyUnlockedAchievementByAchievementId function."]
13218pub type EOS_Achievements_CopyUnlockedAchievementByAchievementIdOptions =
13219 _tagEOS_Achievements_CopyUnlockedAchievementByAchievementIdOptions;
13220#[doc = " Input parameters for the EOS_Achievements_AddNotifyAchievementsUnlocked function."]
13221#[repr(C)]
13222#[derive(Debug, Default, Copy, Clone)]
13223pub struct _tagEOS_Achievements_AddNotifyAchievementsUnlockedOptions {
13224 #[doc = " API Version: Set this to EOS_ACHIEVEMENTS_ADDNOTIFYACHIEVEMENTSUNLOCKED_API_LATEST."]
13225 pub ApiVersion: i32,
13226}
13227#[doc = " Input parameters for the EOS_Achievements_AddNotifyAchievementsUnlocked function."]
13228pub type EOS_Achievements_AddNotifyAchievementsUnlockedOptions =
13229 _tagEOS_Achievements_AddNotifyAchievementsUnlockedOptions;
13230#[doc = " Output parameters for the EOS_Achievements_OnAchievementsUnlockedCallback Function."]
13231#[repr(C)]
13232#[derive(Debug, Copy, Clone)]
13233pub struct _tagEOS_Achievements_OnAchievementsUnlockedCallbackInfo {
13234 #[doc = " Context that was passed into EOS_Achievements_AddNotifyAchievementsUnlocked"]
13235 pub ClientData: *mut ::std::os::raw::c_void,
13236 #[doc = " The Product User ID for the user who received the unlocked achievements notification"]
13237 pub UserId: EOS_ProductUserId,
13238 #[doc = " The number of achievements."]
13239 pub AchievementsCount: u32,
13240 #[doc = " This member is not used and will always be set to NULL."]
13241 pub AchievementIds: *mut *const ::std::os::raw::c_char,
13242}
13243impl Default for _tagEOS_Achievements_OnAchievementsUnlockedCallbackInfo {
13244 fn default() -> Self {
13245 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13246 unsafe {
13247 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13248 s.assume_init()
13249 }
13250 }
13251}
13252#[doc = " Output parameters for the EOS_Achievements_OnAchievementsUnlockedCallback Function."]
13253pub type EOS_Achievements_OnAchievementsUnlockedCallbackInfo =
13254 _tagEOS_Achievements_OnAchievementsUnlockedCallbackInfo;
13255#[doc = " Function prototype definition for notifications that come from EOS_Achievements_AddNotifyAchievementsUnlocked\n\n @param Data A EOS_Achievements_OnAchievementsUnlockedCallbackInfo containing the output information and result"]
13256pub type EOS_Achievements_OnAchievementsUnlockedCallback = ::std::option::Option<
13257 unsafe extern "C" fn(Data: *const EOS_Achievements_OnAchievementsUnlockedCallbackInfo),
13258>;
13259unsafe extern "C" {
13260 #[doc = " Release the memory associated with an unlocked achievement. This must be called on data retrieved from\n EOS_Achievements_CopyUnlockedAchievementByIndex or EOS_Achievements_CopyUnlockedAchievementByAchievementId.\n\n @param Achievement - The unlocked achievement data to release.\n\n @see EOS_Achievements_UnlockedAchievement\n @see EOS_Achievements_CopyUnlockedAchievementByIndex\n @see EOS_Achievements_CopyUnlockedAchievementByAchievementId"]
13261 pub fn EOS_Achievements_UnlockedAchievement_Release(
13262 Achievement: *mut EOS_Achievements_UnlockedAchievement,
13263 );
13264}
13265#[repr(C)]
13266#[derive(Debug, Copy, Clone)]
13267pub struct EOS_StatsHandle {
13268 _unused: [u8; 0],
13269}
13270pub type EOS_HStats = *mut EOS_StatsHandle;
13271#[doc = " Contains information about a single stat to ingest."]
13272#[repr(C)]
13273#[derive(Debug, Copy, Clone)]
13274pub struct _tagEOS_Stats_IngestData {
13275 #[doc = " API Version: Set this to EOS_STATS_INGESTDATA_API_LATEST."]
13276 pub ApiVersion: i32,
13277 #[doc = " The name of the stat to ingest."]
13278 pub StatName: *const ::std::os::raw::c_char,
13279 #[doc = " The amount to ingest the stat."]
13280 pub IngestAmount: i32,
13281}
13282impl Default for _tagEOS_Stats_IngestData {
13283 fn default() -> Self {
13284 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13285 unsafe {
13286 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13287 s.assume_init()
13288 }
13289 }
13290}
13291#[doc = " Contains information about a single stat to ingest."]
13292pub type EOS_Stats_IngestData = _tagEOS_Stats_IngestData;
13293#[doc = " Input parameters for the EOS_Stats_IngestStat function."]
13294#[repr(C)]
13295#[derive(Debug, Copy, Clone)]
13296pub struct _tagEOS_Stats_IngestStatOptions {
13297 #[doc = " API Version: Set this to EOS_STATS_INGESTSTAT_API_LATEST."]
13298 pub ApiVersion: i32,
13299 #[doc = " The Product User ID of the local user requesting the ingest. Set to null for dedicated server."]
13300 pub LocalUserId: EOS_ProductUserId,
13301 #[doc = " Stats to ingest."]
13302 pub Stats: *const EOS_Stats_IngestData,
13303 #[doc = " The number of stats to ingest, may not exceed EOS_STATS_MAX_INGEST_STATS."]
13304 pub StatsCount: u32,
13305 #[doc = " The Product User ID for the user whose stat is being ingested."]
13306 pub TargetUserId: EOS_ProductUserId,
13307}
13308impl Default for _tagEOS_Stats_IngestStatOptions {
13309 fn default() -> Self {
13310 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13311 unsafe {
13312 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13313 s.assume_init()
13314 }
13315 }
13316}
13317#[doc = " Input parameters for the EOS_Stats_IngestStat function."]
13318pub type EOS_Stats_IngestStatOptions = _tagEOS_Stats_IngestStatOptions;
13319#[doc = " Data containing the result information for an ingest stat request.\n\n NOTE: A result code of EOS_Success indicates the ingest request\n reached the server successfully, but does not guarantee successful processing.\n For example, if an incorrect StatName value is provided in the ingest call,\n processing may still fail.\n"]
13320#[repr(C)]
13321#[derive(Debug, Copy, Clone)]
13322pub struct _tagEOS_Stats_IngestStatCompleteCallbackInfo {
13323 #[doc = " Result code for the operation. EOS_Success is returned for a successful request, other codes indicate an error."]
13324 pub ResultCode: EOS_EResult,
13325 #[doc = " Context that was passed into EOS_Stats_IngestStat."]
13326 pub ClientData: *mut ::std::os::raw::c_void,
13327 #[doc = " The Product User ID for the user requesting the ingest"]
13328 pub LocalUserId: EOS_ProductUserId,
13329 #[doc = " The Product User ID for the user whose stat is being ingested"]
13330 pub TargetUserId: EOS_ProductUserId,
13331}
13332impl Default for _tagEOS_Stats_IngestStatCompleteCallbackInfo {
13333 fn default() -> Self {
13334 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13335 unsafe {
13336 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13337 s.assume_init()
13338 }
13339 }
13340}
13341#[doc = " Data containing the result information for an ingest stat request.\n\n NOTE: A result code of EOS_Success indicates the ingest request\n reached the server successfully, but does not guarantee successful processing.\n For example, if an incorrect StatName value is provided in the ingest call,\n processing may still fail.\n"]
13342pub type EOS_Stats_IngestStatCompleteCallbackInfo = _tagEOS_Stats_IngestStatCompleteCallbackInfo;
13343#[doc = " Function prototype definition for callbacks passed to EOS_Stats_IngestStat\n @param Data A EOS_Stats_IngestStatCompleteCallbackInfo containing the output information and result"]
13344pub type EOS_Stats_OnIngestStatCompleteCallback = ::std::option::Option<
13345 unsafe extern "C" fn(Data: *const EOS_Stats_IngestStatCompleteCallbackInfo),
13346>;
13347#[doc = " Input parameters for the EOS_Stats_QueryStats function."]
13348#[repr(C)]
13349#[derive(Debug, Copy, Clone)]
13350pub struct _tagEOS_Stats_QueryStatsOptions {
13351 #[doc = " API Version: Set this to EOS_STATS_QUERYSTATS_API_LATEST."]
13352 pub ApiVersion: i32,
13353 #[doc = " The Product User ID of the local user requesting the stats. Set to null for dedicated server."]
13354 pub LocalUserId: EOS_ProductUserId,
13355 #[doc = " If not EOS_STATS_TIME_UNDEFINED then this is the POSIX timestamp for start time (Optional - set to EOS_STATS_TIME_UNDEFINED to ignore this parameter)."]
13356 pub StartTime: i64,
13357 #[doc = " If not EOS_STATS_TIME_UNDEFINED then this is the POSIX timestamp for end time (Optional - set to EOS_STATS_TIME_UNDEFINED to ignore this parameter)."]
13358 pub EndTime: i64,
13359 #[doc = " An array of stat names to query for (Optional - set to nullptr to query for all stats)."]
13360 pub StatNames: *mut *const ::std::os::raw::c_char,
13361 #[doc = " The number of stat names included in query (Optional - set to 0 when querying for all stats), may not exceed EOS_STATS_MAX_QUERY_STATS."]
13362 pub StatNamesCount: u32,
13363 #[doc = " The Product User ID for the user whose stats are being retrieved"]
13364 pub TargetUserId: EOS_ProductUserId,
13365}
13366impl Default for _tagEOS_Stats_QueryStatsOptions {
13367 fn default() -> Self {
13368 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13369 unsafe {
13370 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13371 s.assume_init()
13372 }
13373 }
13374}
13375#[doc = " Input parameters for the EOS_Stats_QueryStats function."]
13376pub type EOS_Stats_QueryStatsOptions = _tagEOS_Stats_QueryStatsOptions;
13377#[doc = " Contains information about a single player stat."]
13378#[repr(C)]
13379#[derive(Debug, Copy, Clone)]
13380pub struct _tagEOS_Stats_Stat {
13381 #[doc = " API Version: Set this to EOS_STATS_STAT_API_LATEST."]
13382 pub ApiVersion: i32,
13383 #[doc = " Name of the stat."]
13384 pub Name: *const ::std::os::raw::c_char,
13385 #[doc = " If not EOS_STATS_TIME_UNDEFINED then this is the POSIX timestamp for start time."]
13386 pub StartTime: i64,
13387 #[doc = " If not EOS_STATS_TIME_UNDEFINED then this is the POSIX timestamp for end time."]
13388 pub EndTime: i64,
13389 #[doc = " Current value for the stat."]
13390 pub Value: i32,
13391}
13392impl Default for _tagEOS_Stats_Stat {
13393 fn default() -> Self {
13394 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13395 unsafe {
13396 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13397 s.assume_init()
13398 }
13399 }
13400}
13401#[doc = " Contains information about a single player stat."]
13402pub type EOS_Stats_Stat = _tagEOS_Stats_Stat;
13403#[doc = " Input parameters for the EOS_Stats_GetStatsCount function."]
13404#[repr(C)]
13405#[derive(Debug, Copy, Clone)]
13406pub struct _tagEOS_Stats_GetStatCountOptions {
13407 #[doc = " API Version: Set this to EOS_STATS_GETSTATSCOUNT_API_LATEST."]
13408 pub ApiVersion: i32,
13409 #[doc = " The Product User ID for the user whose stats are being counted"]
13410 pub TargetUserId: EOS_ProductUserId,
13411}
13412impl Default for _tagEOS_Stats_GetStatCountOptions {
13413 fn default() -> Self {
13414 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13415 unsafe {
13416 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13417 s.assume_init()
13418 }
13419 }
13420}
13421#[doc = " Input parameters for the EOS_Stats_GetStatsCount function."]
13422pub type EOS_Stats_GetStatCountOptions = _tagEOS_Stats_GetStatCountOptions;
13423#[doc = " Input parameters for the EOS_Stats_CopyStatByIndex function."]
13424#[repr(C)]
13425#[derive(Debug, Copy, Clone)]
13426pub struct _tagEOS_Stats_CopyStatByIndexOptions {
13427 #[doc = " API Version: Set this to EOS_STATS_COPYSTATBYINDEX_API_LATEST."]
13428 pub ApiVersion: i32,
13429 #[doc = " The Product User ID of the user who owns the stat"]
13430 pub TargetUserId: EOS_ProductUserId,
13431 #[doc = " Index of the stat to retrieve from the cache"]
13432 pub StatIndex: u32,
13433}
13434impl Default for _tagEOS_Stats_CopyStatByIndexOptions {
13435 fn default() -> Self {
13436 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13437 unsafe {
13438 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13439 s.assume_init()
13440 }
13441 }
13442}
13443#[doc = " Input parameters for the EOS_Stats_CopyStatByIndex function."]
13444pub type EOS_Stats_CopyStatByIndexOptions = _tagEOS_Stats_CopyStatByIndexOptions;
13445#[doc = " Input parameters for the EOS_Stats_CopyStatByName function."]
13446#[repr(C)]
13447#[derive(Debug, Copy, Clone)]
13448pub struct _tagEOS_Stats_CopyStatByNameOptions {
13449 #[doc = " API Version: Set this to EOS_STATS_COPYSTATBYNAME_API_LATEST."]
13450 pub ApiVersion: i32,
13451 #[doc = " The Product User ID of the user who owns the stat"]
13452 pub TargetUserId: EOS_ProductUserId,
13453 #[doc = " Name of the stat to retrieve from the cache"]
13454 pub Name: *const ::std::os::raw::c_char,
13455}
13456impl Default for _tagEOS_Stats_CopyStatByNameOptions {
13457 fn default() -> Self {
13458 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13459 unsafe {
13460 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13461 s.assume_init()
13462 }
13463 }
13464}
13465#[doc = " Input parameters for the EOS_Stats_CopyStatByName function."]
13466pub type EOS_Stats_CopyStatByNameOptions = _tagEOS_Stats_CopyStatByNameOptions;
13467unsafe extern "C" {
13468 #[doc = " Release the memory associated with a stat. This must be called on data retrieved from EOS_Stats_CopyStatByIndex or EOS_Stats_CopyStatByName.\n\n @param Stat - The stat data to release.\n\n @see EOS_Stats_Stat\n @see EOS_Stats_CopyStatByIndex\n @see EOS_Stats_CopyStatByName"]
13469 pub fn EOS_Stats_Stat_Release(Stat: *mut EOS_Stats_Stat);
13470}
13471#[doc = " Data containing the result information for querying a player's stats request."]
13472#[repr(C)]
13473#[derive(Debug, Copy, Clone)]
13474pub struct _tagEOS_Stats_OnQueryStatsCompleteCallbackInfo {
13475 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
13476 pub ResultCode: EOS_EResult,
13477 #[doc = " Context that was passed into EOS_Stats_QueryStats"]
13478 pub ClientData: *mut ::std::os::raw::c_void,
13479 #[doc = " The Product User ID of the user who initiated this request"]
13480 pub LocalUserId: EOS_ProductUserId,
13481 #[doc = " The Product User ID whose stats which were retrieved"]
13482 pub TargetUserId: EOS_ProductUserId,
13483}
13484impl Default for _tagEOS_Stats_OnQueryStatsCompleteCallbackInfo {
13485 fn default() -> Self {
13486 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13487 unsafe {
13488 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13489 s.assume_init()
13490 }
13491 }
13492}
13493#[doc = " Data containing the result information for querying a player's stats request."]
13494pub type EOS_Stats_OnQueryStatsCompleteCallbackInfo =
13495 _tagEOS_Stats_OnQueryStatsCompleteCallbackInfo;
13496#[doc = " Function prototype definition for callbacks passed to EOS_Stats_QueryStats\n\n @param Data A EOS_Stats_OnQueryStatsCompleteCallbackInfo containing the output information and result\n\n @see EOS_Stats_Stat_Release"]
13497pub type EOS_Stats_OnQueryStatsCompleteCallback = ::std::option::Option<
13498 unsafe extern "C" fn(Data: *const EOS_Stats_OnQueryStatsCompleteCallbackInfo),
13499>;
13500#[repr(C)]
13501#[derive(Debug, Copy, Clone)]
13502pub struct EOS_LeaderboardsHandle {
13503 _unused: [u8; 0],
13504}
13505pub type EOS_HLeaderboards = *mut EOS_LeaderboardsHandle;
13506#[doc = " Input parameters for the EOS_Leaderboards_QueryLeaderboardDefinitions function.\n StartTime and EndTime are optional parameters, they can be used to limit the list of definitions\n to overlap the time window specified."]
13507#[repr(C)]
13508#[derive(Debug, Copy, Clone)]
13509pub struct _tagEOS_Leaderboards_QueryLeaderboardDefinitionsOptions {
13510 #[doc = " API Version: Set this to EOS_LEADERBOARDS_QUERYLEADERBOARDDEFINITIONS_API_LATEST."]
13511 pub ApiVersion: i32,
13512 #[doc = " An optional POSIX timestamp for the leaderboard's start time, or EOS_LEADERBOARDS_TIME_UNDEFINED"]
13513 pub StartTime: i64,
13514 #[doc = " An optional POSIX timestamp for the leaderboard's end time, or EOS_LEADERBOARDS_TIME_UNDEFINED"]
13515 pub EndTime: i64,
13516 #[doc = " Product User ID for user who is querying definitions.\n Must be set when using a client policy that requires a valid logged in user.\n Not used for Dedicated Server where no user is available."]
13517 pub LocalUserId: EOS_ProductUserId,
13518}
13519impl Default for _tagEOS_Leaderboards_QueryLeaderboardDefinitionsOptions {
13520 fn default() -> Self {
13521 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13522 unsafe {
13523 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13524 s.assume_init()
13525 }
13526 }
13527}
13528#[doc = " Input parameters for the EOS_Leaderboards_QueryLeaderboardDefinitions function.\n StartTime and EndTime are optional parameters, they can be used to limit the list of definitions\n to overlap the time window specified."]
13529pub type EOS_Leaderboards_QueryLeaderboardDefinitionsOptions =
13530 _tagEOS_Leaderboards_QueryLeaderboardDefinitionsOptions;
13531#[doc = " Minimum"]
13532pub const EOS_ELeaderboardAggregation_EOS_LA_Min: EOS_ELeaderboardAggregation = 0;
13533#[doc = " Maximum"]
13534pub const EOS_ELeaderboardAggregation_EOS_LA_Max: EOS_ELeaderboardAggregation = 1;
13535#[doc = " Sum"]
13536pub const EOS_ELeaderboardAggregation_EOS_LA_Sum: EOS_ELeaderboardAggregation = 2;
13537#[doc = " Latest"]
13538pub const EOS_ELeaderboardAggregation_EOS_LA_Latest: EOS_ELeaderboardAggregation = 3;
13539pub const EOS_ELeaderboardAggregation___EOS_ELeaderboardAggregation_PAD_INT32__:
13540 EOS_ELeaderboardAggregation = 2147483647;
13541#[doc = " An enumeration of the different leaderboard aggregation types."]
13542pub type EOS_ELeaderboardAggregation = ::std::os::raw::c_int;
13543#[doc = " Contains information about a single leaderboard definition"]
13544#[repr(C)]
13545#[derive(Debug, Copy, Clone)]
13546pub struct _tagEOS_Leaderboards_Definition {
13547 #[doc = " API Version: Set this to EOS_LEADERBOARDS_DEFINITION_API_LATEST."]
13548 pub ApiVersion: i32,
13549 #[doc = " Unique ID to identify leaderboard."]
13550 pub LeaderboardId: *const ::std::os::raw::c_char,
13551 #[doc = " Name of stat used to rank leaderboard."]
13552 pub StatName: *const ::std::os::raw::c_char,
13553 #[doc = " Aggregation used to sort leaderboard."]
13554 pub Aggregation: EOS_ELeaderboardAggregation,
13555 #[doc = " The POSIX timestamp for the start time, or EOS_LEADERBOARDS_TIME_UNDEFINED."]
13556 pub StartTime: i64,
13557 #[doc = " The POSIX timestamp for the end time, or EOS_LEADERBOARDS_TIME_UNDEFINED."]
13558 pub EndTime: i64,
13559}
13560impl Default for _tagEOS_Leaderboards_Definition {
13561 fn default() -> Self {
13562 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13563 unsafe {
13564 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13565 s.assume_init()
13566 }
13567 }
13568}
13569#[doc = " Contains information about a single leaderboard definition"]
13570pub type EOS_Leaderboards_Definition = _tagEOS_Leaderboards_Definition;
13571#[doc = " Input parameters for the EOS_Leaderboards_GetLeaderboardDefinitionCount function."]
13572#[repr(C)]
13573#[derive(Debug, Default, Copy, Clone)]
13574pub struct _tagEOS_Leaderboards_GetLeaderboardDefinitionCountOptions {
13575 #[doc = " API Version: Set this to EOS_LEADERBOARDS_GETLEADERBOARDDEFINITIONCOUNT_API_LATEST."]
13576 pub ApiVersion: i32,
13577}
13578#[doc = " Input parameters for the EOS_Leaderboards_GetLeaderboardDefinitionCount function."]
13579pub type EOS_Leaderboards_GetLeaderboardDefinitionCountOptions =
13580 _tagEOS_Leaderboards_GetLeaderboardDefinitionCountOptions;
13581#[doc = " Input parameters for the EOS_Leaderboards_CopyLeaderboardDefinitionByIndex function."]
13582#[repr(C)]
13583#[derive(Debug, Default, Copy, Clone)]
13584pub struct _tagEOS_Leaderboards_CopyLeaderboardDefinitionByIndexOptions {
13585 #[doc = " API Version: Set this to EOS_LEADERBOARDS_COPYLEADERBOARDDEFINITIONBYINDEX_API_LATEST."]
13586 pub ApiVersion: i32,
13587 #[doc = " Index of the leaderboard definition to retrieve from the cache"]
13588 pub LeaderboardIndex: u32,
13589}
13590#[doc = " Input parameters for the EOS_Leaderboards_CopyLeaderboardDefinitionByIndex function."]
13591pub type EOS_Leaderboards_CopyLeaderboardDefinitionByIndexOptions =
13592 _tagEOS_Leaderboards_CopyLeaderboardDefinitionByIndexOptions;
13593#[doc = " Input parameters for the EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardId function."]
13594#[repr(C)]
13595#[derive(Debug, Copy, Clone)]
13596pub struct _tagEOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardIdOptions {
13597 #[doc = " API Version: Set this to EOS_LEADERBOARDS_COPYLEADERBOARDDEFINITIONBYLEADERBOARDID_API_LATEST."]
13598 pub ApiVersion: i32,
13599 #[doc = " The ID of the leaderboard whose definition you want to copy from the cache"]
13600 pub LeaderboardId: *const ::std::os::raw::c_char,
13601}
13602impl Default for _tagEOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardIdOptions {
13603 fn default() -> Self {
13604 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13605 unsafe {
13606 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13607 s.assume_init()
13608 }
13609 }
13610}
13611#[doc = " Input parameters for the EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardId function."]
13612pub type EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardIdOptions =
13613 _tagEOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardIdOptions;
13614unsafe extern "C" {
13615 #[doc = " Release the memory associated with a leaderboard definition. This must be called on data retrieved from\n EOS_Leaderboards_CopyLeaderboardDefinitionByIndex or EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardId.\n\n @param LeaderboardDefinition - The Leaderboard definition to release.\n\n @see EOS_Leaderboards_Definition\n @see EOS_Leaderboards_CopyLeaderboardDefinitionByIndex\n @see EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardId"]
13616 pub fn EOS_Leaderboards_Definition_Release(
13617 LeaderboardDefinition: *mut EOS_Leaderboards_Definition,
13618 );
13619}
13620#[doc = " Data containing the result information for a query leaderboard definitions request."]
13621#[repr(C)]
13622#[derive(Debug, Copy, Clone)]
13623pub struct _tagEOS_Leaderboards_OnQueryLeaderboardDefinitionsCompleteCallbackInfo {
13624 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
13625 pub ResultCode: EOS_EResult,
13626 #[doc = " Context that was passed into EOS_Leaderboards_QueryLeaderboardDefinitions."]
13627 pub ClientData: *mut ::std::os::raw::c_void,
13628}
13629impl Default for _tagEOS_Leaderboards_OnQueryLeaderboardDefinitionsCompleteCallbackInfo {
13630 fn default() -> Self {
13631 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13632 unsafe {
13633 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13634 s.assume_init()
13635 }
13636 }
13637}
13638#[doc = " Data containing the result information for a query leaderboard definitions request."]
13639pub type EOS_Leaderboards_OnQueryLeaderboardDefinitionsCompleteCallbackInfo =
13640 _tagEOS_Leaderboards_OnQueryLeaderboardDefinitionsCompleteCallbackInfo;
13641#[doc = " Function prototype definition for callbacks passed to EOS_Leaderboards_QueryLeaderboardDefinitions\n @param Data A EOS_Leaderboards_OnQueryLeaderboardDefinitionsCompleteCallbackInfo containing the output information and result"]
13642pub type EOS_Leaderboards_OnQueryLeaderboardDefinitionsCompleteCallback = ::std::option::Option<
13643 unsafe extern "C" fn(
13644 Data: *const EOS_Leaderboards_OnQueryLeaderboardDefinitionsCompleteCallbackInfo,
13645 ),
13646>;
13647#[doc = " Contains information about a single stat to query with user scores."]
13648#[repr(C)]
13649#[derive(Debug, Copy, Clone)]
13650pub struct _tagEOS_Leaderboards_UserScoresQueryStatInfo {
13651 #[doc = " API Version: Set this to EOS_LEADERBOARDS_USERSCORESQUERYSTATINFO_API_LATEST."]
13652 pub ApiVersion: i32,
13653 #[doc = " The name of the stat to query."]
13654 pub StatName: *const ::std::os::raw::c_char,
13655 #[doc = " Aggregation used to sort the cached user scores."]
13656 pub Aggregation: EOS_ELeaderboardAggregation,
13657}
13658impl Default for _tagEOS_Leaderboards_UserScoresQueryStatInfo {
13659 fn default() -> Self {
13660 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13661 unsafe {
13662 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13663 s.assume_init()
13664 }
13665 }
13666}
13667#[doc = " Contains information about a single stat to query with user scores."]
13668pub type EOS_Leaderboards_UserScoresQueryStatInfo = _tagEOS_Leaderboards_UserScoresQueryStatInfo;
13669#[doc = " Input parameters for the EOS_Leaderboards_QueryLeaderboardUserScores function."]
13670#[repr(C)]
13671#[derive(Debug, Copy, Clone)]
13672pub struct _tagEOS_Leaderboards_QueryLeaderboardUserScoresOptions {
13673 #[doc = " API Version: Set this to EOS_LEADERBOARDS_QUERYLEADERBOARDUSERSCORES_API_LATEST."]
13674 pub ApiVersion: i32,
13675 #[doc = " An array of Product User IDs indicating the users whose scores you want to retrieve"]
13676 pub UserIds: *const EOS_ProductUserId,
13677 #[doc = " The number of users included in query"]
13678 pub UserIdsCount: u32,
13679 #[doc = " The stats to be collected, along with the sorting method to use when determining rank order for each stat"]
13680 pub StatInfo: *const EOS_Leaderboards_UserScoresQueryStatInfo,
13681 #[doc = " The number of stats to query"]
13682 pub StatInfoCount: u32,
13683 #[doc = " An optional POSIX timestamp, or EOS_LEADERBOARDS_TIME_UNDEFINED; results will only include scores made after this time"]
13684 pub StartTime: i64,
13685 #[doc = " An optional POSIX timestamp, or EOS_LEADERBOARDS_TIME_UNDEFINED; results will only include scores made before this time"]
13686 pub EndTime: i64,
13687 #[doc = " Product User ID for user who is querying user scores.\n Must be set when using a client policy that requires a valid logged in user.\n Not used for Dedicated Server where no user is available."]
13688 pub LocalUserId: EOS_ProductUserId,
13689}
13690impl Default for _tagEOS_Leaderboards_QueryLeaderboardUserScoresOptions {
13691 fn default() -> Self {
13692 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13693 unsafe {
13694 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13695 s.assume_init()
13696 }
13697 }
13698}
13699#[doc = " Input parameters for the EOS_Leaderboards_QueryLeaderboardUserScores function."]
13700pub type EOS_Leaderboards_QueryLeaderboardUserScoresOptions =
13701 _tagEOS_Leaderboards_QueryLeaderboardUserScoresOptions;
13702#[doc = " Contains information about a single leaderboard user score"]
13703#[repr(C)]
13704#[derive(Debug, Copy, Clone)]
13705pub struct _tagEOS_Leaderboards_LeaderboardUserScore {
13706 #[doc = " API Version: Set this to EOS_LEADERBOARDS_LEADERBOARDUSERSCORE_API_LATEST."]
13707 pub ApiVersion: i32,
13708 #[doc = " The Product User ID of the user who got this score"]
13709 pub UserId: EOS_ProductUserId,
13710 #[doc = " Leaderboard score"]
13711 pub Score: i32,
13712}
13713impl Default for _tagEOS_Leaderboards_LeaderboardUserScore {
13714 fn default() -> Self {
13715 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13716 unsafe {
13717 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13718 s.assume_init()
13719 }
13720 }
13721}
13722#[doc = " Contains information about a single leaderboard user score"]
13723pub type EOS_Leaderboards_LeaderboardUserScore = _tagEOS_Leaderboards_LeaderboardUserScore;
13724#[doc = " Input parameters for the EOS_Leaderboards_GetLeaderboardUserScoreCount function."]
13725#[repr(C)]
13726#[derive(Debug, Copy, Clone)]
13727pub struct _tagEOS_Leaderboards_GetLeaderboardUserScoreCountOptions {
13728 #[doc = " API Version: Set this to EOS_LEADERBOARDS_GETLEADERBOARDUSERSCORECOUNT_API_LATEST."]
13729 pub ApiVersion: i32,
13730 #[doc = " Name of stat used to rank leaderboard."]
13731 pub StatName: *const ::std::os::raw::c_char,
13732}
13733impl Default for _tagEOS_Leaderboards_GetLeaderboardUserScoreCountOptions {
13734 fn default() -> Self {
13735 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13736 unsafe {
13737 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13738 s.assume_init()
13739 }
13740 }
13741}
13742#[doc = " Input parameters for the EOS_Leaderboards_GetLeaderboardUserScoreCount function."]
13743pub type EOS_Leaderboards_GetLeaderboardUserScoreCountOptions =
13744 _tagEOS_Leaderboards_GetLeaderboardUserScoreCountOptions;
13745#[doc = " Input parameters for the EOS_Leaderboards_CopyLeaderboardUserScoreByIndex function."]
13746#[repr(C)]
13747#[derive(Debug, Copy, Clone)]
13748pub struct _tagEOS_Leaderboards_CopyLeaderboardUserScoreByIndexOptions {
13749 #[doc = " API Version: Set this to EOS_LEADERBOARDS_COPYLEADERBOARDUSERSCOREBYINDEX_API_LATEST."]
13750 pub ApiVersion: i32,
13751 #[doc = " Index of the sorted leaderboard user score to retrieve from the cache."]
13752 pub LeaderboardUserScoreIndex: u32,
13753 #[doc = " Name of the stat used to rank the leaderboard."]
13754 pub StatName: *const ::std::os::raw::c_char,
13755}
13756impl Default for _tagEOS_Leaderboards_CopyLeaderboardUserScoreByIndexOptions {
13757 fn default() -> Self {
13758 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13759 unsafe {
13760 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13761 s.assume_init()
13762 }
13763 }
13764}
13765#[doc = " Input parameters for the EOS_Leaderboards_CopyLeaderboardUserScoreByIndex function."]
13766pub type EOS_Leaderboards_CopyLeaderboardUserScoreByIndexOptions =
13767 _tagEOS_Leaderboards_CopyLeaderboardUserScoreByIndexOptions;
13768#[doc = " Input parameters for the EOS_Leaderboards_CopyLeaderboardUserScoreByUserId function."]
13769#[repr(C)]
13770#[derive(Debug, Copy, Clone)]
13771pub struct _tagEOS_Leaderboards_CopyLeaderboardUserScoreByUserIdOptions {
13772 #[doc = " API Version: Set this to EOS_LEADERBOARDS_COPYLEADERBOARDUSERSCOREBYUSERID_API_LATEST."]
13773 pub ApiVersion: i32,
13774 #[doc = " The Product User ID to look for when copying leaderboard score data from the cache"]
13775 pub UserId: EOS_ProductUserId,
13776 #[doc = " The name of the stat that is used to rank this leaderboard"]
13777 pub StatName: *const ::std::os::raw::c_char,
13778}
13779impl Default for _tagEOS_Leaderboards_CopyLeaderboardUserScoreByUserIdOptions {
13780 fn default() -> Self {
13781 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13782 unsafe {
13783 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13784 s.assume_init()
13785 }
13786 }
13787}
13788#[doc = " Input parameters for the EOS_Leaderboards_CopyLeaderboardUserScoreByUserId function."]
13789pub type EOS_Leaderboards_CopyLeaderboardUserScoreByUserIdOptions =
13790 _tagEOS_Leaderboards_CopyLeaderboardUserScoreByUserIdOptions;
13791unsafe extern "C" {
13792 #[doc = " Release the memory associated with leaderboard user score. This must be called on data retrieved from\n EOS_Leaderboards_CopyLeaderboardUserScoreByIndex or EOS_Leaderboards_CopyLeaderboardUserScoreByUserId.\n\n @param LeaderboardUserScore - The Leaderboard user score to release.\n\n @see EOS_Leaderboards_LeaderboardUserScore\n @see EOS_Leaderboards_CopyLeaderboardUserScoreByIndex\n @see EOS_Leaderboards_CopyLeaderboardUserScoreByUserId"]
13793 pub fn EOS_Leaderboards_LeaderboardUserScore_Release(
13794 LeaderboardUserScore: *mut EOS_Leaderboards_LeaderboardUserScore,
13795 );
13796}
13797#[doc = " Data containing the result information for a query leaderboard user scores request."]
13798#[repr(C)]
13799#[derive(Debug, Copy, Clone)]
13800pub struct _tagEOS_Leaderboards_OnQueryLeaderboardUserScoresCompleteCallbackInfo {
13801 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
13802 pub ResultCode: EOS_EResult,
13803 #[doc = " Context that was passed into EOS_Leaderboards_QueryLeaderboardUserScores."]
13804 pub ClientData: *mut ::std::os::raw::c_void,
13805}
13806impl Default for _tagEOS_Leaderboards_OnQueryLeaderboardUserScoresCompleteCallbackInfo {
13807 fn default() -> Self {
13808 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13809 unsafe {
13810 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13811 s.assume_init()
13812 }
13813 }
13814}
13815#[doc = " Data containing the result information for a query leaderboard user scores request."]
13816pub type EOS_Leaderboards_OnQueryLeaderboardUserScoresCompleteCallbackInfo =
13817 _tagEOS_Leaderboards_OnQueryLeaderboardUserScoresCompleteCallbackInfo;
13818#[doc = " Function prototype definition for callbacks passed to EOS_Leaderboards_QueryLeaderboardUserScores\n @param Data A EOS_Leaderboards_OnQueryLeaderboardUserScoresCompleteCallbackInfo containing the output information and result"]
13819pub type EOS_Leaderboards_OnQueryLeaderboardUserScoresCompleteCallback = ::std::option::Option<
13820 unsafe extern "C" fn(
13821 Data: *const EOS_Leaderboards_OnQueryLeaderboardUserScoresCompleteCallbackInfo,
13822 ),
13823>;
13824#[doc = " Input parameters for the EOS_Leaderboards_QueryLeaderboardRanks function.\n\n @see EOS_Leaderboards_Definition"]
13825#[repr(C)]
13826#[derive(Debug, Copy, Clone)]
13827pub struct _tagEOS_Leaderboards_QueryLeaderboardRanksOptions {
13828 #[doc = " API Version: Set this to EOS_LEADERBOARDS_QUERYLEADERBOARDRANKS_API_LATEST."]
13829 pub ApiVersion: i32,
13830 #[doc = " The ID of the leaderboard whose information you want to retrieve."]
13831 pub LeaderboardId: *const ::std::os::raw::c_char,
13832 #[doc = " Product User ID for user who is querying ranks.\n Must be set when using a client policy that requires a valid logged in user.\n Not used for Dedicated Server where no user is available."]
13833 pub LocalUserId: EOS_ProductUserId,
13834}
13835impl Default for _tagEOS_Leaderboards_QueryLeaderboardRanksOptions {
13836 fn default() -> Self {
13837 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13838 unsafe {
13839 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13840 s.assume_init()
13841 }
13842 }
13843}
13844#[doc = " Input parameters for the EOS_Leaderboards_QueryLeaderboardRanks function.\n\n @see EOS_Leaderboards_Definition"]
13845pub type EOS_Leaderboards_QueryLeaderboardRanksOptions =
13846 _tagEOS_Leaderboards_QueryLeaderboardRanksOptions;
13847#[doc = " Contains information about a single leaderboard record"]
13848#[repr(C)]
13849#[derive(Debug, Copy, Clone)]
13850pub struct _tagEOS_Leaderboards_LeaderboardRecord {
13851 #[doc = " API Version: Set this to EOS_LEADERBOARDS_LEADERBOARDRECORD_API_LATEST."]
13852 pub ApiVersion: i32,
13853 #[doc = " The Product User ID associated with this record"]
13854 pub UserId: EOS_ProductUserId,
13855 #[doc = " Sorted position on leaderboard"]
13856 pub Rank: u32,
13857 #[doc = " Leaderboard score"]
13858 pub Score: i32,
13859 #[doc = " The latest display name seen for the user since they last time logged in. This is empty if the user does not have a display name set."]
13860 pub UserDisplayName: *const ::std::os::raw::c_char,
13861}
13862impl Default for _tagEOS_Leaderboards_LeaderboardRecord {
13863 fn default() -> Self {
13864 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13865 unsafe {
13866 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13867 s.assume_init()
13868 }
13869 }
13870}
13871#[doc = " Contains information about a single leaderboard record"]
13872pub type EOS_Leaderboards_LeaderboardRecord = _tagEOS_Leaderboards_LeaderboardRecord;
13873#[doc = " Input parameters for the EOS_Leaderboards_GetLeaderboardRecordCount function."]
13874#[repr(C)]
13875#[derive(Debug, Default, Copy, Clone)]
13876pub struct _tagEOS_Leaderboards_GetLeaderboardRecordCountOptions {
13877 #[doc = " API Version: Set this to EOS_LEADERBOARDS_GETLEADERBOARDRECORDCOUNT_API_LATEST."]
13878 pub ApiVersion: i32,
13879}
13880#[doc = " Input parameters for the EOS_Leaderboards_GetLeaderboardRecordCount function."]
13881pub type EOS_Leaderboards_GetLeaderboardRecordCountOptions =
13882 _tagEOS_Leaderboards_GetLeaderboardRecordCountOptions;
13883#[doc = " Input parameters for the EOS_Leaderboards_CopyLeaderboardRecordByIndex function."]
13884#[repr(C)]
13885#[derive(Debug, Default, Copy, Clone)]
13886pub struct _tagEOS_Leaderboards_CopyLeaderboardRecordByIndexOptions {
13887 #[doc = " API Version: Set this to EOS_LEADERBOARDS_COPYLEADERBOARDRECORDBYINDEX_API_LATEST."]
13888 pub ApiVersion: i32,
13889 #[doc = " Index of the leaderboard record to retrieve from the cache"]
13890 pub LeaderboardRecordIndex: u32,
13891}
13892#[doc = " Input parameters for the EOS_Leaderboards_CopyLeaderboardRecordByIndex function."]
13893pub type EOS_Leaderboards_CopyLeaderboardRecordByIndexOptions =
13894 _tagEOS_Leaderboards_CopyLeaderboardRecordByIndexOptions;
13895#[doc = " Input parameters for the EOS_Leaderboards_CopyLeaderboardRecordByUserId function."]
13896#[repr(C)]
13897#[derive(Debug, Copy, Clone)]
13898pub struct _tagEOS_Leaderboards_CopyLeaderboardRecordByUserIdOptions {
13899 #[doc = " API Version: Set this to EOS_LEADERBOARDS_COPYLEADERBOARDRECORDBYUSERID_API_LATEST."]
13900 pub ApiVersion: i32,
13901 #[doc = " Leaderboard data will be copied from the cache if it relates to the user matching this Product User ID"]
13902 pub UserId: EOS_ProductUserId,
13903}
13904impl Default for _tagEOS_Leaderboards_CopyLeaderboardRecordByUserIdOptions {
13905 fn default() -> Self {
13906 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13907 unsafe {
13908 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13909 s.assume_init()
13910 }
13911 }
13912}
13913#[doc = " Input parameters for the EOS_Leaderboards_CopyLeaderboardRecordByUserId function."]
13914pub type EOS_Leaderboards_CopyLeaderboardRecordByUserIdOptions =
13915 _tagEOS_Leaderboards_CopyLeaderboardRecordByUserIdOptions;
13916unsafe extern "C" {
13917 #[doc = " Release the memory associated with leaderboard record. This must be called on data retrieved from\n EOS_Leaderboards_CopyLeaderboardRecordByIndex or EOS_Leaderboards_CopyLeaderboardRecordByUserId.\n\n @param LeaderboardRecord - The Leaderboard record to release.\n\n @see EOS_Leaderboards_LeaderboardRecord\n @see EOS_Leaderboards_CopyLeaderboardRecordByIndex\n @see EOS_Leaderboards_CopyLeaderboardRecordByUserId"]
13918 pub fn EOS_Leaderboards_LeaderboardRecord_Release(
13919 LeaderboardRecord: *mut EOS_Leaderboards_LeaderboardRecord,
13920 );
13921}
13922#[doc = " Data containing the result information for a query leaderboard ranks request."]
13923#[repr(C)]
13924#[derive(Debug, Copy, Clone)]
13925pub struct _tagEOS_Leaderboards_OnQueryLeaderboardRanksCompleteCallbackInfo {
13926 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
13927 pub ResultCode: EOS_EResult,
13928 #[doc = " Context that was passed into EOS_Leaderboards_QueryLeaderboardRanks."]
13929 pub ClientData: *mut ::std::os::raw::c_void,
13930 #[doc = " The Leaderboard ID for the leaderboard that was queried."]
13931 pub LeaderboardId: *const ::std::os::raw::c_char,
13932}
13933impl Default for _tagEOS_Leaderboards_OnQueryLeaderboardRanksCompleteCallbackInfo {
13934 fn default() -> Self {
13935 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13936 unsafe {
13937 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13938 s.assume_init()
13939 }
13940 }
13941}
13942#[doc = " Data containing the result information for a query leaderboard ranks request."]
13943pub type EOS_Leaderboards_OnQueryLeaderboardRanksCompleteCallbackInfo =
13944 _tagEOS_Leaderboards_OnQueryLeaderboardRanksCompleteCallbackInfo;
13945#[doc = " Function prototype definition for callbacks passed to EOS_Leaderboards_QueryLeaderboardRanks\n @param Data A EOS_Leaderboards_OnQueryLeaderboardRanksCompleteCallbackInfo containing the output information and result"]
13946pub type EOS_Leaderboards_OnQueryLeaderboardRanksCompleteCallback = ::std::option::Option<
13947 unsafe extern "C" fn(Data: *const EOS_Leaderboards_OnQueryLeaderboardRanksCompleteCallbackInfo),
13948>;
13949unsafe extern "C" {
13950 #[doc = " Do not use. Alias to the previous API name for backwards compatibility in compilation."]
13951 pub fn EOS_Leaderboards_LeaderboardDefinition_Release(
13952 LeaderboardDefinition: *mut EOS_Leaderboards_Definition,
13953 );
13954}
13955#[repr(C)]
13956#[derive(Debug, Copy, Clone)]
13957pub struct EOS_ModsHandle {
13958 _unused: [u8; 0],
13959}
13960pub type EOS_HMods = *mut EOS_ModsHandle;
13961#[doc = " EOS_Mod_Identifier is used to identify a mod."]
13962#[repr(C)]
13963#[derive(Debug, Copy, Clone)]
13964pub struct _tagEOS_Mod_Identifier {
13965 #[doc = " API Version: Set this to EOS_MOD_IDENTIFIER_API_LATEST."]
13966 pub ApiVersion: i32,
13967 #[doc = " Product namespace id in which this mod item exists"]
13968 pub NamespaceId: *const ::std::os::raw::c_char,
13969 #[doc = " Item id of the Mod"]
13970 pub ItemId: *const ::std::os::raw::c_char,
13971 #[doc = " Artifact id of the Mod"]
13972 pub ArtifactId: *const ::std::os::raw::c_char,
13973 #[doc = " Represent mod item title."]
13974 pub Title: *const ::std::os::raw::c_char,
13975 #[doc = " Represent mod item version."]
13976 pub Version: *const ::std::os::raw::c_char,
13977}
13978impl Default for _tagEOS_Mod_Identifier {
13979 fn default() -> Self {
13980 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13981 unsafe {
13982 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13983 s.assume_init()
13984 }
13985 }
13986}
13987#[doc = " EOS_Mod_Identifier is used to identify a mod."]
13988pub type EOS_Mod_Identifier = _tagEOS_Mod_Identifier;
13989#[doc = " Input parameters for the EOS_Mods_InstallMod Function."]
13990#[repr(C)]
13991#[derive(Debug, Copy, Clone)]
13992pub struct _tagEOS_Mods_InstallModOptions {
13993 #[doc = " API Version: Set this to EOS_MODS_INSTALLMOD_API_LATEST."]
13994 pub ApiVersion: i32,
13995 #[doc = " The Epic Account ID of the user for which the mod should be installed"]
13996 pub LocalUserId: EOS_EpicAccountId,
13997 #[doc = " The mod to install"]
13998 pub Mod: *const EOS_Mod_Identifier,
13999 #[doc = " Indicates whether the mod should be uninstalled after exiting the game or not."]
14000 pub bRemoveAfterExit: EOS_Bool,
14001}
14002impl Default for _tagEOS_Mods_InstallModOptions {
14003 fn default() -> Self {
14004 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14005 unsafe {
14006 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14007 s.assume_init()
14008 }
14009 }
14010}
14011#[doc = " Input parameters for the EOS_Mods_InstallMod Function."]
14012pub type EOS_Mods_InstallModOptions = _tagEOS_Mods_InstallModOptions;
14013#[doc = " Output parameters for the EOS_Mods_InstallMod Function. These parameters are received through the callback provided to EOS_Mods_InstallMod"]
14014#[repr(C)]
14015#[derive(Debug, Copy, Clone)]
14016pub struct _tagEOS_Mods_InstallModCallbackInfo {
14017 #[doc = " Result code for the operation. EOS_Success is returned if the installation was successful, otherwise one of the error codes is returned."]
14018 pub ResultCode: EOS_EResult,
14019 #[doc = " The Epic Account ID of the user for which mod installation was requested"]
14020 pub LocalUserId: EOS_EpicAccountId,
14021 #[doc = " Context that is passed into EOS_Mods_InstallMod"]
14022 pub ClientData: *mut ::std::os::raw::c_void,
14023 #[doc = " Mod for which installation was requested"]
14024 pub Mod: *const EOS_Mod_Identifier,
14025}
14026impl Default for _tagEOS_Mods_InstallModCallbackInfo {
14027 fn default() -> Self {
14028 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14029 unsafe {
14030 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14031 s.assume_init()
14032 }
14033 }
14034}
14035#[doc = " Output parameters for the EOS_Mods_InstallMod Function. These parameters are received through the callback provided to EOS_Mods_InstallMod"]
14036pub type EOS_Mods_InstallModCallbackInfo = _tagEOS_Mods_InstallModCallbackInfo;
14037#[doc = " Function prototype definition for callbacks passed to EOS_Mods_InstallMod\n @param Data A EOS_Mods_InstallModCallbackInfo containing the output information and result"]
14038pub type EOS_Mods_OnInstallModCallback =
14039 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Mods_InstallModCallbackInfo)>;
14040#[doc = " Input parameters for the EOS_Mods_UninstallMod Function."]
14041#[repr(C)]
14042#[derive(Debug, Copy, Clone)]
14043pub struct _tagEOS_Mods_UninstallModOptions {
14044 #[doc = " API Version: Set this to EOS_MODS_UNINSTALLMOD_API_LATEST."]
14045 pub ApiVersion: i32,
14046 #[doc = " The Epic Account ID of the user for which the mod should be uninstalled"]
14047 pub LocalUserId: EOS_EpicAccountId,
14048 #[doc = " The mod to uninstall"]
14049 pub Mod: *const EOS_Mod_Identifier,
14050}
14051impl Default for _tagEOS_Mods_UninstallModOptions {
14052 fn default() -> Self {
14053 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14054 unsafe {
14055 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14056 s.assume_init()
14057 }
14058 }
14059}
14060#[doc = " Input parameters for the EOS_Mods_UninstallMod Function."]
14061pub type EOS_Mods_UninstallModOptions = _tagEOS_Mods_UninstallModOptions;
14062#[doc = " Output parameters for the EOS_Mods_UninstallMod Function. These parameters are received through the callback provided to EOS_Mods_UninstallMod"]
14063#[repr(C)]
14064#[derive(Debug, Copy, Clone)]
14065pub struct _tagEOS_Mods_UninstallModCallbackInfo {
14066 #[doc = " Result code for the operation. EOS_Success is returned if the uninstallation was successful, otherwise one of the error codes is returned."]
14067 pub ResultCode: EOS_EResult,
14068 #[doc = " The Epic Account ID of the user for which mod uninstallation was requested"]
14069 pub LocalUserId: EOS_EpicAccountId,
14070 #[doc = " Context that is passed into EOS_Mods_UninstallMod"]
14071 pub ClientData: *mut ::std::os::raw::c_void,
14072 #[doc = " Mod for which uninstallation was requested"]
14073 pub Mod: *const EOS_Mod_Identifier,
14074}
14075impl Default for _tagEOS_Mods_UninstallModCallbackInfo {
14076 fn default() -> Self {
14077 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14078 unsafe {
14079 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14080 s.assume_init()
14081 }
14082 }
14083}
14084#[doc = " Output parameters for the EOS_Mods_UninstallMod Function. These parameters are received through the callback provided to EOS_Mods_UninstallMod"]
14085pub type EOS_Mods_UninstallModCallbackInfo = _tagEOS_Mods_UninstallModCallbackInfo;
14086#[doc = " Function prototype definition for callbacks passed to EOS_Mods_UninstallMod\n @param Data A EOS_Mods_UninstallModCallbackInfo containing the output information and result"]
14087pub type EOS_Mods_OnUninstallModCallback =
14088 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Mods_UninstallModCallbackInfo)>;
14089#[doc = " Installed mods"]
14090pub const EOS_EModEnumerationType_EOS_MET_INSTALLED: EOS_EModEnumerationType = 0;
14091#[doc = " All available mods"]
14092pub const EOS_EModEnumerationType_EOS_MET_ALL_AVAILABLE: EOS_EModEnumerationType = 1;
14093pub const EOS_EModEnumerationType___EOS_EModEnumerationType_PAD_INT32__: EOS_EModEnumerationType =
14094 2147483647;
14095#[doc = " The type of mod enumeration."]
14096pub type EOS_EModEnumerationType = ::std::os::raw::c_int;
14097#[doc = " Input parameters for the EOS_Mods_EnumerateMods Function."]
14098#[repr(C)]
14099#[derive(Debug, Copy, Clone)]
14100pub struct _tagEOS_Mods_EnumerateModsOptions {
14101 #[doc = " API Version: Set this to EOS_MODS_ENUMERATEMODS_API_LATEST."]
14102 pub ApiVersion: i32,
14103 #[doc = " The Epic Account ID of the user for which the mod should be enumerated"]
14104 pub LocalUserId: EOS_EpicAccountId,
14105 #[doc = " Type of the mods to enumerate"]
14106 pub Type: EOS_EModEnumerationType,
14107}
14108impl Default for _tagEOS_Mods_EnumerateModsOptions {
14109 fn default() -> Self {
14110 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14111 unsafe {
14112 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14113 s.assume_init()
14114 }
14115 }
14116}
14117#[doc = " Input parameters for the EOS_Mods_EnumerateMods Function."]
14118pub type EOS_Mods_EnumerateModsOptions = _tagEOS_Mods_EnumerateModsOptions;
14119#[doc = " Output parameters for the EOS_Mods_EnumerateMods Function. These parameters are received through the callback provided to EOS_Mods_EnumerateMods"]
14120#[repr(C)]
14121#[derive(Debug, Copy, Clone)]
14122pub struct _tagEOS_Mods_EnumerateModsCallbackInfo {
14123 #[doc = " Result code for the operation. EOS_Success is returned if the enumeration was successful, otherwise one of the error codes is returned."]
14124 pub ResultCode: EOS_EResult,
14125 #[doc = " The Epic Account ID of the user for which mod enumeration was requested"]
14126 pub LocalUserId: EOS_EpicAccountId,
14127 #[doc = " Context that is passed into EOS_Mods_EnumerateMods"]
14128 pub ClientData: *mut ::std::os::raw::c_void,
14129 #[doc = " Type of the enumerated mods"]
14130 pub Type: EOS_EModEnumerationType,
14131}
14132impl Default for _tagEOS_Mods_EnumerateModsCallbackInfo {
14133 fn default() -> Self {
14134 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14135 unsafe {
14136 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14137 s.assume_init()
14138 }
14139 }
14140}
14141#[doc = " Output parameters for the EOS_Mods_EnumerateMods Function. These parameters are received through the callback provided to EOS_Mods_EnumerateMods"]
14142pub type EOS_Mods_EnumerateModsCallbackInfo = _tagEOS_Mods_EnumerateModsCallbackInfo;
14143#[doc = " Function prototype definition for callbacks passed to EOS_Mods_EnumerateMods\n @param Data A EOS_Mods_EnumerateModsCallbackInfo containing the output information and result"]
14144pub type EOS_Mods_OnEnumerateModsCallback =
14145 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Mods_EnumerateModsCallbackInfo)>;
14146#[doc = " Data for the EOS_Mods_CopyModInfo function."]
14147#[repr(C)]
14148#[derive(Debug, Copy, Clone)]
14149pub struct _tagEOS_Mods_CopyModInfoOptions {
14150 #[doc = " API Version: Set this to EOS_MODS_COPYMODINFO_API_LATEST."]
14151 pub ApiVersion: i32,
14152 #[doc = " The Epic Account ID of the user for which mods should be copied"]
14153 pub LocalUserId: EOS_EpicAccountId,
14154 #[doc = " Type of the enumerated mod to copy"]
14155 pub Type: EOS_EModEnumerationType,
14156}
14157impl Default for _tagEOS_Mods_CopyModInfoOptions {
14158 fn default() -> Self {
14159 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14160 unsafe {
14161 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14162 s.assume_init()
14163 }
14164 }
14165}
14166#[doc = " Data for the EOS_Mods_CopyModInfo function."]
14167pub type EOS_Mods_CopyModInfoOptions = _tagEOS_Mods_CopyModInfoOptions;
14168#[doc = " Data for the EOS_Mods_CopyModInfo function.\n\n @see EOS_Mods_CopyModInfo\n @see EOS_Mods_ModInfo_Release"]
14169#[repr(C)]
14170#[derive(Debug, Copy, Clone)]
14171pub struct _tagEOS_Mods_ModInfo {
14172 #[doc = " API Version: Set this to EOS_MODS_MODINFO_API_LATEST."]
14173 pub ApiVersion: i32,
14174 #[doc = " The count of enumerated mods"]
14175 pub ModsCount: i32,
14176 #[doc = " The array of enumerated mods or NULL if no such type of mods were enumerated"]
14177 pub Mods: *mut EOS_Mod_Identifier,
14178 #[doc = " Type of the mods"]
14179 pub Type: EOS_EModEnumerationType,
14180}
14181impl Default for _tagEOS_Mods_ModInfo {
14182 fn default() -> Self {
14183 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14184 unsafe {
14185 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14186 s.assume_init()
14187 }
14188 }
14189}
14190#[doc = " Data for the EOS_Mods_CopyModInfo function.\n\n @see EOS_Mods_CopyModInfo\n @see EOS_Mods_ModInfo_Release"]
14191pub type EOS_Mods_ModInfo = _tagEOS_Mods_ModInfo;
14192unsafe extern "C" {
14193 #[doc = " Release the memory associated with an EOS_Mods_ModInfo structure and its sub-objects. This must be called on data retrieved from EOS_Mods_CopyModInfo.\n\n @param ModInfo the info structure to be release\n\n @see EOS_Mods_ModInfo\n @see EOS_Mods_CopyModInfo"]
14194 pub fn EOS_Mods_ModInfo_Release(ModInfo: *mut EOS_Mods_ModInfo);
14195}
14196#[doc = " Input parameters for the EOS_Mods_UpdateMod Function."]
14197#[repr(C)]
14198#[derive(Debug, Copy, Clone)]
14199pub struct _tagEOS_Mods_UpdateModOptions {
14200 #[doc = " API Version: Set this to EOS_MODS_UPDATEMOD_API_LATEST."]
14201 pub ApiVersion: i32,
14202 #[doc = " The Epic Account ID of the user for which the mod should be updated"]
14203 pub LocalUserId: EOS_EpicAccountId,
14204 #[doc = " The mod to update"]
14205 pub Mod: *const EOS_Mod_Identifier,
14206}
14207impl Default for _tagEOS_Mods_UpdateModOptions {
14208 fn default() -> Self {
14209 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14210 unsafe {
14211 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14212 s.assume_init()
14213 }
14214 }
14215}
14216#[doc = " Input parameters for the EOS_Mods_UpdateMod Function."]
14217pub type EOS_Mods_UpdateModOptions = _tagEOS_Mods_UpdateModOptions;
14218#[doc = " Output parameters for the EOS_Mods_UpdateMod Function. These parameters are received through the callback provided to EOS_Mods_UpdateMod"]
14219#[repr(C)]
14220#[derive(Debug, Copy, Clone)]
14221pub struct _tagEOS_Mods_UpdateModCallbackInfo {
14222 #[doc = " Result code for the operation. EOS_Success is returned if the request to update was successful, otherwise one of the error codes is returned."]
14223 pub ResultCode: EOS_EResult,
14224 #[doc = " The Epic Account ID of the user for which mod update was requested"]
14225 pub LocalUserId: EOS_EpicAccountId,
14226 #[doc = " Context that is passed into EOS_Mods_UpdateMod"]
14227 pub ClientData: *mut ::std::os::raw::c_void,
14228 #[doc = " Mod for which update was requested"]
14229 pub Mod: *const EOS_Mod_Identifier,
14230}
14231impl Default for _tagEOS_Mods_UpdateModCallbackInfo {
14232 fn default() -> Self {
14233 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14234 unsafe {
14235 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14236 s.assume_init()
14237 }
14238 }
14239}
14240#[doc = " Output parameters for the EOS_Mods_UpdateMod Function. These parameters are received through the callback provided to EOS_Mods_UpdateMod"]
14241pub type EOS_Mods_UpdateModCallbackInfo = _tagEOS_Mods_UpdateModCallbackInfo;
14242#[doc = " Function prototype definition for callbacks passed to EOS_Mods_UpdateMod\n @param Data A EOS_Mods_UpdateModCallbackInfo containing the output information and result"]
14243pub type EOS_Mods_OnUpdateModCallback =
14244 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_Mods_UpdateModCallbackInfo)>;
14245#[doc = " Arbitrary data that is a unique local identifier for\n a single remote client or peer.\n\n Typically this is a pointer to an object describing the\n player, but it can be anything that is locally unique."]
14246pub type EOS_AntiCheatCommon_ClientHandle = *mut ::std::os::raw::c_void;
14247#[doc = " An ordinary player that requires anti-cheat client protection to play"]
14248pub const EOS_EAntiCheatCommonClientType_EOS_ACCCT_ProtectedClient: EOS_EAntiCheatCommonClientType =
14249 0;
14250#[doc = " The player does not need the anti-cheat client to play because of their platform or other factors"]
14251pub const EOS_EAntiCheatCommonClientType_EOS_ACCCT_UnprotectedClient:
14252 EOS_EAntiCheatCommonClientType = 1;
14253#[doc = " The client is an AI bot, not an actual human"]
14254pub const EOS_EAntiCheatCommonClientType_EOS_ACCCT_AIBot: EOS_EAntiCheatCommonClientType = 2;
14255pub const EOS_EAntiCheatCommonClientType___EOS_EAntiCheatCommonClientType_PAD_INT32__:
14256 EOS_EAntiCheatCommonClientType = 2147483647;
14257#[doc = " Flags describing the type of a remote client"]
14258pub type EOS_EAntiCheatCommonClientType = ::std::os::raw::c_int;
14259#[doc = " Unknown platform"]
14260pub const EOS_EAntiCheatCommonClientPlatform_EOS_ACCCP_Unknown: EOS_EAntiCheatCommonClientPlatform =
14261 0;
14262#[doc = " The client is playing on Windows"]
14263pub const EOS_EAntiCheatCommonClientPlatform_EOS_ACCCP_Windows: EOS_EAntiCheatCommonClientPlatform =
14264 1;
14265#[doc = " The client is playing on Mac"]
14266pub const EOS_EAntiCheatCommonClientPlatform_EOS_ACCCP_Mac: EOS_EAntiCheatCommonClientPlatform = 2;
14267#[doc = " The client is playing on Linux"]
14268pub const EOS_EAntiCheatCommonClientPlatform_EOS_ACCCP_Linux: EOS_EAntiCheatCommonClientPlatform =
14269 3;
14270#[doc = " The client is playing on an Xbox device"]
14271pub const EOS_EAntiCheatCommonClientPlatform_EOS_ACCCP_Xbox: EOS_EAntiCheatCommonClientPlatform = 4;
14272#[doc = " The client is playing on a PlayStation device"]
14273pub const EOS_EAntiCheatCommonClientPlatform_EOS_ACCCP_PlayStation:
14274 EOS_EAntiCheatCommonClientPlatform = 5;
14275#[doc = " The client is playing on a Nintendo device"]
14276pub const EOS_EAntiCheatCommonClientPlatform_EOS_ACCCP_Nintendo:
14277 EOS_EAntiCheatCommonClientPlatform = 6;
14278#[doc = " The client is playing on iOS"]
14279pub const EOS_EAntiCheatCommonClientPlatform_EOS_ACCCP_iOS: EOS_EAntiCheatCommonClientPlatform = 7;
14280#[doc = " The client is playing on Android"]
14281pub const EOS_EAntiCheatCommonClientPlatform_EOS_ACCCP_Android: EOS_EAntiCheatCommonClientPlatform =
14282 8;
14283pub const EOS_EAntiCheatCommonClientPlatform___EOS_EAntiCheatCommonClientPlatform_PAD_INT32__:
14284 EOS_EAntiCheatCommonClientPlatform = 2147483647;
14285#[doc = " Flags describing the platform of a remote client, if known"]
14286pub type EOS_EAntiCheatCommonClientPlatform = ::std::os::raw::c_int;
14287#[doc = " Not used"]
14288pub const EOS_EAntiCheatCommonClientAction_EOS_ACCCA_Invalid: EOS_EAntiCheatCommonClientAction = 0;
14289#[doc = " The client/peer must be removed from the current game session"]
14290pub const EOS_EAntiCheatCommonClientAction_EOS_ACCCA_RemovePlayer:
14291 EOS_EAntiCheatCommonClientAction = 1;
14292pub const EOS_EAntiCheatCommonClientAction___EOS_EAntiCheatCommonClientAction_PAD_INT32__:
14293 EOS_EAntiCheatCommonClientAction = 2147483647;
14294#[doc = " Anti-cheat action values. Applicable to both clients and remote peers."]
14295pub type EOS_EAntiCheatCommonClientAction = ::std::os::raw::c_int;
14296#[doc = " Not used"]
14297pub const EOS_EAntiCheatCommonClientActionReason_EOS_ACCCAR_Invalid:
14298 EOS_EAntiCheatCommonClientActionReason = 0;
14299#[doc = " An internal error occurred"]
14300pub const EOS_EAntiCheatCommonClientActionReason_EOS_ACCCAR_InternalError:
14301 EOS_EAntiCheatCommonClientActionReason = 1;
14302#[doc = " An anti-cheat message received from the client/peer was corrupt or invalid"]
14303pub const EOS_EAntiCheatCommonClientActionReason_EOS_ACCCAR_InvalidMessage:
14304 EOS_EAntiCheatCommonClientActionReason = 2;
14305#[doc = " The client/peer's anti-cheat authentication failed"]
14306pub const EOS_EAntiCheatCommonClientActionReason_EOS_ACCCAR_AuthenticationFailed:
14307 EOS_EAntiCheatCommonClientActionReason = 3;
14308#[doc = " The client/peer failed to load the anti-cheat module at startup"]
14309pub const EOS_EAntiCheatCommonClientActionReason_EOS_ACCCAR_NullClient:
14310 EOS_EAntiCheatCommonClientActionReason = 4;
14311#[doc = " The client/peer's anti-cheat heartbeat was not received"]
14312pub const EOS_EAntiCheatCommonClientActionReason_EOS_ACCCAR_HeartbeatTimeout:
14313 EOS_EAntiCheatCommonClientActionReason = 5;
14314#[doc = " The client/peer failed an anti-cheat client runtime check"]
14315pub const EOS_EAntiCheatCommonClientActionReason_EOS_ACCCAR_ClientViolation:
14316 EOS_EAntiCheatCommonClientActionReason = 6;
14317#[doc = " The client/peer failed an anti-cheat backend runtime check"]
14318pub const EOS_EAntiCheatCommonClientActionReason_EOS_ACCCAR_BackendViolation:
14319 EOS_EAntiCheatCommonClientActionReason = 7;
14320#[doc = " The client/peer is temporarily blocked from playing on this game server"]
14321pub const EOS_EAntiCheatCommonClientActionReason_EOS_ACCCAR_TemporaryCooldown:
14322 EOS_EAntiCheatCommonClientActionReason = 8;
14323#[doc = " The client/peer is temporarily banned"]
14324pub const EOS_EAntiCheatCommonClientActionReason_EOS_ACCCAR_TemporaryBanned:
14325 EOS_EAntiCheatCommonClientActionReason = 9;
14326#[doc = " The client/peer is permanently banned"]
14327pub const EOS_EAntiCheatCommonClientActionReason_EOS_ACCCAR_PermanentBanned:
14328 EOS_EAntiCheatCommonClientActionReason = 10;
14329pub const EOS_EAntiCheatCommonClientActionReason___EOS_EAntiCheatCommonClientActionReason_PAD_INT32__ : EOS_EAntiCheatCommonClientActionReason = 2147483647 ;
14330#[doc = " Anti-cheat action reasons. Applicable to both clients and remote peers."]
14331pub type EOS_EAntiCheatCommonClientActionReason = ::std::os::raw::c_int;
14332#[doc = " Not used"]
14333pub const EOS_EAntiCheatCommonClientAuthStatus_EOS_ACCCAS_Invalid:
14334 EOS_EAntiCheatCommonClientAuthStatus = 0;
14335#[doc = " The client/peer's anti-cheat functionality has been validated by this game server"]
14336pub const EOS_EAntiCheatCommonClientAuthStatus_EOS_ACCCAS_LocalAuthComplete:
14337 EOS_EAntiCheatCommonClientAuthStatus = 1;
14338#[doc = " The client/peer's anti-cheat functionality has been validated by the anti-cheat backend service"]
14339pub const EOS_EAntiCheatCommonClientAuthStatus_EOS_ACCCAS_RemoteAuthComplete:
14340 EOS_EAntiCheatCommonClientAuthStatus = 2;
14341pub const EOS_EAntiCheatCommonClientAuthStatus___EOS_EAntiCheatCommonClientAuthStatus_PAD_INT32__ : EOS_EAntiCheatCommonClientAuthStatus = 2147483647 ;
14342#[doc = " The client/peer's anti-cheat authentication status"]
14343pub type EOS_EAntiCheatCommonClientAuthStatus = ::std::os::raw::c_int;
14344#[doc = " No particular flags relevant for this client"]
14345pub const EOS_EAntiCheatCommonClientFlags_EOS_ACCCF_None: EOS_EAntiCheatCommonClientFlags = 0;
14346#[doc = " The client has admin privileges on the game server"]
14347pub const EOS_EAntiCheatCommonClientFlags_EOS_ACCCF_Admin: EOS_EAntiCheatCommonClientFlags = 1;
14348pub const EOS_EAntiCheatCommonClientFlags___EOS_EAntiCheatCommonClientFlags_PAD_INT32__:
14349 EOS_EAntiCheatCommonClientFlags = 2147483647;
14350#[doc = " Flags describing a remote client. These can be updated during a play session"]
14351pub type EOS_EAntiCheatCommonClientFlags = ::std::os::raw::c_int;
14352#[doc = " Unknown input device"]
14353pub const EOS_EAntiCheatCommonClientInput_EOS_ACCCI_Unknown: EOS_EAntiCheatCommonClientInput = 0;
14354#[doc = " The client is using mouse and keyboard"]
14355pub const EOS_EAntiCheatCommonClientInput_EOS_ACCCI_MouseKeyboard: EOS_EAntiCheatCommonClientInput =
14356 1;
14357#[doc = " The client is using a gamepad or game controller"]
14358pub const EOS_EAntiCheatCommonClientInput_EOS_ACCCI_Gamepad: EOS_EAntiCheatCommonClientInput = 2;
14359#[doc = " The client is using a touch input device (e.g. phone/tablet screen)"]
14360pub const EOS_EAntiCheatCommonClientInput_EOS_ACCCI_TouchInput: EOS_EAntiCheatCommonClientInput = 3;
14361pub const EOS_EAntiCheatCommonClientInput___EOS_EAntiCheatCommonClientInput_PAD_INT32__:
14362 EOS_EAntiCheatCommonClientInput = 2147483647;
14363#[doc = " Flags describing the input device used by a remote client, if known. These can be updated during a play session."]
14364pub type EOS_EAntiCheatCommonClientInput = ::std::os::raw::c_int;
14365#[doc = " Not used"]
14366pub const EOS_EAntiCheatCommonEventType_EOS_ACCET_Invalid: EOS_EAntiCheatCommonEventType = 0;
14367#[doc = " A general game event that is not specific to any individual player.\n Low memory use which is constant with respect to the number of players."]
14368pub const EOS_EAntiCheatCommonEventType_EOS_ACCET_GameEvent: EOS_EAntiCheatCommonEventType = 1;
14369#[doc = " An event that is logically associated with a specific player. Events logged in\n this category require a specific ClientHandle to which they will be attached.\n Higher memory use which scales according to the number of players."]
14370pub const EOS_EAntiCheatCommonEventType_EOS_ACCET_PlayerEvent: EOS_EAntiCheatCommonEventType = 2;
14371pub const EOS_EAntiCheatCommonEventType___EOS_EAntiCheatCommonEventType_PAD_INT32__:
14372 EOS_EAntiCheatCommonEventType = 2147483647;
14373#[doc = " Types supported for custom gameplay behavior events.\n These have a considerable impact on performance"]
14374pub type EOS_EAntiCheatCommonEventType = ::std::os::raw::c_int;
14375#[doc = " Not used"]
14376pub const EOS_EAntiCheatCommonEventParamType_EOS_ACCEPT_Invalid:
14377 EOS_EAntiCheatCommonEventParamType = 0;
14378#[doc = " EOS_AntiCheatCommon_ClientHandle"]
14379pub const EOS_EAntiCheatCommonEventParamType_EOS_ACCEPT_ClientHandle:
14380 EOS_EAntiCheatCommonEventParamType = 1;
14381#[doc = " const char*"]
14382pub const EOS_EAntiCheatCommonEventParamType_EOS_ACCEPT_String: EOS_EAntiCheatCommonEventParamType =
14383 2;
14384#[doc = " uint32_t"]
14385pub const EOS_EAntiCheatCommonEventParamType_EOS_ACCEPT_UInt32: EOS_EAntiCheatCommonEventParamType =
14386 3;
14387#[doc = " int32_t"]
14388pub const EOS_EAntiCheatCommonEventParamType_EOS_ACCEPT_Int32: EOS_EAntiCheatCommonEventParamType =
14389 4;
14390#[doc = " uint64_t"]
14391pub const EOS_EAntiCheatCommonEventParamType_EOS_ACCEPT_UInt64: EOS_EAntiCheatCommonEventParamType =
14392 5;
14393#[doc = " int64_t"]
14394pub const EOS_EAntiCheatCommonEventParamType_EOS_ACCEPT_Int64: EOS_EAntiCheatCommonEventParamType =
14395 6;
14396#[doc = " EOS_AntiCheatCommon_Vec3f"]
14397pub const EOS_EAntiCheatCommonEventParamType_EOS_ACCEPT_Vector3f:
14398 EOS_EAntiCheatCommonEventParamType = 7;
14399#[doc = " EOS_AntiCheatCommon_Quat"]
14400pub const EOS_EAntiCheatCommonEventParamType_EOS_ACCEPT_Quat: EOS_EAntiCheatCommonEventParamType =
14401 8;
14402#[doc = " float"]
14403pub const EOS_EAntiCheatCommonEventParamType_EOS_ACCEPT_Float: EOS_EAntiCheatCommonEventParamType =
14404 9;
14405pub const EOS_EAntiCheatCommonEventParamType___EOS_EAntiCheatCommonEventParamType_PAD_INT32__:
14406 EOS_EAntiCheatCommonEventParamType = 2147483647;
14407#[doc = " Types supported for custom gameplay behavior event parameters"]
14408pub type EOS_EAntiCheatCommonEventParamType = ::std::os::raw::c_int;
14409#[doc = " No particular competition type applies"]
14410pub const EOS_EAntiCheatCommonGameRoundCompetitionType_EOS_ACCGRCT_None:
14411 EOS_EAntiCheatCommonGameRoundCompetitionType = 0;
14412#[doc = " Casual unranked play"]
14413pub const EOS_EAntiCheatCommonGameRoundCompetitionType_EOS_ACCGRCT_Casual:
14414 EOS_EAntiCheatCommonGameRoundCompetitionType = 1;
14415#[doc = " Ranked play, usually with skill based matchmaking"]
14416pub const EOS_EAntiCheatCommonGameRoundCompetitionType_EOS_ACCGRCT_Ranked:
14417 EOS_EAntiCheatCommonGameRoundCompetitionType = 2;
14418#[doc = " Organized competitive play like a tournament"]
14419pub const EOS_EAntiCheatCommonGameRoundCompetitionType_EOS_ACCGRCT_Competitive:
14420 EOS_EAntiCheatCommonGameRoundCompetitionType = 3;
14421pub const EOS_EAntiCheatCommonGameRoundCompetitionType___EOS_EAntiCheatCommonGameRoundCompetitionType_PAD_INT32__ : EOS_EAntiCheatCommonGameRoundCompetitionType = 2147483647 ;
14422#[doc = " Flags describing the type of competition taking place"]
14423pub type EOS_EAntiCheatCommonGameRoundCompetitionType = ::std::os::raw::c_int;
14424#[doc = " No particular state applies"]
14425pub const EOS_EAntiCheatCommonPlayerMovementState_EOS_ACCPMS_None:
14426 EOS_EAntiCheatCommonPlayerMovementState = 0;
14427#[doc = " Player is crouching"]
14428pub const EOS_EAntiCheatCommonPlayerMovementState_EOS_ACCPMS_Crouching:
14429 EOS_EAntiCheatCommonPlayerMovementState = 1;
14430#[doc = " Player is prone"]
14431pub const EOS_EAntiCheatCommonPlayerMovementState_EOS_ACCPMS_Prone:
14432 EOS_EAntiCheatCommonPlayerMovementState = 2;
14433#[doc = " Player is mounted in a vehicle or similar"]
14434pub const EOS_EAntiCheatCommonPlayerMovementState_EOS_ACCPMS_Mounted:
14435 EOS_EAntiCheatCommonPlayerMovementState = 3;
14436#[doc = " Player is swimming in a fluid volume"]
14437pub const EOS_EAntiCheatCommonPlayerMovementState_EOS_ACCPMS_Swimming:
14438 EOS_EAntiCheatCommonPlayerMovementState = 4;
14439#[doc = " Player is falling under the effects of gravity, such as when jumping or walking off the edge of a surface"]
14440pub const EOS_EAntiCheatCommonPlayerMovementState_EOS_ACCPMS_Falling:
14441 EOS_EAntiCheatCommonPlayerMovementState = 5;
14442#[doc = " Player is flying, ignoring the effects of gravity"]
14443pub const EOS_EAntiCheatCommonPlayerMovementState_EOS_ACCPMS_Flying:
14444 EOS_EAntiCheatCommonPlayerMovementState = 6;
14445#[doc = " Player is on a ladder"]
14446pub const EOS_EAntiCheatCommonPlayerMovementState_EOS_ACCPMS_OnLadder:
14447 EOS_EAntiCheatCommonPlayerMovementState = 7;
14448pub const EOS_EAntiCheatCommonPlayerMovementState___EOS_EAntiCheatCommonPlayerMovementState_PAD_INT32__ : EOS_EAntiCheatCommonPlayerMovementState = 2147483647 ;
14449#[doc = " Details of a player's movement state"]
14450pub type EOS_EAntiCheatCommonPlayerMovementState = ::std::os::raw::c_int;
14451#[doc = " No particular source relevant"]
14452pub const EOS_EAntiCheatCommonPlayerTakeDamageSource_EOS_ACCPTDS_None:
14453 EOS_EAntiCheatCommonPlayerTakeDamageSource = 0;
14454#[doc = " Damage caused by a player controlled character"]
14455pub const EOS_EAntiCheatCommonPlayerTakeDamageSource_EOS_ACCPTDS_Player:
14456 EOS_EAntiCheatCommonPlayerTakeDamageSource = 1;
14457#[doc = " Damage caused by a non-player character such as an AI enemy"]
14458pub const EOS_EAntiCheatCommonPlayerTakeDamageSource_EOS_ACCPTDS_NonPlayerCharacter:
14459 EOS_EAntiCheatCommonPlayerTakeDamageSource = 2;
14460#[doc = " Damage caused by the world (falling off level, into lava, etc)"]
14461pub const EOS_EAntiCheatCommonPlayerTakeDamageSource_EOS_ACCPTDS_World:
14462 EOS_EAntiCheatCommonPlayerTakeDamageSource = 3;
14463pub const EOS_EAntiCheatCommonPlayerTakeDamageSource___EOS_EAntiCheatCommonPlayerTakeDamageSource_PAD_INT32__ : EOS_EAntiCheatCommonPlayerTakeDamageSource = 2147483647 ;
14464#[doc = " The source of a damage event"]
14465pub type EOS_EAntiCheatCommonPlayerTakeDamageSource = ::std::os::raw::c_int;
14466#[doc = " No particular type relevant"]
14467pub const EOS_EAntiCheatCommonPlayerTakeDamageType_EOS_ACCPTDT_None:
14468 EOS_EAntiCheatCommonPlayerTakeDamageType = 0;
14469#[doc = " Damage caused by a point source such as a bullet or melee attack"]
14470pub const EOS_EAntiCheatCommonPlayerTakeDamageType_EOS_ACCPTDT_PointDamage:
14471 EOS_EAntiCheatCommonPlayerTakeDamageType = 1;
14472#[doc = " Damage caused by a radial source such as an explosion"]
14473pub const EOS_EAntiCheatCommonPlayerTakeDamageType_EOS_ACCPTDT_RadialDamage:
14474 EOS_EAntiCheatCommonPlayerTakeDamageType = 2;
14475#[doc = " Damage over time such as bleeding, poison, etc"]
14476pub const EOS_EAntiCheatCommonPlayerTakeDamageType_EOS_ACCPTDT_DamageOverTime:
14477 EOS_EAntiCheatCommonPlayerTakeDamageType = 3;
14478pub const EOS_EAntiCheatCommonPlayerTakeDamageType___EOS_EAntiCheatCommonPlayerTakeDamageType_PAD_INT32__ : EOS_EAntiCheatCommonPlayerTakeDamageType = 2147483647 ;
14479#[doc = " Type of damage applied in a damage event"]
14480pub type EOS_EAntiCheatCommonPlayerTakeDamageType = ::std::os::raw::c_int;
14481#[doc = " No direct state change consequence for the victim"]
14482pub const EOS_EAntiCheatCommonPlayerTakeDamageResult_EOS_ACCPTDR_None:
14483 EOS_EAntiCheatCommonPlayerTakeDamageResult = 0;
14484#[doc = " Deprecated - use more specific values below instead"]
14485pub const EOS_EAntiCheatCommonPlayerTakeDamageResult_EOS_ACCPTDR_Downed_DEPRECATED:
14486 EOS_EAntiCheatCommonPlayerTakeDamageResult = 1;
14487#[doc = " Deprecated - use more specific values below instead"]
14488pub const EOS_EAntiCheatCommonPlayerTakeDamageResult_EOS_ACCPTDR_Eliminated_DEPRECATED:
14489 EOS_EAntiCheatCommonPlayerTakeDamageResult = 2;
14490#[doc = " Player character transitioned from a normal state to temporarily incapacitated and requires assistance to recover."]
14491pub const EOS_EAntiCheatCommonPlayerTakeDamageResult_EOS_ACCPTDR_NormalToDowned:
14492 EOS_EAntiCheatCommonPlayerTakeDamageResult = 3;
14493#[doc = " Player character transitioned from a normal state to permanently incapacitated and cannot recover (e.g. dead)."]
14494pub const EOS_EAntiCheatCommonPlayerTakeDamageResult_EOS_ACCPTDR_NormalToEliminated:
14495 EOS_EAntiCheatCommonPlayerTakeDamageResult = 4;
14496#[doc = " Player character transitioned from a temporarily incapacitated state to permanently incapacitated and cannot recover (e.g. dead)."]
14497pub const EOS_EAntiCheatCommonPlayerTakeDamageResult_EOS_ACCPTDR_DownedToEliminated:
14498 EOS_EAntiCheatCommonPlayerTakeDamageResult = 5;
14499pub const EOS_EAntiCheatCommonPlayerTakeDamageResult___EOS_EAntiCheatCommonPlayerTakeDamageResult_PAD_INT32__ : EOS_EAntiCheatCommonPlayerTakeDamageResult = 2147483647 ;
14500#[doc = " The result of a damage event, if any"]
14501pub type EOS_EAntiCheatCommonPlayerTakeDamageResult = ::std::os::raw::c_int;
14502#[doc = " Vector using left-handed coordinate system (as in Unreal Engine)"]
14503#[repr(C)]
14504#[derive(Debug, Default, Copy, Clone)]
14505pub struct _tagEOS_AntiCheatCommon_Vec3f {
14506 #[doc = " X axis coordinate - forward direction"]
14507 pub x: f32,
14508 #[doc = " Y axis coordinate - right direction"]
14509 pub y: f32,
14510 #[doc = " Z axis coordinate - up direction"]
14511 pub z: f32,
14512}
14513#[doc = " Vector using left-handed coordinate system (as in Unreal Engine)"]
14514pub type EOS_AntiCheatCommon_Vec3f = _tagEOS_AntiCheatCommon_Vec3f;
14515#[doc = " Quaternion using left-handed coordinate system (as in Unreal Engine)"]
14516#[repr(C)]
14517#[derive(Debug, Default, Copy, Clone)]
14518pub struct _tagEOS_AntiCheatCommon_Quat {
14519 #[doc = " W component - scalar part"]
14520 pub w: f32,
14521 #[doc = " X component - forward direction"]
14522 pub x: f32,
14523 #[doc = " Y component - right direction"]
14524 pub y: f32,
14525 #[doc = " Z component - up direction"]
14526 pub z: f32,
14527}
14528#[doc = " Quaternion using left-handed coordinate system (as in Unreal Engine)"]
14529pub type EOS_AntiCheatCommon_Quat = _tagEOS_AntiCheatCommon_Quat;
14530#[doc = " Structure containing details about a new message that must be dispatched to a connected client/peer."]
14531#[repr(C)]
14532#[derive(Debug, Copy, Clone)]
14533pub struct _tagEOS_AntiCheatCommon_OnMessageToClientCallbackInfo {
14534 #[doc = " Caller-specified context data"]
14535 pub ClientData: *mut ::std::os::raw::c_void,
14536 #[doc = " The identifier of the client/peer that this message must be delivered to. See the RegisterClient and RegisterPeer functions."]
14537 pub ClientHandle: EOS_AntiCheatCommon_ClientHandle,
14538 #[doc = " The message data that must be sent to the client"]
14539 pub MessageData: *const ::std::os::raw::c_void,
14540 #[doc = " The size in bytes of MessageData"]
14541 pub MessageDataSizeBytes: u32,
14542}
14543impl Default for _tagEOS_AntiCheatCommon_OnMessageToClientCallbackInfo {
14544 fn default() -> Self {
14545 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14546 unsafe {
14547 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14548 s.assume_init()
14549 }
14550 }
14551}
14552#[doc = " Structure containing details about a new message that must be dispatched to a connected client/peer."]
14553pub type EOS_AntiCheatCommon_OnMessageToClientCallbackInfo =
14554 _tagEOS_AntiCheatCommon_OnMessageToClientCallbackInfo;
14555#[doc = " Structure containing details about a required client/peer action"]
14556#[repr(C)]
14557#[derive(Debug, Copy, Clone)]
14558pub struct _tagEOS_AntiCheatCommon_OnClientActionRequiredCallbackInfo {
14559 #[doc = " Caller-specified context data"]
14560 pub ClientData: *mut ::std::os::raw::c_void,
14561 #[doc = " The identifier of the client/peer that this action applies to. See the RegisterClient and RegisterPeer functions."]
14562 pub ClientHandle: EOS_AntiCheatCommon_ClientHandle,
14563 #[doc = " The action that must be applied to the specified client/peer"]
14564 pub ClientAction: EOS_EAntiCheatCommonClientAction,
14565 #[doc = " Code indicating the reason for the action. This can be displayed to the affected player."]
14566 pub ActionReasonCode: EOS_EAntiCheatCommonClientActionReason,
14567 #[doc = " String containing details about the action reason. This can be displayed to the affected player."]
14568 pub ActionReasonDetailsString: *const ::std::os::raw::c_char,
14569}
14570impl Default for _tagEOS_AntiCheatCommon_OnClientActionRequiredCallbackInfo {
14571 fn default() -> Self {
14572 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14573 unsafe {
14574 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14575 s.assume_init()
14576 }
14577 }
14578}
14579#[doc = " Structure containing details about a required client/peer action"]
14580pub type EOS_AntiCheatCommon_OnClientActionRequiredCallbackInfo =
14581 _tagEOS_AntiCheatCommon_OnClientActionRequiredCallbackInfo;
14582#[doc = " Structure containing details about a client/peer authentication status change"]
14583#[repr(C)]
14584#[derive(Debug, Copy, Clone)]
14585pub struct _tagEOS_AntiCheatCommon_OnClientAuthStatusChangedCallbackInfo {
14586 #[doc = " Caller-specified context data"]
14587 pub ClientData: *mut ::std::os::raw::c_void,
14588 #[doc = " The identifier of the client/peer that this status change applies to. See the RegisterClient and RegisterPeer functions."]
14589 pub ClientHandle: EOS_AntiCheatCommon_ClientHandle,
14590 #[doc = " The client/peer's new authentication status"]
14591 pub ClientAuthStatus: EOS_EAntiCheatCommonClientAuthStatus,
14592}
14593impl Default for _tagEOS_AntiCheatCommon_OnClientAuthStatusChangedCallbackInfo {
14594 fn default() -> Self {
14595 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14596 unsafe {
14597 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14598 s.assume_init()
14599 }
14600 }
14601}
14602#[doc = " Structure containing details about a client/peer authentication status change"]
14603pub type EOS_AntiCheatCommon_OnClientAuthStatusChangedCallbackInfo =
14604 _tagEOS_AntiCheatCommon_OnClientAuthStatusChangedCallbackInfo;
14605#[doc = " Input parameters for the EOS_AntiCheatServer_SetClientDetails function."]
14606#[repr(C)]
14607#[derive(Debug, Copy, Clone)]
14608pub struct _tagEOS_AntiCheatCommon_SetClientDetailsOptions {
14609 #[doc = " API Version: Set this to EOS_ANTICHEATCOMMON_SETCLIENTDETAILS_API_LATEST."]
14610 pub ApiVersion: i32,
14611 #[doc = " Locally unique value used in RegisterClient/RegisterPeer"]
14612 pub ClientHandle: EOS_AntiCheatCommon_ClientHandle,
14613 #[doc = " General flags associated with this client, if any"]
14614 pub ClientFlags: EOS_EAntiCheatCommonClientFlags,
14615 #[doc = " Input device being used by this client, if known"]
14616 pub ClientInputMethod: EOS_EAntiCheatCommonClientInput,
14617}
14618impl Default for _tagEOS_AntiCheatCommon_SetClientDetailsOptions {
14619 fn default() -> Self {
14620 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14621 unsafe {
14622 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14623 s.assume_init()
14624 }
14625 }
14626}
14627#[doc = " Input parameters for the EOS_AntiCheatServer_SetClientDetails function."]
14628pub type EOS_AntiCheatCommon_SetClientDetailsOptions =
14629 _tagEOS_AntiCheatCommon_SetClientDetailsOptions;
14630#[doc = " Input parameters for the EOS_AntiCheatServer_SetGameSessionId function."]
14631#[repr(C)]
14632#[derive(Debug, Copy, Clone)]
14633pub struct _tagEOS_AntiCheatCommon_SetGameSessionIdOptions {
14634 #[doc = " API Version: Set this to EOS_ANTICHEATCOMMON_SETGAMESESSIONID_API_LATEST."]
14635 pub ApiVersion: i32,
14636 #[doc = " Game session identifier"]
14637 pub GameSessionId: *const ::std::os::raw::c_char,
14638}
14639impl Default for _tagEOS_AntiCheatCommon_SetGameSessionIdOptions {
14640 fn default() -> Self {
14641 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14642 unsafe {
14643 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14644 s.assume_init()
14645 }
14646 }
14647}
14648#[doc = " Input parameters for the EOS_AntiCheatServer_SetGameSessionId function."]
14649pub type EOS_AntiCheatCommon_SetGameSessionIdOptions =
14650 _tagEOS_AntiCheatCommon_SetGameSessionIdOptions;
14651#[doc = " Register Event Parameter Definition."]
14652#[repr(C)]
14653#[derive(Debug, Copy, Clone)]
14654pub struct _tagEOS_AntiCheatCommon_RegisterEventParamDef {
14655 #[doc = " Parameter name. Allowed characters are 0-9, A-Z, a-z, '_', '-'"]
14656 pub ParamName: *const ::std::os::raw::c_char,
14657 #[doc = " Parameter type"]
14658 pub ParamType: EOS_EAntiCheatCommonEventParamType,
14659}
14660impl Default for _tagEOS_AntiCheatCommon_RegisterEventParamDef {
14661 fn default() -> Self {
14662 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14663 unsafe {
14664 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14665 s.assume_init()
14666 }
14667 }
14668}
14669#[doc = " Register Event Parameter Definition."]
14670pub type EOS_AntiCheatCommon_RegisterEventParamDef = _tagEOS_AntiCheatCommon_RegisterEventParamDef;
14671#[doc = " Input parameters for the EOS_AntiCheatServer_RegisterEvent function."]
14672#[repr(C)]
14673#[derive(Debug, Copy, Clone)]
14674pub struct _tagEOS_AntiCheatCommon_RegisterEventOptions {
14675 #[doc = " API Version: Set this to EOS_ANTICHEATCOMMON_REGISTEREVENT_API_LATEST."]
14676 pub ApiVersion: i32,
14677 #[doc = " Unique event identifier. Must be >= EOS_ANTICHEATCOMMON_REGISTEREVENT_CUSTOMEVENTBASE."]
14678 pub EventId: u32,
14679 #[doc = " Name of the custom event. Allowed characters are 0-9, A-Z, a-z, '_', '-'"]
14680 pub EventName: *const ::std::os::raw::c_char,
14681 #[doc = " Type of the custom event"]
14682 pub EventType: EOS_EAntiCheatCommonEventType,
14683 #[doc = " Number of parameters described in ParamDefs. Must be equal to or less than EOS_ANTICHEATCOMMON_REGISTEREVENT_MAX_PARAMDEFSCOUNT."]
14684 pub ParamDefsCount: u32,
14685 #[doc = " Pointer to an array of EOS_AntiCheatCommon_RegisterEventParamDef with ParamDefsCount elements"]
14686 pub ParamDefs: *const EOS_AntiCheatCommon_RegisterEventParamDef,
14687}
14688impl Default for _tagEOS_AntiCheatCommon_RegisterEventOptions {
14689 fn default() -> Self {
14690 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14691 unsafe {
14692 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14693 s.assume_init()
14694 }
14695 }
14696}
14697#[doc = " Input parameters for the EOS_AntiCheatServer_RegisterEvent function."]
14698pub type EOS_AntiCheatCommon_RegisterEventOptions = _tagEOS_AntiCheatCommon_RegisterEventOptions;
14699#[doc = " Log Event Parameter."]
14700#[repr(C)]
14701#[derive(Copy, Clone)]
14702pub struct _tagEOS_AntiCheatCommon_LogEventParamPair {
14703 #[doc = " Parameter type"]
14704 pub ParamValueType: EOS_EAntiCheatCommonEventParamType,
14705 #[doc = " Parameter value"]
14706 pub ParamValue: _tagEOS_AntiCheatCommon_LogEventParamPair__bindgen_ty_1,
14707}
14708#[doc = " Parameter value"]
14709#[repr(C)]
14710#[derive(Copy, Clone)]
14711pub union _tagEOS_AntiCheatCommon_LogEventParamPair__bindgen_ty_1 {
14712 #[doc = " Client handle."]
14713 pub ClientHandle: EOS_AntiCheatCommon_ClientHandle,
14714 #[doc = " The value as a string.\n Will be truncated if longer than EOS_ANTICHEATCOMMON_LOGEVENT_STRING_MAX_LENGTH bytes."]
14715 pub String: *const ::std::os::raw::c_char,
14716 #[doc = " The value as a uint32_t."]
14717 pub UInt32: u32,
14718 #[doc = " The value as an int32_t."]
14719 pub Int32: i32,
14720 #[doc = " The value as a uint64_t."]
14721 pub UInt64: u64,
14722 #[doc = " The value as an int64_t."]
14723 pub Int64: i64,
14724 #[doc = " The value as an EOS_AntiCheatCommon_Vec3f."]
14725 pub Vec3f: EOS_AntiCheatCommon_Vec3f,
14726 #[doc = " The value as an EOS_AntiCheatCommon_Quat."]
14727 pub Quat: EOS_AntiCheatCommon_Quat,
14728 #[doc = " The value as a float."]
14729 pub Float: f32,
14730}
14731impl Default for _tagEOS_AntiCheatCommon_LogEventParamPair__bindgen_ty_1 {
14732 fn default() -> Self {
14733 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14734 unsafe {
14735 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14736 s.assume_init()
14737 }
14738 }
14739}
14740impl Default for _tagEOS_AntiCheatCommon_LogEventParamPair {
14741 fn default() -> Self {
14742 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14743 unsafe {
14744 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14745 s.assume_init()
14746 }
14747 }
14748}
14749#[doc = " Log Event Parameter."]
14750pub type EOS_AntiCheatCommon_LogEventParamPair = _tagEOS_AntiCheatCommon_LogEventParamPair;
14751#[doc = " Input parameters for the EOS_AntiCheatServer_LogEvent function."]
14752#[repr(C)]
14753#[derive(Debug, Copy, Clone)]
14754pub struct _tagEOS_AntiCheatCommon_LogEventOptions {
14755 #[doc = " API Version: Set this to EOS_ANTICHEATCOMMON_LOGEVENT_API_LATEST."]
14756 pub ApiVersion: i32,
14757 #[doc = " Optional client who this event is primarily associated with. If not applicable, use 0."]
14758 pub ClientHandle: EOS_AntiCheatCommon_ClientHandle,
14759 #[doc = " Unique event identifier previously configured in RegisterEvent"]
14760 pub EventId: u32,
14761 #[doc = " Number of parameters described in Params"]
14762 pub ParamsCount: u32,
14763 #[doc = " Set of parameter types previously configured in RegisterEvent, and their values"]
14764 pub Params: *const EOS_AntiCheatCommon_LogEventParamPair,
14765}
14766impl Default for _tagEOS_AntiCheatCommon_LogEventOptions {
14767 fn default() -> Self {
14768 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14769 unsafe {
14770 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14771 s.assume_init()
14772 }
14773 }
14774}
14775#[doc = " Input parameters for the EOS_AntiCheatServer_LogEvent function."]
14776pub type EOS_AntiCheatCommon_LogEventOptions = _tagEOS_AntiCheatCommon_LogEventOptions;
14777#[doc = " Input parameters for the EOS_AntiCheatServer_LogGameRoundStart function."]
14778#[repr(C)]
14779#[derive(Debug, Copy, Clone)]
14780pub struct _tagEOS_AntiCheatCommon_LogGameRoundStartOptions {
14781 #[doc = " API Version: Set this to EOS_ANTICHEATCOMMON_LOGGAMEROUNDSTART_API_LATEST."]
14782 pub ApiVersion: i32,
14783 #[doc = " Optional game session or match identifier useful for some backend API integrations"]
14784 pub SessionIdentifier: *const ::std::os::raw::c_char,
14785 #[doc = " Optional name of the map being played"]
14786 pub LevelName: *const ::std::os::raw::c_char,
14787 #[doc = " Optional name of the game mode being played"]
14788 pub ModeName: *const ::std::os::raw::c_char,
14789 #[doc = " Optional length of the game round to be played, in seconds. If none, use 0."]
14790 pub RoundTimeSeconds: u32,
14791 #[doc = " Type of competition for this game round"]
14792 pub CompetitionType: EOS_EAntiCheatCommonGameRoundCompetitionType,
14793}
14794impl Default for _tagEOS_AntiCheatCommon_LogGameRoundStartOptions {
14795 fn default() -> Self {
14796 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14797 unsafe {
14798 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14799 s.assume_init()
14800 }
14801 }
14802}
14803#[doc = " Input parameters for the EOS_AntiCheatServer_LogGameRoundStart function."]
14804pub type EOS_AntiCheatCommon_LogGameRoundStartOptions =
14805 _tagEOS_AntiCheatCommon_LogGameRoundStartOptions;
14806#[doc = " Input parameters for the EOS_AntiCheatServer_LogGameRoundEnd function."]
14807#[repr(C)]
14808#[derive(Debug, Default, Copy, Clone)]
14809pub struct _tagEOS_AntiCheatCommon_LogGameRoundEndOptions {
14810 #[doc = " API Version: Set this to EOS_ANTICHEATCOMMON_LOGGAMEROUNDEND_API_LATEST."]
14811 pub ApiVersion: i32,
14812 #[doc = " Optional identifier for the winning team"]
14813 pub WinningTeamId: u32,
14814}
14815#[doc = " Input parameters for the EOS_AntiCheatServer_LogGameRoundEnd function."]
14816pub type EOS_AntiCheatCommon_LogGameRoundEndOptions =
14817 _tagEOS_AntiCheatCommon_LogGameRoundEndOptions;
14818#[doc = " Input parameters for the EOS_AntiCheatServer_LogPlayerSpawn function."]
14819#[repr(C)]
14820#[derive(Debug, Copy, Clone)]
14821pub struct _tagEOS_AntiCheatCommon_LogPlayerSpawnOptions {
14822 #[doc = " API Version: Set this to EOS_ANTICHEATCOMMON_LOGPLAYERSPAWN_API_LATEST."]
14823 pub ApiVersion: i32,
14824 #[doc = " Locally unique value used in RegisterClient/RegisterPeer"]
14825 pub SpawnedPlayerHandle: EOS_AntiCheatCommon_ClientHandle,
14826 #[doc = " Optional identifier for the player's team. If none, use 0."]
14827 pub TeamId: u32,
14828 #[doc = " Optional identifier for the player's character. If none, use 0."]
14829 pub CharacterId: u32,
14830}
14831impl Default for _tagEOS_AntiCheatCommon_LogPlayerSpawnOptions {
14832 fn default() -> Self {
14833 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14834 unsafe {
14835 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14836 s.assume_init()
14837 }
14838 }
14839}
14840#[doc = " Input parameters for the EOS_AntiCheatServer_LogPlayerSpawn function."]
14841pub type EOS_AntiCheatCommon_LogPlayerSpawnOptions = _tagEOS_AntiCheatCommon_LogPlayerSpawnOptions;
14842#[doc = " Input parameters for the EOS_AntiCheatServer_LogPlayerDespawn function."]
14843#[repr(C)]
14844#[derive(Debug, Copy, Clone)]
14845pub struct _tagEOS_AntiCheatCommon_LogPlayerDespawnOptions {
14846 #[doc = " API Version: Set this to EOS_ANTICHEATCOMMON_LOGPLAYERDESPAWN_API_LATEST."]
14847 pub ApiVersion: i32,
14848 #[doc = " Locally unique value used in RegisterClient/RegisterPeer"]
14849 pub DespawnedPlayerHandle: EOS_AntiCheatCommon_ClientHandle,
14850}
14851impl Default for _tagEOS_AntiCheatCommon_LogPlayerDespawnOptions {
14852 fn default() -> Self {
14853 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14854 unsafe {
14855 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14856 s.assume_init()
14857 }
14858 }
14859}
14860#[doc = " Input parameters for the EOS_AntiCheatServer_LogPlayerDespawn function."]
14861pub type EOS_AntiCheatCommon_LogPlayerDespawnOptions =
14862 _tagEOS_AntiCheatCommon_LogPlayerDespawnOptions;
14863#[doc = " Input parameters for the EOS_AntiCheatServer_LogPlayerRevive function."]
14864#[repr(C)]
14865#[derive(Debug, Copy, Clone)]
14866pub struct _tagEOS_AntiCheatCommon_LogPlayerReviveOptions {
14867 #[doc = " API Version: Set this to EOS_ANTICHEATCOMMON_LOGPLAYERREVIVE_API_LATEST."]
14868 pub ApiVersion: i32,
14869 #[doc = " Locally unique value used in RegisterClient/RegisterPeer"]
14870 pub RevivedPlayerHandle: EOS_AntiCheatCommon_ClientHandle,
14871 #[doc = " Locally unique value used in RegisterClient/RegisterPeer"]
14872 pub ReviverPlayerHandle: EOS_AntiCheatCommon_ClientHandle,
14873}
14874impl Default for _tagEOS_AntiCheatCommon_LogPlayerReviveOptions {
14875 fn default() -> Self {
14876 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14877 unsafe {
14878 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14879 s.assume_init()
14880 }
14881 }
14882}
14883#[doc = " Input parameters for the EOS_AntiCheatServer_LogPlayerRevive function."]
14884pub type EOS_AntiCheatCommon_LogPlayerReviveOptions =
14885 _tagEOS_AntiCheatCommon_LogPlayerReviveOptions;
14886#[doc = " Input parameters for the EOS_AntiCheatServer_LogPlayerTick function."]
14887#[repr(C)]
14888#[derive(Debug, Copy, Clone)]
14889pub struct _tagEOS_AntiCheatCommon_LogPlayerTickOptions {
14890 #[doc = " API Version: Set this to EOS_ANTICHEATCOMMON_LOGPLAYERTICK_API_LATEST."]
14891 pub ApiVersion: i32,
14892 #[doc = " Locally unique value used in RegisterClient/RegisterPeer"]
14893 pub PlayerHandle: EOS_AntiCheatCommon_ClientHandle,
14894 #[doc = " Player character's current world position as a 3D vector. This should be the center of the character."]
14895 pub PlayerPosition: *mut EOS_AntiCheatCommon_Vec3f,
14896 #[doc = " Player camera's current world rotation as a quaternion."]
14897 pub PlayerViewRotation: *mut EOS_AntiCheatCommon_Quat,
14898 #[doc = " True if the player's view is zoomed (e.g. using a sniper rifle), otherwise false"]
14899 pub bIsPlayerViewZoomed: EOS_Bool,
14900 #[doc = " Player's current health value"]
14901 pub PlayerHealth: f32,
14902 #[doc = " Any movement state applicable"]
14903 pub PlayerMovementState: EOS_EAntiCheatCommonPlayerMovementState,
14904 #[doc = " Player camera's current world position as a 3D vector."]
14905 pub PlayerViewPosition: *mut EOS_AntiCheatCommon_Vec3f,
14906}
14907impl Default for _tagEOS_AntiCheatCommon_LogPlayerTickOptions {
14908 fn default() -> Self {
14909 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14910 unsafe {
14911 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14912 s.assume_init()
14913 }
14914 }
14915}
14916#[doc = " Input parameters for the EOS_AntiCheatServer_LogPlayerTick function."]
14917pub type EOS_AntiCheatCommon_LogPlayerTickOptions = _tagEOS_AntiCheatCommon_LogPlayerTickOptions;
14918#[doc = " Log Player Use Weapon Data."]
14919#[repr(C)]
14920#[derive(Debug, Copy, Clone)]
14921pub struct _tagEOS_AntiCheatCommon_LogPlayerUseWeaponData {
14922 #[doc = " Locally unique value used in RegisterClient/RegisterPeer"]
14923 pub PlayerHandle: EOS_AntiCheatCommon_ClientHandle,
14924 #[doc = " Attack origin world position as a 3D vector"]
14925 pub PlayerPosition: *mut EOS_AntiCheatCommon_Vec3f,
14926 #[doc = " Attack direction as a quaternion"]
14927 pub PlayerViewRotation: *mut EOS_AntiCheatCommon_Quat,
14928 #[doc = " True if the player's view is zoomed (e.g. using a sniper rifle), otherwise false"]
14929 pub bIsPlayerViewZoomed: EOS_Bool,
14930 #[doc = " Set to true if the player is using a melee attack, otherwise false"]
14931 pub bIsMeleeAttack: EOS_Bool,
14932 #[doc = " Name of the weapon used. Will be truncated to EOS_ANTICHEATCOMMON_LOGPLAYERUSEWEAPON_WEAPONNAME_MAX_LENGTH bytes if longer."]
14933 pub WeaponName: *const ::std::os::raw::c_char,
14934}
14935impl Default for _tagEOS_AntiCheatCommon_LogPlayerUseWeaponData {
14936 fn default() -> Self {
14937 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14938 unsafe {
14939 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14940 s.assume_init()
14941 }
14942 }
14943}
14944#[doc = " Log Player Use Weapon Data."]
14945pub type EOS_AntiCheatCommon_LogPlayerUseWeaponData =
14946 _tagEOS_AntiCheatCommon_LogPlayerUseWeaponData;
14947#[doc = " Input parameters for the EOS_AntiCheatServer_LogPlayerUseWeapon function."]
14948#[repr(C)]
14949#[derive(Debug, Copy, Clone)]
14950pub struct _tagEOS_AntiCheatCommon_LogPlayerUseWeaponOptions {
14951 #[doc = " API Version: Set this to EOS_ANTICHEATCOMMON_LOGPLAYERUSEWEAPON_API_LATEST."]
14952 pub ApiVersion: i32,
14953 #[doc = " Struct containing detailed information about a weapon use event"]
14954 pub UseWeaponData: *mut EOS_AntiCheatCommon_LogPlayerUseWeaponData,
14955}
14956impl Default for _tagEOS_AntiCheatCommon_LogPlayerUseWeaponOptions {
14957 fn default() -> Self {
14958 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14959 unsafe {
14960 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14961 s.assume_init()
14962 }
14963 }
14964}
14965#[doc = " Input parameters for the EOS_AntiCheatServer_LogPlayerUseWeapon function."]
14966pub type EOS_AntiCheatCommon_LogPlayerUseWeaponOptions =
14967 _tagEOS_AntiCheatCommon_LogPlayerUseWeaponOptions;
14968#[doc = " Input parameters for the EOS_AntiCheatServer_LogPlayerUseAbility function."]
14969#[repr(C)]
14970#[derive(Debug, Copy, Clone)]
14971pub struct _tagEOS_AntiCheatCommon_LogPlayerUseAbilityOptions {
14972 #[doc = " API Version: Set this to EOS_ANTICHEATCOMMON_LOGPLAYERUSEABILITY_API_LATEST."]
14973 pub ApiVersion: i32,
14974 #[doc = " Locally unique value used in RegisterClient/RegisterPeer"]
14975 pub PlayerHandle: EOS_AntiCheatCommon_ClientHandle,
14976 #[doc = " Game defined unique identifier for the ability being used"]
14977 pub AbilityId: u32,
14978 #[doc = " Duration of the ability effect in milliseconds. If not applicable, use 0."]
14979 pub AbilityDurationMs: u32,
14980 #[doc = " Cooldown until the ability can be used again in milliseconds. If not applicable, use 0."]
14981 pub AbilityCooldownMs: u32,
14982}
14983impl Default for _tagEOS_AntiCheatCommon_LogPlayerUseAbilityOptions {
14984 fn default() -> Self {
14985 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14986 unsafe {
14987 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14988 s.assume_init()
14989 }
14990 }
14991}
14992#[doc = " Input parameters for the EOS_AntiCheatServer_LogPlayerUseAbility function."]
14993pub type EOS_AntiCheatCommon_LogPlayerUseAbilityOptions =
14994 _tagEOS_AntiCheatCommon_LogPlayerUseAbilityOptions;
14995#[doc = " Input parameters for the EOS_AntiCheatServer_LogPlayerTakeDamage function."]
14996#[repr(C)]
14997#[derive(Debug, Copy, Clone)]
14998pub struct _tagEOS_AntiCheatCommon_LogPlayerTakeDamageOptions {
14999 #[doc = " API Version: Set this to EOS_ANTICHEATCOMMON_LOGPLAYERTAKEDAMAGE_API_LATEST."]
15000 pub ApiVersion: i32,
15001 #[doc = " Locally unique value used in RegisterClient/RegisterPeer"]
15002 pub VictimPlayerHandle: EOS_AntiCheatCommon_ClientHandle,
15003 #[doc = " Victim player character's world position as a 3D vector. This should be the center of the character."]
15004 pub VictimPlayerPosition: *mut EOS_AntiCheatCommon_Vec3f,
15005 #[doc = " Victim player camera's world rotation as a quaternion."]
15006 pub VictimPlayerViewRotation: *mut EOS_AntiCheatCommon_Quat,
15007 #[doc = " Locally unique value used in RegisterClient/RegisterPeer if applicable, otherwise 0."]
15008 pub AttackerPlayerHandle: EOS_AntiCheatCommon_ClientHandle,
15009 #[doc = " Attacker player character's world position as a 3D vector if applicable, otherwise NULL."]
15010 pub AttackerPlayerPosition: *mut EOS_AntiCheatCommon_Vec3f,
15011 #[doc = " Attacker player camera's world rotation as a quaternion if applicable, otherwise NULL."]
15012 pub AttackerPlayerViewRotation: *mut EOS_AntiCheatCommon_Quat,
15013 #[doc = " True if the damage was applied instantly at the time of attack from the game\n simulation's perspective, otherwise false (simulated ballistics, arrow, etc)."]
15014 pub bIsHitscanAttack: EOS_Bool,
15015 #[doc = " True if there is a visible line of sight between the attacker and the victim at the time\n that damage is being applied, false if there is an obstacle like a wall or terrain in\n the way. For some situations like melee or hitscan weapons this is trivially\n true, for others like projectiles with simulated physics it may not be e.g. a player\n could fire a slow moving projectile and then move behind cover before it strikes.\n\n This can be an estimate, or can simply be always set to true if it is not feasible\n to compute in your game."]
15016 pub bHasLineOfSight: EOS_Bool,
15017 #[doc = " True if this was a critical hit that causes extra damage (e.g. headshot)"]
15018 pub bIsCriticalHit: EOS_Bool,
15019 #[doc = " Deprecated - use DamagePosition instead"]
15020 pub HitBoneId_DEPRECATED: u32,
15021 #[doc = " Number of health points that the victim lost due to this damage event"]
15022 pub DamageTaken: f32,
15023 #[doc = " Number of health points that the victim has remaining after this damage event"]
15024 pub HealthRemaining: f32,
15025 #[doc = " Source of the damage event"]
15026 pub DamageSource: EOS_EAntiCheatCommonPlayerTakeDamageSource,
15027 #[doc = " Type of the damage being applied"]
15028 pub DamageType: EOS_EAntiCheatCommonPlayerTakeDamageType,
15029 #[doc = " Result of the damage for the victim, if any"]
15030 pub DamageResult: EOS_EAntiCheatCommonPlayerTakeDamageResult,
15031 #[doc = " PlayerUseWeaponData associated with this damage event if available, otherwise NULL"]
15032 pub PlayerUseWeaponData: *mut EOS_AntiCheatCommon_LogPlayerUseWeaponData,
15033 #[doc = " Time in milliseconds since the associated PlayerUseWeaponData event occurred if available, otherwise 0"]
15034 pub TimeSincePlayerUseWeaponMs: u32,
15035 #[doc = " World position where damage hit the victim as a 3D vector if available, otherwise NULL"]
15036 pub DamagePosition: *mut EOS_AntiCheatCommon_Vec3f,
15037 #[doc = " Attacker player camera's world position as a 3D vector if applicable, otherwise NULL"]
15038 pub AttackerPlayerViewPosition: *mut EOS_AntiCheatCommon_Vec3f,
15039}
15040impl Default for _tagEOS_AntiCheatCommon_LogPlayerTakeDamageOptions {
15041 fn default() -> Self {
15042 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15043 unsafe {
15044 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15045 s.assume_init()
15046 }
15047 }
15048}
15049#[doc = " Input parameters for the EOS_AntiCheatServer_LogPlayerTakeDamage function."]
15050pub type EOS_AntiCheatCommon_LogPlayerTakeDamageOptions =
15051 _tagEOS_AntiCheatCommon_LogPlayerTakeDamageOptions;
15052#[repr(C)]
15053#[derive(Debug, Copy, Clone)]
15054pub struct EOS_AntiCheatClientHandle {
15055 _unused: [u8; 0],
15056}
15057pub type EOS_HAntiCheatClient = *mut EOS_AntiCheatClientHandle;
15058#[doc = " Not used"]
15059pub const EOS_EAntiCheatClientMode_EOS_ACCM_Invalid: EOS_EAntiCheatClientMode = 0;
15060#[doc = " Dedicated or listen server mode"]
15061pub const EOS_EAntiCheatClientMode_EOS_ACCM_ClientServer: EOS_EAntiCheatClientMode = 1;
15062#[doc = " Full mesh peer-to-peer mode"]
15063pub const EOS_EAntiCheatClientMode_EOS_ACCM_PeerToPeer: EOS_EAntiCheatClientMode = 2;
15064pub const EOS_EAntiCheatClientMode___EOS_EAntiCheatClientMode_PAD_INT32__:
15065 EOS_EAntiCheatClientMode = 2147483647;
15066#[doc = " Operating modes"]
15067pub type EOS_EAntiCheatClientMode = ::std::os::raw::c_int;
15068#[doc = " Not used"]
15069pub const EOS_EAntiCheatClientViolationType_EOS_ACCVT_Invalid: EOS_EAntiCheatClientViolationType =
15070 0;
15071#[doc = " An anti-cheat asset integrity catalog file could not be found"]
15072pub const EOS_EAntiCheatClientViolationType_EOS_ACCVT_IntegrityCatalogNotFound:
15073 EOS_EAntiCheatClientViolationType = 1;
15074#[doc = " An anti-cheat asset integrity catalog file is corrupt or invalid"]
15075pub const EOS_EAntiCheatClientViolationType_EOS_ACCVT_IntegrityCatalogError:
15076 EOS_EAntiCheatClientViolationType = 2;
15077#[doc = " An anti-cheat asset integrity catalog file's certificate has been revoked."]
15078pub const EOS_EAntiCheatClientViolationType_EOS_ACCVT_IntegrityCatalogCertificateRevoked:
15079 EOS_EAntiCheatClientViolationType = 3;
15080#[doc = " The primary anti-cheat asset integrity catalog does not include an entry for the game's\n main executable, which is required."]
15081pub const EOS_EAntiCheatClientViolationType_EOS_ACCVT_IntegrityCatalogMissingMainExecutable:
15082 EOS_EAntiCheatClientViolationType = 4;
15083#[doc = " A disallowed game file modification was detected"]
15084pub const EOS_EAntiCheatClientViolationType_EOS_ACCVT_GameFileMismatch:
15085 EOS_EAntiCheatClientViolationType = 5;
15086#[doc = " A disallowed game file removal was detected"]
15087pub const EOS_EAntiCheatClientViolationType_EOS_ACCVT_RequiredGameFileNotFound:
15088 EOS_EAntiCheatClientViolationType = 6;
15089#[doc = " A disallowed game file addition was detected"]
15090pub const EOS_EAntiCheatClientViolationType_EOS_ACCVT_UnknownGameFileForbidden:
15091 EOS_EAntiCheatClientViolationType = 7;
15092#[doc = " A system file failed an integrity check"]
15093pub const EOS_EAntiCheatClientViolationType_EOS_ACCVT_SystemFileUntrusted:
15094 EOS_EAntiCheatClientViolationType = 8;
15095#[doc = " A disallowed code module was loaded into the game process"]
15096pub const EOS_EAntiCheatClientViolationType_EOS_ACCVT_ForbiddenModuleLoaded:
15097 EOS_EAntiCheatClientViolationType = 9;
15098#[doc = " A disallowed game process memory modification was detected"]
15099pub const EOS_EAntiCheatClientViolationType_EOS_ACCVT_CorruptedMemory:
15100 EOS_EAntiCheatClientViolationType = 10;
15101#[doc = " A disallowed tool was detected running in the system"]
15102pub const EOS_EAntiCheatClientViolationType_EOS_ACCVT_ForbiddenToolDetected:
15103 EOS_EAntiCheatClientViolationType = 11;
15104#[doc = " An internal anti-cheat integrity check failed"]
15105pub const EOS_EAntiCheatClientViolationType_EOS_ACCVT_InternalAntiCheatViolation:
15106 EOS_EAntiCheatClientViolationType = 12;
15107#[doc = " Integrity checks on messages between the game client and game server, or between peers, failed"]
15108pub const EOS_EAntiCheatClientViolationType_EOS_ACCVT_CorruptedNetworkMessageFlow:
15109 EOS_EAntiCheatClientViolationType = 13;
15110#[doc = " The game is running inside a disallowed virtual machine"]
15111pub const EOS_EAntiCheatClientViolationType_EOS_ACCVT_VirtualMachineNotAllowed:
15112 EOS_EAntiCheatClientViolationType = 14;
15113#[doc = " A forbidden operating system configuration was detected"]
15114pub const EOS_EAntiCheatClientViolationType_EOS_ACCVT_ForbiddenSystemConfiguration:
15115 EOS_EAntiCheatClientViolationType = 15;
15116pub const EOS_EAntiCheatClientViolationType___EOS_EAntiCheatClientViolationType_PAD_INT32__:
15117 EOS_EAntiCheatClientViolationType = 2147483647;
15118#[doc = " Anti-cheat integrity violation types"]
15119pub type EOS_EAntiCheatClientViolationType = ::std::os::raw::c_int;
15120#[doc = " Structure containing details about a new message that must be dispatched to the game server."]
15121#[repr(C)]
15122#[derive(Debug, Copy, Clone)]
15123pub struct _tagEOS_AntiCheatClient_OnMessageToServerCallbackInfo {
15124 #[doc = " Caller-specified context data"]
15125 pub ClientData: *mut ::std::os::raw::c_void,
15126 #[doc = " The message data that must be sent to the server"]
15127 pub MessageData: *const ::std::os::raw::c_void,
15128 #[doc = " The size in bytes of MessageData"]
15129 pub MessageDataSizeBytes: u32,
15130}
15131impl Default for _tagEOS_AntiCheatClient_OnMessageToServerCallbackInfo {
15132 fn default() -> Self {
15133 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15134 unsafe {
15135 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15136 s.assume_init()
15137 }
15138 }
15139}
15140#[doc = " Structure containing details about a new message that must be dispatched to the game server."]
15141pub type EOS_AntiCheatClient_OnMessageToServerCallbackInfo =
15142 _tagEOS_AntiCheatClient_OnMessageToServerCallbackInfo;
15143#[doc = " Structure containing details about integrity violation related to the local client"]
15144#[repr(C)]
15145#[derive(Debug, Copy, Clone)]
15146pub struct _tagEOS_AntiCheatClient_OnClientIntegrityViolatedCallbackInfo {
15147 #[doc = " Caller-specified context data"]
15148 pub ClientData: *mut ::std::os::raw::c_void,
15149 #[doc = " Code describing the violation that occurred"]
15150 pub ViolationType: EOS_EAntiCheatClientViolationType,
15151 #[doc = " String describing the violation which should be displayed to the user"]
15152 pub ViolationMessage: *const ::std::os::raw::c_char,
15153}
15154impl Default for _tagEOS_AntiCheatClient_OnClientIntegrityViolatedCallbackInfo {
15155 fn default() -> Self {
15156 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15157 unsafe {
15158 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15159 s.assume_init()
15160 }
15161 }
15162}
15163#[doc = " Structure containing details about integrity violation related to the local client"]
15164pub type EOS_AntiCheatClient_OnClientIntegrityViolatedCallbackInfo =
15165 _tagEOS_AntiCheatClient_OnClientIntegrityViolatedCallbackInfo;
15166#[doc = " Callback issued when a new message must be dispatched to the game server.\n\n Messages contain opaque binary data and must be transmitted\n to the game server using the game's own networking layer, then delivered\n to the server anti-cheat instance using the EOS_AntiCheatServer_ReceiveMessageFromClient function.\n The upper limit of the message size is EOS_ANTICHEATCLIENT_ONMESSAGETOSERVERCALLBACK_MAX_MESSAGE_SIZE.\n\n This callback is always issued from within EOS_Platform_Tick on its calling thread."]
15167pub type EOS_AntiCheatClient_OnMessageToServerCallback = ::std::option::Option<
15168 unsafe extern "C" fn(Data: *const EOS_AntiCheatClient_OnMessageToServerCallbackInfo),
15169>;
15170#[doc = " Callback issued when the local client triggers an integrity violation.\n\n The message contains descriptive string of up to 256 characters and must be displayed to the player.\n\n This callback is always issued from within EOS_Platform_Tick on its calling thread."]
15171pub type EOS_AntiCheatClient_OnClientIntegrityViolatedCallback = ::std::option::Option<
15172 unsafe extern "C" fn(Data: *const EOS_AntiCheatClient_OnClientIntegrityViolatedCallbackInfo),
15173>;
15174#[doc = " Callback issued when a new message must be dispatched to a connected peer.\n\n Messages contain opaque binary data and must be transmitted\n to the correct peer using the game's own networking layer, then delivered\n to the client anti-cheat instance using the EOS_AntiCheatClient_ReceiveMessageFromPeer function.\n The upper limit of the message size is EOS_ANTICHEATCLIENT_ONMESSAGETOPEERCALLBACK_MAX_MESSAGE_SIZE.\n\n This callback is always issued from within EOS_Platform_Tick on its calling thread."]
15175pub type EOS_AntiCheatClient_OnMessageToPeerCallback = ::std::option::Option<
15176 unsafe extern "C" fn(Data: *const EOS_AntiCheatCommon_OnMessageToClientCallbackInfo),
15177>;
15178#[doc = " Callback issued when an action must be applied to a connected peer.\n This callback is always issued from within EOS_Platform_Tick on its calling thread."]
15179pub type EOS_AntiCheatClient_OnPeerActionRequiredCallback = ::std::option::Option<
15180 unsafe extern "C" fn(Data: *const EOS_AntiCheatCommon_OnClientActionRequiredCallbackInfo),
15181>;
15182#[doc = " Optional callback issued when a connected peer's authentication status has changed.\n This callback is always issued from within EOS_Platform_Tick on its calling thread."]
15183pub type EOS_AntiCheatClient_OnPeerAuthStatusChangedCallback = ::std::option::Option<
15184 unsafe extern "C" fn(Data: *const EOS_AntiCheatCommon_OnClientAuthStatusChangedCallbackInfo),
15185>;
15186#[doc = " Input parameters for the EOS_AntiCheatClient_AddNotifyMessageToServer function."]
15187#[repr(C)]
15188#[derive(Debug, Default, Copy, Clone)]
15189pub struct _tagEOS_AntiCheatClient_AddNotifyMessageToServerOptions {
15190 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_ADDNOTIFYMESSAGETOSERVER_API_LATEST."]
15191 pub ApiVersion: i32,
15192}
15193#[doc = " Input parameters for the EOS_AntiCheatClient_AddNotifyMessageToServer function."]
15194pub type EOS_AntiCheatClient_AddNotifyMessageToServerOptions =
15195 _tagEOS_AntiCheatClient_AddNotifyMessageToServerOptions;
15196#[doc = " Input parameters for the EOS_AntiCheatClient_AddNotifyMessageToPeer function."]
15197#[repr(C)]
15198#[derive(Debug, Default, Copy, Clone)]
15199pub struct _tagEOS_AntiCheatClient_AddNotifyMessageToPeerOptions {
15200 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_ADDNOTIFYMESSAGETOPEER_API_LATEST."]
15201 pub ApiVersion: i32,
15202}
15203#[doc = " Input parameters for the EOS_AntiCheatClient_AddNotifyMessageToPeer function."]
15204pub type EOS_AntiCheatClient_AddNotifyMessageToPeerOptions =
15205 _tagEOS_AntiCheatClient_AddNotifyMessageToPeerOptions;
15206#[doc = " Input parameters for the EOS_AntiCheatClient_AddNotifyPeerActionRequired function."]
15207#[repr(C)]
15208#[derive(Debug, Default, Copy, Clone)]
15209pub struct _tagEOS_AntiCheatClient_AddNotifyPeerActionRequiredOptions {
15210 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_ADDNOTIFYPEERACTIONREQUIRED_API_LATEST."]
15211 pub ApiVersion: i32,
15212}
15213#[doc = " Input parameters for the EOS_AntiCheatClient_AddNotifyPeerActionRequired function."]
15214pub type EOS_AntiCheatClient_AddNotifyPeerActionRequiredOptions =
15215 _tagEOS_AntiCheatClient_AddNotifyPeerActionRequiredOptions;
15216#[doc = " Input parameters for the EOS_AntiCheatClient_AddNotifyPeerAuthStatusChanged function."]
15217#[repr(C)]
15218#[derive(Debug, Default, Copy, Clone)]
15219pub struct _tagEOS_AntiCheatClient_AddNotifyPeerAuthStatusChangedOptions {
15220 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_ADDNOTIFYPEERAUTHSTATUSCHANGED_API_LATEST."]
15221 pub ApiVersion: i32,
15222}
15223#[doc = " Input parameters for the EOS_AntiCheatClient_AddNotifyPeerAuthStatusChanged function."]
15224pub type EOS_AntiCheatClient_AddNotifyPeerAuthStatusChangedOptions =
15225 _tagEOS_AntiCheatClient_AddNotifyPeerAuthStatusChangedOptions;
15226#[doc = " Input parameters for the EOS_AntiCheatClient_AddNotifyClientIntegrityViolated function."]
15227#[repr(C)]
15228#[derive(Debug, Default, Copy, Clone)]
15229pub struct _tagEOS_AntiCheatClient_AddNotifyClientIntegrityViolatedOptions {
15230 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_ADDNOTIFYPEERAUTHSTATUSCHANGED_API_LATEST."]
15231 pub ApiVersion: i32,
15232}
15233#[doc = " Input parameters for the EOS_AntiCheatClient_AddNotifyClientIntegrityViolated function."]
15234pub type EOS_AntiCheatClient_AddNotifyClientIntegrityViolatedOptions =
15235 _tagEOS_AntiCheatClient_AddNotifyClientIntegrityViolatedOptions;
15236#[doc = " Input parameters for the EOS_AntiCheatClient_BeginSession function."]
15237#[repr(C)]
15238#[derive(Debug, Copy, Clone)]
15239pub struct _tagEOS_AntiCheatClient_BeginSessionOptions {
15240 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_BEGINSESSION_API_LATEST."]
15241 pub ApiVersion: i32,
15242 #[doc = " Logged in user identifier from earlier call to EOS_Connect_Login family of functions"]
15243 pub LocalUserId: EOS_ProductUserId,
15244 #[doc = " Operating mode"]
15245 pub Mode: EOS_EAntiCheatClientMode,
15246}
15247impl Default for _tagEOS_AntiCheatClient_BeginSessionOptions {
15248 fn default() -> Self {
15249 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15250 unsafe {
15251 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15252 s.assume_init()
15253 }
15254 }
15255}
15256#[doc = " Input parameters for the EOS_AntiCheatClient_BeginSession function."]
15257pub type EOS_AntiCheatClient_BeginSessionOptions = _tagEOS_AntiCheatClient_BeginSessionOptions;
15258#[doc = " Input parameters for the EOS_AntiCheatClient_EndSession function."]
15259#[repr(C)]
15260#[derive(Debug, Default, Copy, Clone)]
15261pub struct _tagEOS_AntiCheatClient_EndSessionOptions {
15262 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_ENDSESSION_API_LATEST."]
15263 pub ApiVersion: i32,
15264}
15265#[doc = " Input parameters for the EOS_AntiCheatClient_EndSession function."]
15266pub type EOS_AntiCheatClient_EndSessionOptions = _tagEOS_AntiCheatClient_EndSessionOptions;
15267#[doc = " Input parameters for the EOS_AntiCheatClient_Reserved01 function."]
15268#[repr(C)]
15269#[derive(Debug, Default, Copy, Clone)]
15270pub struct _tagEOS_AntiCheatClient_Reserved01Options {
15271 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_RESERVED01_API_LATEST."]
15272 pub ApiVersion: i32,
15273}
15274#[doc = " Input parameters for the EOS_AntiCheatClient_Reserved01 function."]
15275pub type EOS_AntiCheatClient_Reserved01Options = _tagEOS_AntiCheatClient_Reserved01Options;
15276#[doc = " Input parameters for the EOS_AntiCheatClient_Reserved02 function."]
15277#[repr(C)]
15278#[derive(Debug, Copy, Clone)]
15279pub struct _tagEOS_AntiCheatClient_Reserved02Options {
15280 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_RESERVED02_API_LATEST."]
15281 pub ApiVersion: i32,
15282 #[doc = " Field reserved for future use"]
15283 pub Reserved1: i64,
15284 #[doc = " Field reserved for future use"]
15285 pub Reserved2: u32,
15286 #[doc = " Field reserved for future use"]
15287 pub Reserved3: u32,
15288 #[doc = " Field reserved for future use"]
15289 pub Reserved4: *const ::std::os::raw::c_void,
15290}
15291impl Default for _tagEOS_AntiCheatClient_Reserved02Options {
15292 fn default() -> Self {
15293 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15294 unsafe {
15295 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15296 s.assume_init()
15297 }
15298 }
15299}
15300#[doc = " Input parameters for the EOS_AntiCheatClient_Reserved02 function."]
15301pub type EOS_AntiCheatClient_Reserved02Options = _tagEOS_AntiCheatClient_Reserved02Options;
15302#[doc = " Input parameters for the EOS_AntiCheatClient_GetModuleBuildId function."]
15303#[repr(C)]
15304#[derive(Debug, Default, Copy, Clone)]
15305pub struct _tagEOS_AntiCheatClient_GetModuleBuildIdOptions {
15306 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_GETMODULEBUILDID_API_LATEST."]
15307 pub ApiVersion: i32,
15308}
15309#[doc = " Input parameters for the EOS_AntiCheatClient_GetModuleBuildId function."]
15310pub type EOS_AntiCheatClient_GetModuleBuildIdOptions =
15311 _tagEOS_AntiCheatClient_GetModuleBuildIdOptions;
15312#[doc = " Input parameters for the EOS_AntiCheatClient_AddExternalIntegrityCatalog function."]
15313#[repr(C)]
15314#[derive(Debug, Copy, Clone)]
15315pub struct _tagEOS_AntiCheatClient_AddExternalIntegrityCatalogOptions {
15316 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_ADDEXTERNALINTEGRITYCATALOG_API_LATEST."]
15317 pub ApiVersion: i32,
15318 #[doc = " UTF-8 path to the .bin catalog file to add"]
15319 pub PathToBinFile: *const ::std::os::raw::c_char,
15320}
15321impl Default for _tagEOS_AntiCheatClient_AddExternalIntegrityCatalogOptions {
15322 fn default() -> Self {
15323 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15324 unsafe {
15325 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15326 s.assume_init()
15327 }
15328 }
15329}
15330#[doc = " Input parameters for the EOS_AntiCheatClient_AddExternalIntegrityCatalog function."]
15331pub type EOS_AntiCheatClient_AddExternalIntegrityCatalogOptions =
15332 _tagEOS_AntiCheatClient_AddExternalIntegrityCatalogOptions;
15333#[doc = " Input parameters for the EOS_AntiCheatClient_ReceiveMessageFromServer function."]
15334#[repr(C)]
15335#[derive(Debug, Copy, Clone)]
15336pub struct _tagEOS_AntiCheatClient_ReceiveMessageFromServerOptions {
15337 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_RECEIVEMESSAGEFROMSERVER_API_LATEST."]
15338 pub ApiVersion: i32,
15339 #[doc = " The size of the data received"]
15340 pub DataLengthBytes: u32,
15341 #[doc = " The data received"]
15342 pub Data: *const ::std::os::raw::c_void,
15343}
15344impl Default for _tagEOS_AntiCheatClient_ReceiveMessageFromServerOptions {
15345 fn default() -> Self {
15346 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15347 unsafe {
15348 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15349 s.assume_init()
15350 }
15351 }
15352}
15353#[doc = " Input parameters for the EOS_AntiCheatClient_ReceiveMessageFromServer function."]
15354pub type EOS_AntiCheatClient_ReceiveMessageFromServerOptions =
15355 _tagEOS_AntiCheatClient_ReceiveMessageFromServerOptions;
15356#[doc = " Input parameters for the EOS_AntiCheatClient_GetProtectMessageOutputLength function."]
15357#[repr(C)]
15358#[derive(Debug, Default, Copy, Clone)]
15359pub struct _tagEOS_AntiCheatClient_GetProtectMessageOutputLengthOptions {
15360 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_GETPROTECTMESSAGEOUTPUTLENGTH_API_LATEST."]
15361 pub ApiVersion: i32,
15362 #[doc = " Length in bytes of input"]
15363 pub DataLengthBytes: u32,
15364}
15365#[doc = " Input parameters for the EOS_AntiCheatClient_GetProtectMessageOutputLength function."]
15366pub type EOS_AntiCheatClient_GetProtectMessageOutputLengthOptions =
15367 _tagEOS_AntiCheatClient_GetProtectMessageOutputLengthOptions;
15368#[doc = " Input parameters for the EOS_AntiCheatClient_ProtectMessage function."]
15369#[repr(C)]
15370#[derive(Debug, Copy, Clone)]
15371pub struct _tagEOS_AntiCheatClient_ProtectMessageOptions {
15372 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_PROTECTMESSAGE_API_LATEST."]
15373 pub ApiVersion: i32,
15374 #[doc = " Length in bytes of input"]
15375 pub DataLengthBytes: u32,
15376 #[doc = " The data to encrypt"]
15377 pub Data: *const ::std::os::raw::c_void,
15378 #[doc = " The size in bytes of OutBuffer"]
15379 pub OutBufferSizeBytes: u32,
15380}
15381impl Default for _tagEOS_AntiCheatClient_ProtectMessageOptions {
15382 fn default() -> Self {
15383 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15384 unsafe {
15385 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15386 s.assume_init()
15387 }
15388 }
15389}
15390#[doc = " Input parameters for the EOS_AntiCheatClient_ProtectMessage function."]
15391pub type EOS_AntiCheatClient_ProtectMessageOptions = _tagEOS_AntiCheatClient_ProtectMessageOptions;
15392#[doc = " Input parameters for the EOS_AntiCheatClient_UnprotectMessage function."]
15393#[repr(C)]
15394#[derive(Debug, Copy, Clone)]
15395pub struct _tagEOS_AntiCheatClient_UnprotectMessageOptions {
15396 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_UNPROTECTMESSAGE_API_LATEST."]
15397 pub ApiVersion: i32,
15398 #[doc = " Length in bytes of input"]
15399 pub DataLengthBytes: u32,
15400 #[doc = " The data to decrypt"]
15401 pub Data: *const ::std::os::raw::c_void,
15402 #[doc = " The size in bytes of OutBuffer"]
15403 pub OutBufferSizeBytes: u32,
15404}
15405impl Default for _tagEOS_AntiCheatClient_UnprotectMessageOptions {
15406 fn default() -> Self {
15407 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15408 unsafe {
15409 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15410 s.assume_init()
15411 }
15412 }
15413}
15414#[doc = " Input parameters for the EOS_AntiCheatClient_UnprotectMessage function."]
15415pub type EOS_AntiCheatClient_UnprotectMessageOptions =
15416 _tagEOS_AntiCheatClient_UnprotectMessageOptions;
15417#[doc = " Input parameters for the EOS_AntiCheatClient_RegisterPeerOptions function."]
15418#[repr(C)]
15419#[derive(Debug, Copy, Clone)]
15420pub struct _tagEOS_AntiCheatClient_RegisterPeerOptions {
15421 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_REGISTERPEER_API_LATEST."]
15422 pub ApiVersion: i32,
15423 #[doc = " Locally unique value describing the remote user (e.g. a player object pointer)"]
15424 pub PeerHandle: EOS_AntiCheatCommon_ClientHandle,
15425 #[doc = " Type of remote user being registered"]
15426 pub ClientType: EOS_EAntiCheatCommonClientType,
15427 #[doc = " Remote user's platform, if known"]
15428 pub ClientPlatform: EOS_EAntiCheatCommonClientPlatform,
15429 #[doc = " Time in seconds to allow newly registered peers to send the initial message containing their token.\n Minimum value: EOS_ANTICHEATCLIENT_REGISTERPEER_MIN_AUTHENTICATIONTIMEOUT\n Maximum value: EOS_ANTICHEATCLIENT_REGISTERPEER_MAX_AUTHENTICATIONTIMEOUT"]
15430 pub AuthenticationTimeout: u32,
15431 #[doc = " Deprecated - use PeerProductUserId instead"]
15432 pub AccountId_DEPRECATED: *const ::std::os::raw::c_char,
15433 #[doc = " Optional IP address for the remote user. May be null if not available.\n IPv4 format: \"0.0.0.0\"\n IPv6 format: \"0:0:0:0:0:0:0:0\""]
15434 pub IpAddress: *const ::std::os::raw::c_char,
15435 #[doc = " EOS_ProductUserId Identifier for the remote user"]
15436 pub PeerProductUserId: EOS_ProductUserId,
15437}
15438impl Default for _tagEOS_AntiCheatClient_RegisterPeerOptions {
15439 fn default() -> Self {
15440 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15441 unsafe {
15442 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15443 s.assume_init()
15444 }
15445 }
15446}
15447#[doc = " Input parameters for the EOS_AntiCheatClient_RegisterPeerOptions function."]
15448pub type EOS_AntiCheatClient_RegisterPeerOptions = _tagEOS_AntiCheatClient_RegisterPeerOptions;
15449#[doc = " Input parameters for the EOS_AntiCheatClient_UnregisterPeer function."]
15450#[repr(C)]
15451#[derive(Debug, Copy, Clone)]
15452pub struct _tagEOS_AntiCheatClient_UnregisterPeerOptions {
15453 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_UNREGISTERPEER_API_LATEST."]
15454 pub ApiVersion: i32,
15455 #[doc = " Locally unique value describing the remote user, as previously passed to EOS_AntiCheatClient_RegisterPeer"]
15456 pub PeerHandle: EOS_AntiCheatCommon_ClientHandle,
15457}
15458impl Default for _tagEOS_AntiCheatClient_UnregisterPeerOptions {
15459 fn default() -> Self {
15460 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15461 unsafe {
15462 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15463 s.assume_init()
15464 }
15465 }
15466}
15467#[doc = " Input parameters for the EOS_AntiCheatClient_UnregisterPeer function."]
15468pub type EOS_AntiCheatClient_UnregisterPeerOptions = _tagEOS_AntiCheatClient_UnregisterPeerOptions;
15469#[doc = " Input parameters for the EOS_AntiCheatClient_ReceiveMessageFromPeer function."]
15470#[repr(C)]
15471#[derive(Debug, Copy, Clone)]
15472pub struct _tagEOS_AntiCheatClient_ReceiveMessageFromPeerOptions {
15473 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_RECEIVEMESSAGEFROMPEER_API_LATEST."]
15474 pub ApiVersion: i32,
15475 #[doc = " The handle describing the sender of this message"]
15476 pub PeerHandle: EOS_AntiCheatCommon_ClientHandle,
15477 #[doc = " The size of the data received"]
15478 pub DataLengthBytes: u32,
15479 #[doc = " The data received"]
15480 pub Data: *const ::std::os::raw::c_void,
15481}
15482impl Default for _tagEOS_AntiCheatClient_ReceiveMessageFromPeerOptions {
15483 fn default() -> Self {
15484 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15485 unsafe {
15486 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15487 s.assume_init()
15488 }
15489 }
15490}
15491#[doc = " Input parameters for the EOS_AntiCheatClient_ReceiveMessageFromPeer function."]
15492pub type EOS_AntiCheatClient_ReceiveMessageFromPeerOptions =
15493 _tagEOS_AntiCheatClient_ReceiveMessageFromPeerOptions;
15494#[doc = " Input parameters for the EOS_AntiCheatClient_PollStatus function."]
15495#[repr(C)]
15496#[derive(Debug, Default, Copy, Clone)]
15497pub struct _tagEOS_AntiCheatClient_PollStatusOptions {
15498 #[doc = " API Version: Set this to EOS_ANTICHEATCLIENT_POLLSTATUS_API_LATEST."]
15499 pub ApiVersion: i32,
15500 #[doc = " The size of OutMessage in bytes. Recommended size is 256 bytes."]
15501 pub OutMessageLength: u32,
15502}
15503#[doc = " Input parameters for the EOS_AntiCheatClient_PollStatus function."]
15504pub type EOS_AntiCheatClient_PollStatusOptions = _tagEOS_AntiCheatClient_PollStatusOptions;
15505#[repr(C)]
15506#[derive(Debug, Copy, Clone)]
15507pub struct EOS_AntiCheatServerHandle {
15508 _unused: [u8; 0],
15509}
15510pub type EOS_HAntiCheatServer = *mut EOS_AntiCheatServerHandle;
15511#[doc = " Callback issued when a new message must be dispatched to a connected client.\n\n Messages contain opaque binary data and must be transmitted to the correct client\n using the game's own networking layer, then delivered to the client anti-cheat instance\n using the EOS_AntiCheatClient_ReceiveMessageFromServer function.\n The upper limit of the message size is EOS_ANTICHEATSERVER_ONMESSAGETOCLIENTCALLBACK_MAX_MESSAGE_SIZE.\n\n This callback is always issued from within EOS_Platform_Tick on its calling thread."]
15512pub type EOS_AntiCheatServer_OnMessageToClientCallback = ::std::option::Option<
15513 unsafe extern "C" fn(Data: *const EOS_AntiCheatCommon_OnMessageToClientCallbackInfo),
15514>;
15515#[doc = " Callback issued when an action must be applied to a connected client.\n This callback is always issued from within EOS_Platform_Tick on its calling thread."]
15516pub type EOS_AntiCheatServer_OnClientActionRequiredCallback = ::std::option::Option<
15517 unsafe extern "C" fn(Data: *const EOS_AntiCheatCommon_OnClientActionRequiredCallbackInfo),
15518>;
15519#[doc = " Optional callback issued when a connected client's authentication status has changed.\n This callback is always issued from within EOS_Platform_Tick on its calling thread."]
15520pub type EOS_AntiCheatServer_OnClientAuthStatusChangedCallback = ::std::option::Option<
15521 unsafe extern "C" fn(Data: *const EOS_AntiCheatCommon_OnClientAuthStatusChangedCallbackInfo),
15522>;
15523#[doc = " Input parameters for the EOS_AntiCheatServer_AddNotifyMessageToClient function."]
15524#[repr(C)]
15525#[derive(Debug, Default, Copy, Clone)]
15526pub struct _tagEOS_AntiCheatServer_AddNotifyMessageToClientOptions {
15527 #[doc = " API Version: Set this to EOS_ANTICHEATSERVER_ADDNOTIFYMESSAGETOCLIENT_API_LATEST."]
15528 pub ApiVersion: i32,
15529}
15530#[doc = " Input parameters for the EOS_AntiCheatServer_AddNotifyMessageToClient function."]
15531pub type EOS_AntiCheatServer_AddNotifyMessageToClientOptions =
15532 _tagEOS_AntiCheatServer_AddNotifyMessageToClientOptions;
15533#[doc = " Input parameters for the EOS_AntiCheatServer_AddNotifyClientActionRequired function."]
15534#[repr(C)]
15535#[derive(Debug, Default, Copy, Clone)]
15536pub struct _tagEOS_AntiCheatServer_AddNotifyClientActionRequiredOptions {
15537 #[doc = " API Version: Set this to EOS_ANTICHEATSERVER_ADDNOTIFYCLIENTACTIONREQUIRED_API_LATEST."]
15538 pub ApiVersion: i32,
15539}
15540#[doc = " Input parameters for the EOS_AntiCheatServer_AddNotifyClientActionRequired function."]
15541pub type EOS_AntiCheatServer_AddNotifyClientActionRequiredOptions =
15542 _tagEOS_AntiCheatServer_AddNotifyClientActionRequiredOptions;
15543#[doc = " Input parameters for the EOS_AntiCheatServer_AddNotifyClientAuthStatusChanged function."]
15544#[repr(C)]
15545#[derive(Debug, Default, Copy, Clone)]
15546pub struct _tagEOS_AntiCheatServer_AddNotifyClientAuthStatusChangedOptions {
15547 #[doc = " API Version: Set this to EOS_ANTICHEATSERVER_ADDNOTIFYCLIENTAUTHSTATUSCHANGED_API_LATEST."]
15548 pub ApiVersion: i32,
15549}
15550#[doc = " Input parameters for the EOS_AntiCheatServer_AddNotifyClientAuthStatusChanged function."]
15551pub type EOS_AntiCheatServer_AddNotifyClientAuthStatusChangedOptions =
15552 _tagEOS_AntiCheatServer_AddNotifyClientAuthStatusChangedOptions;
15553#[doc = " Input parameters for the EOS_AntiCheatServer_BeginSession function."]
15554#[repr(C)]
15555#[derive(Debug, Copy, Clone)]
15556pub struct _tagEOS_AntiCheatServer_BeginSessionOptions {
15557 #[doc = " API Version: Set this to EOS_ANTICHEATSERVER_BEGINSESSION_API_LATEST."]
15558 pub ApiVersion: i32,
15559 #[doc = " Time in seconds to allow newly registered clients to complete anti-cheat authentication.\n Recommended value: 60\n Minimum value: EOS_ANTICHEATSERVER_BEGINSESSION_MIN_REGISTERTIMEOUT\n Maximum value: EOS_ANTICHEATSERVER_BEGINSESSION_MAX_REGISTERTIMEOUT"]
15560 pub RegisterTimeoutSeconds: u32,
15561 #[doc = " Optional name of this game server"]
15562 pub ServerName: *const ::std::os::raw::c_char,
15563 #[doc = " Gameplay data collection APIs such as LogPlayerTick will be enabled if set to true.\n If you do not use these APIs you should set this value to false to reduce memory use."]
15564 pub bEnableGameplayData: EOS_Bool,
15565 #[doc = " The Product User ID of the local user who is associated with this session. Dedicated servers should set this to null."]
15566 pub LocalUserId: EOS_ProductUserId,
15567}
15568impl Default for _tagEOS_AntiCheatServer_BeginSessionOptions {
15569 fn default() -> Self {
15570 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15571 unsafe {
15572 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15573 s.assume_init()
15574 }
15575 }
15576}
15577#[doc = " Input parameters for the EOS_AntiCheatServer_BeginSession function."]
15578pub type EOS_AntiCheatServer_BeginSessionOptions = _tagEOS_AntiCheatServer_BeginSessionOptions;
15579#[doc = " Input parameters for the EOS_AntiCheatServer_EndSession function."]
15580#[repr(C)]
15581#[derive(Debug, Default, Copy, Clone)]
15582pub struct _tagEOS_AntiCheatServer_EndSessionOptions {
15583 #[doc = " API Version: Set this to EOS_ANTICHEATSERVER_ENDSESSION_API_LATEST."]
15584 pub ApiVersion: i32,
15585}
15586#[doc = " Input parameters for the EOS_AntiCheatServer_EndSession function."]
15587pub type EOS_AntiCheatServer_EndSessionOptions = _tagEOS_AntiCheatServer_EndSessionOptions;
15588#[doc = " Input parameters for the EOS_AntiCheatServer_RegisterClient function."]
15589#[repr(C)]
15590#[derive(Debug, Copy, Clone)]
15591pub struct _tagEOS_AntiCheatServer_RegisterClientOptions {
15592 #[doc = " API Version: Set this to EOS_ANTICHEATSERVER_REGISTERCLIENT_API_LATEST."]
15593 pub ApiVersion: i32,
15594 #[doc = " Locally unique value describing the remote user (e.g. a player object pointer)"]
15595 pub ClientHandle: EOS_AntiCheatCommon_ClientHandle,
15596 #[doc = " Type of remote user being registered"]
15597 pub ClientType: EOS_EAntiCheatCommonClientType,
15598 #[doc = " Remote user's platform, if known"]
15599 pub ClientPlatform: EOS_EAntiCheatCommonClientPlatform,
15600 #[doc = " DEPRECATED - New code should set this to null and specify UserId instead.\n\n Identifier for the remote user. This is typically a string representation of an\n account ID, but it can be any string which is both unique (two different users will never\n have the same string) and consistent (if the same user connects to this game session\n twice, the same string will be used) in the scope of a single protected game session."]
15601 pub AccountId_DEPRECATED: *const ::std::os::raw::c_char,
15602 #[doc = " Optional IP address for the remote user. May be null if not available.\n IPv4 format: \"0.0.0.0\"\n IPv6 format: \"0:0:0:0:0:0:0:0\""]
15603 pub IpAddress: *const ::std::os::raw::c_char,
15604 #[doc = " The Product User ID for the remote user who is being registered."]
15605 pub UserId: EOS_ProductUserId,
15606 #[doc = " Reserved for future use. Must be set to 0."]
15607 pub Reserved01: i32,
15608}
15609impl Default for _tagEOS_AntiCheatServer_RegisterClientOptions {
15610 fn default() -> Self {
15611 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15612 unsafe {
15613 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15614 s.assume_init()
15615 }
15616 }
15617}
15618#[doc = " Input parameters for the EOS_AntiCheatServer_RegisterClient function."]
15619pub type EOS_AntiCheatServer_RegisterClientOptions = _tagEOS_AntiCheatServer_RegisterClientOptions;
15620#[doc = " Input parameters for the EOS_AntiCheatServer_UnregisterClient function."]
15621#[repr(C)]
15622#[derive(Debug, Copy, Clone)]
15623pub struct _tagEOS_AntiCheatServer_UnregisterClientOptions {
15624 #[doc = " API Version: Set this to EOS_ANTICHEATSERVER_UNREGISTERCLIENT_API_LATEST."]
15625 pub ApiVersion: i32,
15626 #[doc = " Locally unique value describing the remote user, as previously passed to RegisterClient"]
15627 pub ClientHandle: EOS_AntiCheatCommon_ClientHandle,
15628}
15629impl Default for _tagEOS_AntiCheatServer_UnregisterClientOptions {
15630 fn default() -> Self {
15631 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15632 unsafe {
15633 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15634 s.assume_init()
15635 }
15636 }
15637}
15638#[doc = " Input parameters for the EOS_AntiCheatServer_UnregisterClient function."]
15639pub type EOS_AntiCheatServer_UnregisterClientOptions =
15640 _tagEOS_AntiCheatServer_UnregisterClientOptions;
15641#[doc = " Input parameters for the EOS_AntiCheatServer_ReceiveMessageFromClient function."]
15642#[repr(C)]
15643#[derive(Debug, Copy, Clone)]
15644pub struct _tagEOS_AntiCheatServer_ReceiveMessageFromClientOptions {
15645 #[doc = " API Version: Set this to EOS_ANTICHEATSERVER_RECEIVEMESSAGEFROMCLIENT_API_LATEST."]
15646 pub ApiVersion: i32,
15647 #[doc = " Locally unique value describing the corresponding remote user, as previously passed to RegisterClient"]
15648 pub ClientHandle: EOS_AntiCheatCommon_ClientHandle,
15649 #[doc = " The size of the data received"]
15650 pub DataLengthBytes: u32,
15651 #[doc = " The data received"]
15652 pub Data: *const ::std::os::raw::c_void,
15653}
15654impl Default for _tagEOS_AntiCheatServer_ReceiveMessageFromClientOptions {
15655 fn default() -> Self {
15656 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15657 unsafe {
15658 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15659 s.assume_init()
15660 }
15661 }
15662}
15663#[doc = " Input parameters for the EOS_AntiCheatServer_ReceiveMessageFromClient function."]
15664pub type EOS_AntiCheatServer_ReceiveMessageFromClientOptions =
15665 _tagEOS_AntiCheatServer_ReceiveMessageFromClientOptions;
15666#[doc = " Input parameters for the EOS_AntiCheatServer_SetClientNetworkState function."]
15667#[repr(C)]
15668#[derive(Debug, Copy, Clone)]
15669pub struct _tagEOS_AntiCheatServer_SetClientNetworkStateOptions {
15670 #[doc = " API Version: Set this to EOS_ANTICHEATSERVER_SETCLIENTNETWORKSTATE_API_LATEST."]
15671 pub ApiVersion: i32,
15672 #[doc = " Locally unique value describing the remote user (e.g. a player object pointer)"]
15673 pub ClientHandle: EOS_AntiCheatCommon_ClientHandle,
15674 #[doc = " True if the network is functioning normally, false if temporarily interrupted"]
15675 pub bIsNetworkActive: EOS_Bool,
15676}
15677impl Default for _tagEOS_AntiCheatServer_SetClientNetworkStateOptions {
15678 fn default() -> Self {
15679 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15680 unsafe {
15681 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15682 s.assume_init()
15683 }
15684 }
15685}
15686#[doc = " Input parameters for the EOS_AntiCheatServer_SetClientNetworkState function."]
15687pub type EOS_AntiCheatServer_SetClientNetworkStateOptions =
15688 _tagEOS_AntiCheatServer_SetClientNetworkStateOptions;
15689#[doc = " Input parameters for the EOS_AntiCheatServer_GetProtectMessageOutputLength function."]
15690#[repr(C)]
15691#[derive(Debug, Default, Copy, Clone)]
15692pub struct _tagEOS_AntiCheatServer_GetProtectMessageOutputLengthOptions {
15693 #[doc = " API Version: Set this to EOS_ANTICHEATSERVER_GETPROTECTMESSAGEOUTPUTLENGTH_API_LATEST."]
15694 pub ApiVersion: i32,
15695 #[doc = " Length in bytes of input"]
15696 pub DataLengthBytes: u32,
15697}
15698#[doc = " Input parameters for the EOS_AntiCheatServer_GetProtectMessageOutputLength function."]
15699pub type EOS_AntiCheatServer_GetProtectMessageOutputLengthOptions =
15700 _tagEOS_AntiCheatServer_GetProtectMessageOutputLengthOptions;
15701#[doc = " Input parameters for the EOS_AntiCheatServer_ProtectMessage function."]
15702#[repr(C)]
15703#[derive(Debug, Copy, Clone)]
15704pub struct _tagEOS_AntiCheatServer_ProtectMessageOptions {
15705 #[doc = " API Version: Set this to EOS_ANTICHEATSERVER_PROTECTMESSAGE_API_LATEST."]
15706 pub ApiVersion: i32,
15707 #[doc = " Locally unique value describing the remote user to whom the message will be sent"]
15708 pub ClientHandle: EOS_AntiCheatCommon_ClientHandle,
15709 #[doc = " Length in bytes of input"]
15710 pub DataLengthBytes: u32,
15711 #[doc = " The data to encrypt"]
15712 pub Data: *const ::std::os::raw::c_void,
15713 #[doc = " The size in bytes of OutBuffer"]
15714 pub OutBufferSizeBytes: u32,
15715}
15716impl Default for _tagEOS_AntiCheatServer_ProtectMessageOptions {
15717 fn default() -> Self {
15718 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15719 unsafe {
15720 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15721 s.assume_init()
15722 }
15723 }
15724}
15725#[doc = " Input parameters for the EOS_AntiCheatServer_ProtectMessage function."]
15726pub type EOS_AntiCheatServer_ProtectMessageOptions = _tagEOS_AntiCheatServer_ProtectMessageOptions;
15727#[doc = " Input parameters for the EOS_AntiCheatServer_UnprotectMessage function."]
15728#[repr(C)]
15729#[derive(Debug, Copy, Clone)]
15730pub struct _tagEOS_AntiCheatServer_UnprotectMessageOptions {
15731 #[doc = " API Version: Set this to EOS_ANTICHEATSERVER_UNPROTECTMESSAGE_API_LATEST."]
15732 pub ApiVersion: i32,
15733 #[doc = " Locally unique value describing the remote user from whom the message was received"]
15734 pub ClientHandle: EOS_AntiCheatCommon_ClientHandle,
15735 #[doc = " Length in bytes of input"]
15736 pub DataLengthBytes: u32,
15737 #[doc = " The data to decrypt"]
15738 pub Data: *const ::std::os::raw::c_void,
15739 #[doc = " The size in bytes of OutBuffer"]
15740 pub OutBufferSizeBytes: u32,
15741}
15742impl Default for _tagEOS_AntiCheatServer_UnprotectMessageOptions {
15743 fn default() -> Self {
15744 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15745 unsafe {
15746 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15747 s.assume_init()
15748 }
15749 }
15750}
15751#[doc = " Input parameters for the EOS_AntiCheatServer_UnprotectMessage function."]
15752pub type EOS_AntiCheatServer_UnprotectMessageOptions =
15753 _tagEOS_AntiCheatServer_UnprotectMessageOptions;
15754#[repr(C)]
15755#[derive(Debug, Copy, Clone)]
15756pub struct EOS_ReportsHandle {
15757 _unused: [u8; 0],
15758}
15759pub type EOS_HReports = *mut EOS_ReportsHandle;
15760#[doc = " Not used"]
15761pub const EOS_EPlayerReportsCategory_EOS_PRC_Invalid: EOS_EPlayerReportsCategory = 0;
15762#[doc = " The reported player is cheating"]
15763pub const EOS_EPlayerReportsCategory_EOS_PRC_Cheating: EOS_EPlayerReportsCategory = 1;
15764#[doc = " The reported player is exploiting the game"]
15765pub const EOS_EPlayerReportsCategory_EOS_PRC_Exploiting: EOS_EPlayerReportsCategory = 2;
15766#[doc = " The reported player has an offensive profile, name, etc"]
15767pub const EOS_EPlayerReportsCategory_EOS_PRC_OffensiveProfile: EOS_EPlayerReportsCategory = 3;
15768#[doc = " The reported player is being abusive in chat"]
15769pub const EOS_EPlayerReportsCategory_EOS_PRC_VerbalAbuse: EOS_EPlayerReportsCategory = 4;
15770#[doc = " The reported player is scamming other players"]
15771pub const EOS_EPlayerReportsCategory_EOS_PRC_Scamming: EOS_EPlayerReportsCategory = 5;
15772#[doc = " The reported player is spamming chat"]
15773pub const EOS_EPlayerReportsCategory_EOS_PRC_Spamming: EOS_EPlayerReportsCategory = 6;
15774#[doc = " The player is being reported for something else"]
15775pub const EOS_EPlayerReportsCategory_EOS_PRC_Other: EOS_EPlayerReportsCategory = 7;
15776pub const EOS_EPlayerReportsCategory___EOS_EPlayerReportsCategory_PAD_INT32__:
15777 EOS_EPlayerReportsCategory = 2147483647;
15778#[doc = " An enumeration of the different player behavior categories that can be reported."]
15779pub type EOS_EPlayerReportsCategory = ::std::os::raw::c_int;
15780#[doc = " Input parameters for the EOS_Reports_SendPlayerBehaviorReport function."]
15781#[repr(C)]
15782#[derive(Debug, Copy, Clone)]
15783pub struct _tagEOS_Reports_SendPlayerBehaviorReportOptions {
15784 #[doc = " API Version: Set this to EOS_REPORTS_SENDPLAYERBEHAVIORREPORT_API_LATEST."]
15785 pub ApiVersion: i32,
15786 #[doc = " Product User ID of the reporting player"]
15787 pub ReporterUserId: EOS_ProductUserId,
15788 #[doc = " Product User ID of the reported player."]
15789 pub ReportedUserId: EOS_ProductUserId,
15790 #[doc = " Category for the player report."]
15791 pub Category: EOS_EPlayerReportsCategory,
15792 #[doc = " Optional plain text string associated with the report as UTF-8 encoded null-terminated string.\n\n The length of the message can be at maximum up to EOS_REPORTS_REPORTMESSAGE_MAX_LENGTH bytes\n and any excess characters will be truncated upon sending the report."]
15793 pub Message: *const ::std::os::raw::c_char,
15794 #[doc = " Optional JSON string associated with the report as UTF-8 encoded null-terminated string.\n This is intended as a way to associate arbitrary structured context information with a report.\n\n This string needs to be valid JSON, report will fail otherwise.\n The length of the context can be at maximum up to EOS_REPORTS_REPORTCONTEXT_MAX_LENGTH bytes, not including the null terminator, report will fail otherwise."]
15795 pub Context: *const ::std::os::raw::c_char,
15796}
15797impl Default for _tagEOS_Reports_SendPlayerBehaviorReportOptions {
15798 fn default() -> Self {
15799 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15800 unsafe {
15801 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15802 s.assume_init()
15803 }
15804 }
15805}
15806#[doc = " Input parameters for the EOS_Reports_SendPlayerBehaviorReport function."]
15807pub type EOS_Reports_SendPlayerBehaviorReportOptions =
15808 _tagEOS_Reports_SendPlayerBehaviorReportOptions;
15809#[doc = " Output parameters for the EOS_Reports_SendPlayerBehaviorReport function."]
15810#[repr(C)]
15811#[derive(Debug, Copy, Clone)]
15812pub struct _tagEOS_Reports_SendPlayerBehaviorReportCompleteCallbackInfo {
15813 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
15814 pub ResultCode: EOS_EResult,
15815 #[doc = " Context that was passed into EOS_Reports_SendPlayerBehaviorReport."]
15816 pub ClientData: *mut ::std::os::raw::c_void,
15817}
15818impl Default for _tagEOS_Reports_SendPlayerBehaviorReportCompleteCallbackInfo {
15819 fn default() -> Self {
15820 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15821 unsafe {
15822 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15823 s.assume_init()
15824 }
15825 }
15826}
15827#[doc = " Output parameters for the EOS_Reports_SendPlayerBehaviorReport function."]
15828pub type EOS_Reports_SendPlayerBehaviorReportCompleteCallbackInfo =
15829 _tagEOS_Reports_SendPlayerBehaviorReportCompleteCallbackInfo;
15830#[doc = " Function prototype definition for callbacks passed to EOS_Reports_SendPlayerBehaviorReport.\n @param Data A EOS_Reports_SendPlayerBehaviorReportCompleteCallbackInfo containing the output information and result."]
15831pub type EOS_Reports_OnSendPlayerBehaviorReportCompleteCallback = ::std::option::Option<
15832 unsafe extern "C" fn(Data: *const EOS_Reports_SendPlayerBehaviorReportCompleteCallbackInfo),
15833>;
15834#[repr(C)]
15835#[derive(Debug, Copy, Clone)]
15836pub struct EOS_SanctionsHandle {
15837 _unused: [u8; 0],
15838}
15839pub type EOS_HSanctions = *mut EOS_SanctionsHandle;
15840#[doc = " Contains information about a single player sanction."]
15841#[repr(C)]
15842#[derive(Debug, Copy, Clone)]
15843pub struct _tagEOS_Sanctions_PlayerSanction {
15844 #[doc = " API Version: Set this to EOS_SANCTIONS_PLAYERSANCTION_API_LATEST."]
15845 pub ApiVersion: i32,
15846 #[doc = " The POSIX timestamp when the sanction was placed"]
15847 pub TimePlaced: i64,
15848 #[doc = " The action associated with this sanction"]
15849 pub Action: *const ::std::os::raw::c_char,
15850 #[doc = " The POSIX timestamp when the sanction will expire. If the sanction is permanent, this will be 0."]
15851 pub TimeExpires: i64,
15852 #[doc = " A unique identifier for this specific sanction"]
15853 pub ReferenceId: *const ::std::os::raw::c_char,
15854}
15855impl Default for _tagEOS_Sanctions_PlayerSanction {
15856 fn default() -> Self {
15857 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15858 unsafe {
15859 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15860 s.assume_init()
15861 }
15862 }
15863}
15864#[doc = " Contains information about a single player sanction."]
15865pub type EOS_Sanctions_PlayerSanction = _tagEOS_Sanctions_PlayerSanction;
15866#[doc = " Input parameters for the EOS_Sanctions_QueryActivePlayerSanctions API."]
15867#[repr(C)]
15868#[derive(Debug, Copy, Clone)]
15869pub struct _tagEOS_Sanctions_QueryActivePlayerSanctionsOptions {
15870 #[doc = " API Version: Set this to EOS_SANCTIONS_QUERYACTIVEPLAYERSANCTIONS_API_LATEST."]
15871 pub ApiVersion: i32,
15872 #[doc = " Product User ID of the user whose active sanctions are to be retrieved."]
15873 pub TargetUserId: EOS_ProductUserId,
15874 #[doc = " The Product User ID of the local user who initiated this request. Dedicated servers should set this to null."]
15875 pub LocalUserId: EOS_ProductUserId,
15876}
15877impl Default for _tagEOS_Sanctions_QueryActivePlayerSanctionsOptions {
15878 fn default() -> Self {
15879 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15880 unsafe {
15881 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15882 s.assume_init()
15883 }
15884 }
15885}
15886#[doc = " Input parameters for the EOS_Sanctions_QueryActivePlayerSanctions API."]
15887pub type EOS_Sanctions_QueryActivePlayerSanctionsOptions =
15888 _tagEOS_Sanctions_QueryActivePlayerSanctionsOptions;
15889#[doc = " Output parameters for the EOS_Sanctions_QueryActivePlayerSanctions function."]
15890#[repr(C)]
15891#[derive(Debug, Copy, Clone)]
15892pub struct _tagEOS_Sanctions_QueryActivePlayerSanctionsCallbackInfo {
15893 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
15894 pub ResultCode: EOS_EResult,
15895 #[doc = " Context that was passed into EOS_Sanctions_QueryActivePlayerSanctions."]
15896 pub ClientData: *mut ::std::os::raw::c_void,
15897 #[doc = " Target Product User ID that was passed to EOS_Sanctions_QueryActivePlayerSanctions."]
15898 pub TargetUserId: EOS_ProductUserId,
15899 #[doc = " The Product User ID of the local user who initiated this request, if applicable."]
15900 pub LocalUserId: EOS_ProductUserId,
15901}
15902impl Default for _tagEOS_Sanctions_QueryActivePlayerSanctionsCallbackInfo {
15903 fn default() -> Self {
15904 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15905 unsafe {
15906 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15907 s.assume_init()
15908 }
15909 }
15910}
15911#[doc = " Output parameters for the EOS_Sanctions_QueryActivePlayerSanctions function."]
15912pub type EOS_Sanctions_QueryActivePlayerSanctionsCallbackInfo =
15913 _tagEOS_Sanctions_QueryActivePlayerSanctionsCallbackInfo;
15914#[doc = " Function prototype definition for callbacks passed to EOS_Sanctions_QueryActivePlayerSanctions\n @param Data A EOS_Sanctions_QueryActivePlayerSanctionsCallbackInfo containing the output information and result"]
15915pub type EOS_Sanctions_OnQueryActivePlayerSanctionsCallback = ::std::option::Option<
15916 unsafe extern "C" fn(Data: *const EOS_Sanctions_QueryActivePlayerSanctionsCallbackInfo),
15917>;
15918#[doc = " Input parameters for the EOS_Sanctions_GetPlayerSanctionCount function."]
15919#[repr(C)]
15920#[derive(Debug, Copy, Clone)]
15921pub struct _tagEOS_Sanctions_GetPlayerSanctionCountOptions {
15922 #[doc = " API Version: Set this to EOS_SANCTIONS_GETPLAYERSANCTIONCOUNT_API_LATEST."]
15923 pub ApiVersion: i32,
15924 #[doc = " Product User ID of the user whose sanction count should be returned"]
15925 pub TargetUserId: EOS_ProductUserId,
15926}
15927impl Default for _tagEOS_Sanctions_GetPlayerSanctionCountOptions {
15928 fn default() -> Self {
15929 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15930 unsafe {
15931 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15932 s.assume_init()
15933 }
15934 }
15935}
15936#[doc = " Input parameters for the EOS_Sanctions_GetPlayerSanctionCount function."]
15937pub type EOS_Sanctions_GetPlayerSanctionCountOptions =
15938 _tagEOS_Sanctions_GetPlayerSanctionCountOptions;
15939#[doc = " Input parameters for the EOS_Sanctions_CopyPlayerSanctionByIndex function"]
15940#[repr(C)]
15941#[derive(Debug, Copy, Clone)]
15942pub struct _tagEOS_Sanctions_CopyPlayerSanctionByIndexOptions {
15943 #[doc = " API Version: Set this to EOS_SANCTIONS_COPYPLAYERSANCTIONBYINDEX_API_LATEST."]
15944 pub ApiVersion: i32,
15945 #[doc = " Product User ID of the user whose active sanctions are to be copied"]
15946 pub TargetUserId: EOS_ProductUserId,
15947 #[doc = " Index of the sanction to retrieve from the cache"]
15948 pub SanctionIndex: u32,
15949}
15950impl Default for _tagEOS_Sanctions_CopyPlayerSanctionByIndexOptions {
15951 fn default() -> Self {
15952 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15953 unsafe {
15954 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15955 s.assume_init()
15956 }
15957 }
15958}
15959#[doc = " Input parameters for the EOS_Sanctions_CopyPlayerSanctionByIndex function"]
15960pub type EOS_Sanctions_CopyPlayerSanctionByIndexOptions =
15961 _tagEOS_Sanctions_CopyPlayerSanctionByIndexOptions;
15962unsafe extern "C" {
15963 #[doc = " Release the memory associated with a player sanction.\n This must be called on data retrieved from EOS_Sanctions_CopyPlayerSanctionByIndex.\n\n @param Sanction - The sanction data to release.\n\n @see EOS_Sanctions_PlayerSanction\n @see EOS_Sanctions_CopyPlayerSanctionByIndex"]
15964 pub fn EOS_Sanctions_PlayerSanction_Release(Sanction: *mut EOS_Sanctions_PlayerSanction);
15965}
15966#[doc = " Not used"]
15967pub const EOS_ESanctionAppealReason_EOS_SAR_Invalid: EOS_ESanctionAppealReason = 0;
15968#[doc = " Incorrectly placed sanction"]
15969pub const EOS_ESanctionAppealReason_EOS_SAR_IncorrectSanction: EOS_ESanctionAppealReason = 1;
15970#[doc = " The account was compromised, typically this means stolen"]
15971pub const EOS_ESanctionAppealReason_EOS_SAR_CompromisedAccount: EOS_ESanctionAppealReason = 2;
15972#[doc = " The punishment is considered too severe by the user"]
15973pub const EOS_ESanctionAppealReason_EOS_SAR_UnfairPunishment: EOS_ESanctionAppealReason = 3;
15974#[doc = " The user admits to rulebreaking, but still appeals for forgiveness"]
15975pub const EOS_ESanctionAppealReason_EOS_SAR_AppealForForgiveness: EOS_ESanctionAppealReason = 4;
15976pub const EOS_ESanctionAppealReason___EOS_ESanctionAppealReason_PAD_INT32__:
15977 EOS_ESanctionAppealReason = 2147483647;
15978#[doc = " Sanction appeal reason codes"]
15979pub type EOS_ESanctionAppealReason = ::std::os::raw::c_int;
15980#[doc = " Input parameters for the EOS_Sanctions_CreatePlayerSanctionAppeal function."]
15981#[repr(C)]
15982#[derive(Debug, Copy, Clone)]
15983pub struct _tagEOS_Sanctions_CreatePlayerSanctionAppealOptions {
15984 #[doc = " API Version: Set this to EOS_SANCTIONS_CREATEPLAYERSANCTIONAPPEAL_API_LATEST."]
15985 pub ApiVersion: i32,
15986 #[doc = " The Product User ID of the local user sending their own sanction appeal."]
15987 pub LocalUserId: EOS_ProductUserId,
15988 #[doc = " Reason code for the appeal."]
15989 pub Reason: EOS_ESanctionAppealReason,
15990 #[doc = " A unique identifier for the specific sanction"]
15991 pub ReferenceId: *const ::std::os::raw::c_char,
15992}
15993impl Default for _tagEOS_Sanctions_CreatePlayerSanctionAppealOptions {
15994 fn default() -> Self {
15995 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15996 unsafe {
15997 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15998 s.assume_init()
15999 }
16000 }
16001}
16002#[doc = " Input parameters for the EOS_Sanctions_CreatePlayerSanctionAppeal function."]
16003pub type EOS_Sanctions_CreatePlayerSanctionAppealOptions =
16004 _tagEOS_Sanctions_CreatePlayerSanctionAppealOptions;
16005#[doc = " Output parameters for the EOS_Sanctions_CreatePlayerSanctionAppealCallbackInfo function."]
16006#[repr(C)]
16007#[derive(Debug, Copy, Clone)]
16008pub struct _tagEOS_Sanctions_CreatePlayerSanctionAppealCallbackInfo {
16009 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
16010 pub ResultCode: EOS_EResult,
16011 #[doc = " Context that was passed into EOS_Sanctions_CreatePlayerSanctionAppeal."]
16012 pub ClientData: *mut ::std::os::raw::c_void,
16013 #[doc = " A unique identifier for the specific sanction that was appealed"]
16014 pub ReferenceId: *const ::std::os::raw::c_char,
16015}
16016impl Default for _tagEOS_Sanctions_CreatePlayerSanctionAppealCallbackInfo {
16017 fn default() -> Self {
16018 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16019 unsafe {
16020 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16021 s.assume_init()
16022 }
16023 }
16024}
16025#[doc = " Output parameters for the EOS_Sanctions_CreatePlayerSanctionAppealCallbackInfo function."]
16026pub type EOS_Sanctions_CreatePlayerSanctionAppealCallbackInfo =
16027 _tagEOS_Sanctions_CreatePlayerSanctionAppealCallbackInfo;
16028#[doc = " Function definition for callbacks passed to EOS_Sanctions_CreatePlayerSanctionAppeal.\n @param Data - EOS_Sanctions_CreatePlayerSanctionAppealCallbackInfo containing the output information and result."]
16029pub type EOS_Sanctions_CreatePlayerSanctionAppealCallback = ::std::option::Option<
16030 unsafe extern "C" fn(Data: *const EOS_Sanctions_CreatePlayerSanctionAppealCallbackInfo),
16031>;
16032#[repr(C)]
16033#[derive(Debug, Copy, Clone)]
16034pub struct EOS_KWSHandle {
16035 _unused: [u8; 0],
16036}
16037pub type EOS_HKWS = *mut EOS_KWSHandle;
16038#[doc = " Permission has been granted"]
16039pub const EOS_EKWSPermissionStatus_EOS_KPS_GRANTED: EOS_EKWSPermissionStatus = 0;
16040#[doc = " Permission has been rejected"]
16041pub const EOS_EKWSPermissionStatus_EOS_KPS_REJECTED: EOS_EKWSPermissionStatus = 1;
16042#[doc = " Permission is still pending approval"]
16043pub const EOS_EKWSPermissionStatus_EOS_KPS_PENDING: EOS_EKWSPermissionStatus = 2;
16044pub const EOS_EKWSPermissionStatus___EOS_EKWSPermissionStatus_PAD_INT32__:
16045 EOS_EKWSPermissionStatus = 2147483647;
16046#[doc = " An enumeration of the different permission statuses."]
16047pub type EOS_EKWSPermissionStatus = ::std::os::raw::c_int;
16048#[doc = " Contains information about a KWS permission status."]
16049#[repr(C)]
16050#[derive(Debug, Copy, Clone)]
16051pub struct _tagEOS_KWS_PermissionStatus {
16052 #[doc = " API Version: Set this to EOS_KWS_PERMISSIONSTATUS_API_LATEST."]
16053 pub ApiVersion: i32,
16054 #[doc = " Name of the permission"]
16055 pub Name: *const ::std::os::raw::c_char,
16056 #[doc = " Status of the permission"]
16057 pub Status: EOS_EKWSPermissionStatus,
16058}
16059impl Default for _tagEOS_KWS_PermissionStatus {
16060 fn default() -> Self {
16061 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16062 unsafe {
16063 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16064 s.assume_init()
16065 }
16066 }
16067}
16068#[doc = " Contains information about a KWS permission status."]
16069pub type EOS_KWS_PermissionStatus = _tagEOS_KWS_PermissionStatus;
16070unsafe extern "C" {
16071 #[doc = " Release the memory associated with a KWS permission status. This must be called on data retrieved from EOS_KWS_CopyPermissionByIndex.\n\n @param PermissionStatus - A pointer to the KWS permission status to release\n\n @see EOS_KWS_CopyPermissionByIndex"]
16072 pub fn EOS_KWS_PermissionStatus_Release(PermissionStatus: *mut EOS_KWS_PermissionStatus);
16073}
16074#[doc = " Input parameters for the EOS_KWS_QueryAgeGate function."]
16075#[repr(C)]
16076#[derive(Debug, Default, Copy, Clone)]
16077pub struct _tagEOS_KWS_QueryAgeGateOptions {
16078 #[doc = " API Version: Set this to EOS_KWS_QUERYAGEGATE_API_LATEST."]
16079 pub ApiVersion: i32,
16080}
16081#[doc = " Input parameters for the EOS_KWS_QueryAgeGate function."]
16082pub type EOS_KWS_QueryAgeGateOptions = _tagEOS_KWS_QueryAgeGateOptions;
16083#[doc = " Output parameters for the EOS_KWS_QueryAgeGate Function. These parameters are received through the callback provided to EOS_KWS_QueryAgeGate"]
16084#[repr(C)]
16085#[derive(Debug, Copy, Clone)]
16086pub struct _tagEOS_KWS_QueryAgeGateCallbackInfo {
16087 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
16088 pub ResultCode: EOS_EResult,
16089 #[doc = " Context that was passed into EOS_KWS_QueryAgeGate"]
16090 pub ClientData: *mut ::std::os::raw::c_void,
16091 #[doc = " Country code determined for this request based on the local client's ip address that the backend resolves"]
16092 pub CountryCode: *const ::std::os::raw::c_char,
16093 #[doc = " Age of consent in the given country"]
16094 pub AgeOfConsent: u32,
16095}
16096impl Default for _tagEOS_KWS_QueryAgeGateCallbackInfo {
16097 fn default() -> Self {
16098 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16099 unsafe {
16100 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16101 s.assume_init()
16102 }
16103 }
16104}
16105#[doc = " Output parameters for the EOS_KWS_QueryAgeGate Function. These parameters are received through the callback provided to EOS_KWS_QueryAgeGate"]
16106pub type EOS_KWS_QueryAgeGateCallbackInfo = _tagEOS_KWS_QueryAgeGateCallbackInfo;
16107#[doc = " Function prototype definition for callbacks passed to EOS_KWS_QueryAgeGate\n @param Data A EOS_KWS_QueryAgeGateCallbackInfo containing the output information and result"]
16108pub type EOS_KWS_OnQueryAgeGateCallback =
16109 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_KWS_QueryAgeGateCallbackInfo)>;
16110#[doc = " Input parameters for the EOS_KWS_CreateUser function."]
16111#[repr(C)]
16112#[derive(Debug, Copy, Clone)]
16113pub struct _tagEOS_KWS_CreateUserOptions {
16114 #[doc = " API Version: Set this to EOS_KWS_CREATEUSER_API_LATEST."]
16115 pub ApiVersion: i32,
16116 #[doc = " Local user creating a KWS entry"]
16117 pub LocalUserId: EOS_ProductUserId,
16118 #[doc = " Date of birth in ISO8601 form (YYYY-MM-DD)"]
16119 pub DateOfBirth: *const ::std::os::raw::c_char,
16120 #[doc = " Parent email"]
16121 pub ParentEmail: *const ::std::os::raw::c_char,
16122}
16123impl Default for _tagEOS_KWS_CreateUserOptions {
16124 fn default() -> Self {
16125 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16126 unsafe {
16127 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16128 s.assume_init()
16129 }
16130 }
16131}
16132#[doc = " Input parameters for the EOS_KWS_CreateUser function."]
16133pub type EOS_KWS_CreateUserOptions = _tagEOS_KWS_CreateUserOptions;
16134#[doc = " Output parameters for the EOS_KWS_CreateUserOptions Function. These parameters are received through the callback provided to EOS_KWS_CreateUser"]
16135#[repr(C)]
16136#[derive(Debug, Copy, Clone)]
16137pub struct _tagEOS_KWS_CreateUserCallbackInfo {
16138 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
16139 pub ResultCode: EOS_EResult,
16140 #[doc = " Context that was passed into EOS_KWS_CreateUser"]
16141 pub ClientData: *mut ::std::os::raw::c_void,
16142 #[doc = " Local user that created a KWS entry"]
16143 pub LocalUserId: EOS_ProductUserId,
16144 #[doc = " KWS UserId created"]
16145 pub KWSUserId: *const ::std::os::raw::c_char,
16146 #[doc = " Is this user a minor"]
16147 pub bIsMinor: EOS_Bool,
16148}
16149impl Default for _tagEOS_KWS_CreateUserCallbackInfo {
16150 fn default() -> Self {
16151 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16152 unsafe {
16153 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16154 s.assume_init()
16155 }
16156 }
16157}
16158#[doc = " Output parameters for the EOS_KWS_CreateUserOptions Function. These parameters are received through the callback provided to EOS_KWS_CreateUser"]
16159pub type EOS_KWS_CreateUserCallbackInfo = _tagEOS_KWS_CreateUserCallbackInfo;
16160#[doc = " Function prototype definition for callbacks passed to EOS_KWS_CreateUser\n @param Data A EOS_KWS_CreateUserCallbackInfo containing the output information and result"]
16161pub type EOS_KWS_OnCreateUserCallback =
16162 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_KWS_CreateUserCallbackInfo)>;
16163#[doc = " Input parameters for the EOS_KWS_QueryPermissions function."]
16164#[repr(C)]
16165#[derive(Debug, Copy, Clone)]
16166pub struct _tagEOS_KWS_QueryPermissionsOptions {
16167 #[doc = " API Version: Set this to EOS_KWS_QUERYPERMISSIONS_API_LATEST."]
16168 pub ApiVersion: i32,
16169 #[doc = " Local user querying their permissions"]
16170 pub LocalUserId: EOS_ProductUserId,
16171}
16172impl Default for _tagEOS_KWS_QueryPermissionsOptions {
16173 fn default() -> Self {
16174 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16175 unsafe {
16176 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16177 s.assume_init()
16178 }
16179 }
16180}
16181#[doc = " Input parameters for the EOS_KWS_QueryPermissions function."]
16182pub type EOS_KWS_QueryPermissionsOptions = _tagEOS_KWS_QueryPermissionsOptions;
16183#[doc = " Output parameters for the EOS_KWS_QueryPermissionsOptions Function. These parameters are received through the callback provided to EOS_KWS_QueryPermissions"]
16184#[repr(C)]
16185#[derive(Debug, Copy, Clone)]
16186pub struct _tagEOS_KWS_QueryPermissionsCallbackInfo {
16187 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
16188 pub ResultCode: EOS_EResult,
16189 #[doc = " Context that was passed into EOS_KWS_QueryPermissions"]
16190 pub ClientData: *mut ::std::os::raw::c_void,
16191 #[doc = " Local user querying their permissions"]
16192 pub LocalUserId: EOS_ProductUserId,
16193 #[doc = " KWS UserId created"]
16194 pub KWSUserId: *const ::std::os::raw::c_char,
16195 #[doc = " Date of birth in ISO8601 form (YYYY-MM-DD)"]
16196 pub DateOfBirth: *const ::std::os::raw::c_char,
16197 #[doc = " Is this user a minor"]
16198 pub bIsMinor: EOS_Bool,
16199 #[doc = " Parent email. This value may be set to an empty string if the originally registered email recipient declined to be the right person to give consent."]
16200 pub ParentEmail: *const ::std::os::raw::c_char,
16201}
16202impl Default for _tagEOS_KWS_QueryPermissionsCallbackInfo {
16203 fn default() -> Self {
16204 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16205 unsafe {
16206 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16207 s.assume_init()
16208 }
16209 }
16210}
16211#[doc = " Output parameters for the EOS_KWS_QueryPermissionsOptions Function. These parameters are received through the callback provided to EOS_KWS_QueryPermissions"]
16212pub type EOS_KWS_QueryPermissionsCallbackInfo = _tagEOS_KWS_QueryPermissionsCallbackInfo;
16213#[doc = " Function prototype definition for callbacks passed to EOS_KWS_QueryPermissions\n @param Data A EOS_KWS_QueryPermissionsCallbackInfo containing the output information and result"]
16214pub type EOS_KWS_OnQueryPermissionsCallback =
16215 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_KWS_QueryPermissionsCallbackInfo)>;
16216#[doc = " Input parameters for the EOS_KWS_UpdateParentEmail function."]
16217#[repr(C)]
16218#[derive(Debug, Copy, Clone)]
16219pub struct _tagEOS_KWS_UpdateParentEmailOptions {
16220 #[doc = " API Version: Set this to EOS_KWS_UPDATEPARENTEMAIL_API_LATEST."]
16221 pub ApiVersion: i32,
16222 #[doc = " Local user updating parental information"]
16223 pub LocalUserId: EOS_ProductUserId,
16224 #[doc = " New parent email"]
16225 pub ParentEmail: *const ::std::os::raw::c_char,
16226}
16227impl Default for _tagEOS_KWS_UpdateParentEmailOptions {
16228 fn default() -> Self {
16229 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16230 unsafe {
16231 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16232 s.assume_init()
16233 }
16234 }
16235}
16236#[doc = " Input parameters for the EOS_KWS_UpdateParentEmail function."]
16237pub type EOS_KWS_UpdateParentEmailOptions = _tagEOS_KWS_UpdateParentEmailOptions;
16238#[doc = " Output parameters for the EOS_KWS_UpdateParentEmailOptions Function. These parameters are received through the callback provided to EOS_KWS_UpdateParentEmail"]
16239#[repr(C)]
16240#[derive(Debug, Copy, Clone)]
16241pub struct _tagEOS_KWS_UpdateParentEmailCallbackInfo {
16242 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
16243 pub ResultCode: EOS_EResult,
16244 #[doc = " Context that was passed into EOS_KWS_UpdateParentEmail"]
16245 pub ClientData: *mut ::std::os::raw::c_void,
16246 #[doc = " Local user updating their parental email"]
16247 pub LocalUserId: EOS_ProductUserId,
16248}
16249impl Default for _tagEOS_KWS_UpdateParentEmailCallbackInfo {
16250 fn default() -> Self {
16251 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16252 unsafe {
16253 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16254 s.assume_init()
16255 }
16256 }
16257}
16258#[doc = " Output parameters for the EOS_KWS_UpdateParentEmailOptions Function. These parameters are received through the callback provided to EOS_KWS_UpdateParentEmail"]
16259pub type EOS_KWS_UpdateParentEmailCallbackInfo = _tagEOS_KWS_UpdateParentEmailCallbackInfo;
16260#[doc = " Function prototype definition for callbacks passed to EOS_KWS_UpdateParentEmail\n @param Data A EOS_KWS_UpdateParentEmailCallbackInfo containing the output information and result"]
16261pub type EOS_KWS_OnUpdateParentEmailCallback =
16262 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_KWS_UpdateParentEmailCallbackInfo)>;
16263#[doc = " Input parameters for the EOS_KWS_RequestPermissions function."]
16264#[repr(C)]
16265#[derive(Debug, Copy, Clone)]
16266pub struct _tagEOS_KWS_RequestPermissionsOptions {
16267 #[doc = " API Version: Set this to EOS_KWS_REQUESTPERMISSIONS_API_LATEST."]
16268 pub ApiVersion: i32,
16269 #[doc = " Local user requesting new permissions"]
16270 pub LocalUserId: EOS_ProductUserId,
16271 #[doc = " The number of permissions to request, may not exceed EOS_KWS_MAX_PERMISSIONS. Only new permissions need be included."]
16272 pub PermissionKeyCount: u32,
16273 #[doc = " Names of the permissions to request (Setup with KWS)"]
16274 pub PermissionKeys: *mut *const ::std::os::raw::c_char,
16275}
16276impl Default for _tagEOS_KWS_RequestPermissionsOptions {
16277 fn default() -> Self {
16278 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16279 unsafe {
16280 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16281 s.assume_init()
16282 }
16283 }
16284}
16285#[doc = " Input parameters for the EOS_KWS_RequestPermissions function."]
16286pub type EOS_KWS_RequestPermissionsOptions = _tagEOS_KWS_RequestPermissionsOptions;
16287#[doc = " Output parameters for the EOS_KWS_RequestPermissionsOptions Function. These parameters are received through the callback provided to EOS_KWS_RequestPermissions"]
16288#[repr(C)]
16289#[derive(Debug, Copy, Clone)]
16290pub struct _tagEOS_KWS_RequestPermissionsCallbackInfo {
16291 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
16292 pub ResultCode: EOS_EResult,
16293 #[doc = " Context that was passed into EOS_KWS_RequestPermissions"]
16294 pub ClientData: *mut ::std::os::raw::c_void,
16295 #[doc = " Local user requesting new permissions"]
16296 pub LocalUserId: EOS_ProductUserId,
16297}
16298impl Default for _tagEOS_KWS_RequestPermissionsCallbackInfo {
16299 fn default() -> Self {
16300 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16301 unsafe {
16302 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16303 s.assume_init()
16304 }
16305 }
16306}
16307#[doc = " Output parameters for the EOS_KWS_RequestPermissionsOptions Function. These parameters are received through the callback provided to EOS_KWS_RequestPermissions"]
16308pub type EOS_KWS_RequestPermissionsCallbackInfo = _tagEOS_KWS_RequestPermissionsCallbackInfo;
16309#[doc = " Function prototype definition for callbacks passed to EOS_KWS_RequestPermissions\n @param Data A EOS_KWS_RequestPermissionsCallbackInfo containing the output information and result"]
16310pub type EOS_KWS_OnRequestPermissionsCallback = ::std::option::Option<
16311 unsafe extern "C" fn(Data: *const EOS_KWS_RequestPermissionsCallbackInfo),
16312>;
16313#[doc = " Input parameters for the EOS_KWS_GetPermissionsCount function."]
16314#[repr(C)]
16315#[derive(Debug, Copy, Clone)]
16316pub struct _tagEOS_KWS_GetPermissionsCountOptions {
16317 #[doc = " API Version: Set this to EOS_KWS_GETPERMISSIONSCOUNT_API_LATEST."]
16318 pub ApiVersion: i32,
16319 #[doc = " The Product User ID of the local user whose permissions are being accessed"]
16320 pub LocalUserId: EOS_ProductUserId,
16321}
16322impl Default for _tagEOS_KWS_GetPermissionsCountOptions {
16323 fn default() -> Self {
16324 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16325 unsafe {
16326 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16327 s.assume_init()
16328 }
16329 }
16330}
16331#[doc = " Input parameters for the EOS_KWS_GetPermissionsCount function."]
16332pub type EOS_KWS_GetPermissionsCountOptions = _tagEOS_KWS_GetPermissionsCountOptions;
16333#[doc = " Input parameters for the EOS_KWS_CopyPermissionByIndex function."]
16334#[repr(C)]
16335#[derive(Debug, Copy, Clone)]
16336pub struct _tagEOS_KWS_CopyPermissionByIndexOptions {
16337 #[doc = " API Version: Set this to EOS_KWS_COPYPERMISSIONBYINDEX_API_LATEST."]
16338 pub ApiVersion: i32,
16339 #[doc = " The Product User ID of the local user whose permissions are being accessed"]
16340 pub LocalUserId: EOS_ProductUserId,
16341 #[doc = " The index of the permission to get."]
16342 pub Index: u32,
16343}
16344impl Default for _tagEOS_KWS_CopyPermissionByIndexOptions {
16345 fn default() -> Self {
16346 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16347 unsafe {
16348 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16349 s.assume_init()
16350 }
16351 }
16352}
16353#[doc = " Input parameters for the EOS_KWS_CopyPermissionByIndex function."]
16354pub type EOS_KWS_CopyPermissionByIndexOptions = _tagEOS_KWS_CopyPermissionByIndexOptions;
16355#[doc = " Input parameters for the EOS_KWS_GetPermissionByKey function."]
16356#[repr(C)]
16357#[derive(Debug, Copy, Clone)]
16358pub struct _tagEOS_KWS_GetPermissionByKeyOptions {
16359 #[doc = " API Version: Set this to EOS_KWS_GETPERMISSIONBYKEY_API_LATEST."]
16360 pub ApiVersion: i32,
16361 #[doc = " The Product User ID of the local user getting permissions"]
16362 pub LocalUserId: EOS_ProductUserId,
16363 #[doc = " Permission name to query"]
16364 pub Key: *const ::std::os::raw::c_char,
16365}
16366impl Default for _tagEOS_KWS_GetPermissionByKeyOptions {
16367 fn default() -> Self {
16368 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16369 unsafe {
16370 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16371 s.assume_init()
16372 }
16373 }
16374}
16375#[doc = " Input parameters for the EOS_KWS_GetPermissionByKey function."]
16376pub type EOS_KWS_GetPermissionByKeyOptions = _tagEOS_KWS_GetPermissionByKeyOptions;
16377#[doc = " Input parameters for the EOS_KWS_AddNotifyPermissionsUpdateReceived function."]
16378#[repr(C)]
16379#[derive(Debug, Default, Copy, Clone)]
16380pub struct _tagEOS_KWS_AddNotifyPermissionsUpdateReceivedOptions {
16381 #[doc = " API Version: Set this to EOS_KWS_ADDNOTIFYPERMISSIONSUPDATERECEIVED_API_LATEST."]
16382 pub ApiVersion: i32,
16383}
16384#[doc = " Input parameters for the EOS_KWS_AddNotifyPermissionsUpdateReceived function."]
16385pub type EOS_KWS_AddNotifyPermissionsUpdateReceivedOptions =
16386 _tagEOS_KWS_AddNotifyPermissionsUpdateReceivedOptions;
16387#[doc = " Output parameters for the EOS_KWS_OnPermissionsUpdateReceivedCallback Function."]
16388#[repr(C)]
16389#[derive(Debug, Copy, Clone)]
16390pub struct _tagEOS_KWS_PermissionsUpdateReceivedCallbackInfo {
16391 #[doc = " Context that was passed into EOS_KWS_AddNotifyPermissionsUpdateReceived"]
16392 pub ClientData: *mut ::std::os::raw::c_void,
16393 #[doc = " Recipient Local user id"]
16394 pub LocalUserId: EOS_ProductUserId,
16395 #[doc = " Recipient's associated KWS UserId"]
16396 pub KWSUserId: *const ::std::os::raw::c_char,
16397 #[doc = " Date of birth in ISO8601 form (YYYY-MM-DD)"]
16398 pub DateOfBirth: *const ::std::os::raw::c_char,
16399 #[doc = " Is this user a minor"]
16400 pub bIsMinor: EOS_Bool,
16401 #[doc = " Parent email. This value may be set to an empty string if the originally registered email recipient declined to be the right person to give consent."]
16402 pub ParentEmail: *const ::std::os::raw::c_char,
16403}
16404impl Default for _tagEOS_KWS_PermissionsUpdateReceivedCallbackInfo {
16405 fn default() -> Self {
16406 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16407 unsafe {
16408 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16409 s.assume_init()
16410 }
16411 }
16412}
16413#[doc = " Output parameters for the EOS_KWS_OnPermissionsUpdateReceivedCallback Function."]
16414pub type EOS_KWS_PermissionsUpdateReceivedCallbackInfo =
16415 _tagEOS_KWS_PermissionsUpdateReceivedCallbackInfo;
16416#[doc = " Function prototype definition for notifications that comes from EOS_KWS_AddNotifyPermissionsUpdateReceived\n\n @param Data A EOS_KWS_PermissionsUpdateReceivedCallbackInfo containing the output information and result"]
16417pub type EOS_KWS_OnPermissionsUpdateReceivedCallback = ::std::option::Option<
16418 unsafe extern "C" fn(Data: *const EOS_KWS_PermissionsUpdateReceivedCallbackInfo),
16419>;
16420#[repr(C)]
16421#[derive(Debug, Copy, Clone)]
16422pub struct EOS_RTCHandle {
16423 _unused: [u8; 0],
16424}
16425pub type EOS_HRTC = *mut EOS_RTCHandle;
16426#[doc = " Participant joined the room"]
16427pub const EOS_ERTCParticipantStatus_EOS_RTCPS_Joined: EOS_ERTCParticipantStatus = 0;
16428#[doc = " Participant left the room"]
16429pub const EOS_ERTCParticipantStatus_EOS_RTCPS_Left: EOS_ERTCParticipantStatus = 1;
16430pub const EOS_ERTCParticipantStatus___EOS_ERTCParticipantStatus_PAD_INT32__:
16431 EOS_ERTCParticipantStatus = 2147483647;
16432#[doc = " Participant RTC's status change"]
16433pub type EOS_ERTCParticipantStatus = ::std::os::raw::c_int;
16434#[doc = " This struct is used to call EOS_RTC_JoinRoom."]
16435#[repr(C)]
16436#[derive(Debug, Copy, Clone)]
16437pub struct _tagEOS_RTC_JoinRoomOptions {
16438 #[doc = " API Version: Set this to EOS_RTC_JOINROOM_API_LATEST."]
16439 pub ApiVersion: i32,
16440 #[doc = " The product user id of the user trying to request this operation."]
16441 pub LocalUserId: EOS_ProductUserId,
16442 #[doc = " The room the user would like to join."]
16443 pub RoomName: *const ::std::os::raw::c_char,
16444 #[doc = " The room the user would like to join."]
16445 pub ClientBaseUrl: *const ::std::os::raw::c_char,
16446 #[doc = " Authorization credential token to join the room."]
16447 pub ParticipantToken: *const ::std::os::raw::c_char,
16448 #[doc = " The participant id used to join the room. If set to NULL the LocalUserId will be used instead."]
16449 pub ParticipantId: EOS_ProductUserId,
16450 #[doc = " Join room flags, e.g. EOS_RTC_JOINROOMFLAGS_ENABLE_ECHO. This is a bitwise-or union of the defined flags."]
16451 pub Flags: u32,
16452 #[doc = " Enable or disable Manual Audio Input. If manual audio input is enabled audio recording is not started and the audio\n buffers must be passed manually using EOS_RTCAudio_SendAudio."]
16453 pub bManualAudioInputEnabled: EOS_Bool,
16454 #[doc = " Enable or disable Manual Audio Output. If manual audio output is enabled audio rendering is not started and the audio\n buffers must be received with EOS_RTCAudio_AddNotifyAudioBeforeRender and rendered manually."]
16455 pub bManualAudioOutputEnabled: EOS_Bool,
16456}
16457impl Default for _tagEOS_RTC_JoinRoomOptions {
16458 fn default() -> Self {
16459 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16460 unsafe {
16461 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16462 s.assume_init()
16463 }
16464 }
16465}
16466#[doc = " This struct is used to call EOS_RTC_JoinRoom."]
16467pub type EOS_RTC_JoinRoomOptions = _tagEOS_RTC_JoinRoomOptions;
16468#[doc = " This struct is used to get information about a specific option."]
16469#[repr(C)]
16470#[derive(Debug, Copy, Clone)]
16471pub struct _tagEOS_RTC_Option {
16472 #[doc = " API Version: Set this to EOS_RTC_OPTION_API_LATEST."]
16473 pub ApiVersion: i32,
16474 #[doc = " The unique key of the option. The max size of the string is EOS_RTC_OPTION_KEY_MAXCHARCOUNT."]
16475 pub Key: *const ::std::os::raw::c_char,
16476 #[doc = " The value of the option. The max size of the string is EOS_RTC_OPTION_VALUE_MAXCHARCOUNT."]
16477 pub Value: *const ::std::os::raw::c_char,
16478}
16479impl Default for _tagEOS_RTC_Option {
16480 fn default() -> Self {
16481 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16482 unsafe {
16483 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16484 s.assume_init()
16485 }
16486 }
16487}
16488#[doc = " This struct is used to get information about a specific option."]
16489pub type EOS_RTC_Option = _tagEOS_RTC_Option;
16490#[doc = " This struct is passed in with a call to EOS_RTC_OnJoinRoomCallback."]
16491#[repr(C)]
16492#[derive(Debug, Copy, Clone)]
16493pub struct _tagEOS_RTC_JoinRoomCallbackInfo {
16494 #[doc = " This returns:\n EOS_Success if the channel was successfully joined.\n EOS_NoConnection: unable to connect to RTC servers (retryable).\n EOS_InvalidAuth: if the token is invalid (not retryable).\n EOS_RTC_TooManyParticipants: if the room cannot accept more participants (not retryable).\n EOS_AccessDenied: if the room name belongs to the Lobby voice system (not retryable).\n EOS_UnexpectedError otherwise (retryable)."]
16495 pub ResultCode: EOS_EResult,
16496 #[doc = " Client-specified data passed into EOS_RTC_JoinRoom."]
16497 pub ClientData: *mut ::std::os::raw::c_void,
16498 #[doc = " The Product User ID of the user who initiated this request."]
16499 pub LocalUserId: EOS_ProductUserId,
16500 #[doc = " The room the user was trying to join."]
16501 pub RoomName: *const ::std::os::raw::c_char,
16502 #[doc = " The room option items count."]
16503 pub RoomOptionsCount: u32,
16504 #[doc = " The room option items."]
16505 pub RoomOptions: *const EOS_RTC_Option,
16506}
16507impl Default for _tagEOS_RTC_JoinRoomCallbackInfo {
16508 fn default() -> Self {
16509 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16510 unsafe {
16511 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16512 s.assume_init()
16513 }
16514 }
16515}
16516#[doc = " This struct is passed in with a call to EOS_RTC_OnJoinRoomCallback."]
16517pub type EOS_RTC_JoinRoomCallbackInfo = _tagEOS_RTC_JoinRoomCallbackInfo;
16518#[doc = " Callback for completion of room join request."]
16519pub type EOS_RTC_OnJoinRoomCallback =
16520 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_RTC_JoinRoomCallbackInfo)>;
16521#[doc = " This struct is used to call EOS_RTC_LeaveRoom."]
16522#[repr(C)]
16523#[derive(Debug, Copy, Clone)]
16524pub struct _tagEOS_RTC_LeaveRoomOptions {
16525 #[doc = " API Version: Set this to EOS_RTC_LEAVEROOM_API_LATEST."]
16526 pub ApiVersion: i32,
16527 #[doc = " Product User ID of the user requesting to leave the room"]
16528 pub LocalUserId: EOS_ProductUserId,
16529 #[doc = " The room to leave."]
16530 pub RoomName: *const ::std::os::raw::c_char,
16531}
16532impl Default for _tagEOS_RTC_LeaveRoomOptions {
16533 fn default() -> Self {
16534 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16535 unsafe {
16536 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16537 s.assume_init()
16538 }
16539 }
16540}
16541#[doc = " This struct is used to call EOS_RTC_LeaveRoom."]
16542pub type EOS_RTC_LeaveRoomOptions = _tagEOS_RTC_LeaveRoomOptions;
16543#[doc = " This struct is passed in with a call to EOS_RTC_OnLeaveRoomCallback."]
16544#[repr(C)]
16545#[derive(Debug, Copy, Clone)]
16546pub struct _tagEOS_RTC_LeaveRoomCallbackInfo {
16547 #[doc = " This returns:\n EOS_Success if the channel was successfully left.\n EOS_AccessDenied if the room name belongs to the Lobby voice system.\n EOS_UnexpectedError otherwise."]
16548 pub ResultCode: EOS_EResult,
16549 #[doc = " Client-specified data passed into EOS_RTC_LeaveRoomOptions."]
16550 pub ClientData: *mut ::std::os::raw::c_void,
16551 #[doc = " The Product User ID of the user who initiated this request."]
16552 pub LocalUserId: EOS_ProductUserId,
16553 #[doc = " The room the user was trying to leave."]
16554 pub RoomName: *const ::std::os::raw::c_char,
16555}
16556impl Default for _tagEOS_RTC_LeaveRoomCallbackInfo {
16557 fn default() -> Self {
16558 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16559 unsafe {
16560 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16561 s.assume_init()
16562 }
16563 }
16564}
16565#[doc = " This struct is passed in with a call to EOS_RTC_OnLeaveRoomCallback."]
16566pub type EOS_RTC_LeaveRoomCallbackInfo = _tagEOS_RTC_LeaveRoomCallbackInfo;
16567#[doc = " Callback for completion of room leave request."]
16568pub type EOS_RTC_OnLeaveRoomCallback =
16569 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_RTC_LeaveRoomCallbackInfo)>;
16570#[doc = " This struct is passed in with a call to EOS_RTC_BlockParticipant."]
16571#[repr(C)]
16572#[derive(Debug, Copy, Clone)]
16573pub struct _tagEOS_RTC_BlockParticipantOptions {
16574 #[doc = " API Version: Set this to EOS_RTC_BLOCKPARTICIPANT_API_LATEST."]
16575 pub ApiVersion: i32,
16576 #[doc = " Product User ID of the user trying to request this operation."]
16577 pub LocalUserId: EOS_ProductUserId,
16578 #[doc = " The room the users should be blocked on."]
16579 pub RoomName: *const ::std::os::raw::c_char,
16580 #[doc = " Product User ID of the participant to block"]
16581 pub ParticipantId: EOS_ProductUserId,
16582 #[doc = " Block or unblock the participant"]
16583 pub bBlocked: EOS_Bool,
16584}
16585impl Default for _tagEOS_RTC_BlockParticipantOptions {
16586 fn default() -> Self {
16587 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16588 unsafe {
16589 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16590 s.assume_init()
16591 }
16592 }
16593}
16594#[doc = " This struct is passed in with a call to EOS_RTC_BlockParticipant."]
16595pub type EOS_RTC_BlockParticipantOptions = _tagEOS_RTC_BlockParticipantOptions;
16596#[doc = " This struct is passed in with a call to EOS_RTC_OnBlockParticipantCallback."]
16597#[repr(C)]
16598#[derive(Debug, Copy, Clone)]
16599pub struct _tagEOS_RTC_BlockParticipantCallbackInfo {
16600 #[doc = " This returns:\n EOS_Success if the channel was successfully blocked.\n EOS_UnexpectedError otherwise."]
16601 pub ResultCode: EOS_EResult,
16602 #[doc = " Client-specified data passed into EOS_RTC_BlockParticipant."]
16603 pub ClientData: *mut ::std::os::raw::c_void,
16604 #[doc = " The Product User ID of the user who initiated this request."]
16605 pub LocalUserId: EOS_ProductUserId,
16606 #[doc = " The room the users should be blocked on."]
16607 pub RoomName: *const ::std::os::raw::c_char,
16608 #[doc = " The Product User ID of the participant being blocked"]
16609 pub ParticipantId: EOS_ProductUserId,
16610 #[doc = " The block state that should have been set"]
16611 pub bBlocked: EOS_Bool,
16612}
16613impl Default for _tagEOS_RTC_BlockParticipantCallbackInfo {
16614 fn default() -> Self {
16615 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16616 unsafe {
16617 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16618 s.assume_init()
16619 }
16620 }
16621}
16622#[doc = " This struct is passed in with a call to EOS_RTC_OnBlockParticipantCallback."]
16623pub type EOS_RTC_BlockParticipantCallbackInfo = _tagEOS_RTC_BlockParticipantCallbackInfo;
16624#[doc = " Callback for completion of block participants request."]
16625pub type EOS_RTC_OnBlockParticipantCallback =
16626 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_RTC_BlockParticipantCallbackInfo)>;
16627#[doc = " This struct is used to call EOS_RTC_AddNotifyDisconnected."]
16628#[repr(C)]
16629#[derive(Debug, Copy, Clone)]
16630pub struct _tagEOS_RTC_AddNotifyDisconnectedOptions {
16631 #[doc = " API Version: Set this to EOS_RTC_ADDNOTIFYDISCONNECTED_API_LATEST."]
16632 pub ApiVersion: i32,
16633 #[doc = " The Product User ID of the user trying to request this operation."]
16634 pub LocalUserId: EOS_ProductUserId,
16635 #[doc = " The room this event is registered on."]
16636 pub RoomName: *const ::std::os::raw::c_char,
16637}
16638impl Default for _tagEOS_RTC_AddNotifyDisconnectedOptions {
16639 fn default() -> Self {
16640 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16641 unsafe {
16642 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16643 s.assume_init()
16644 }
16645 }
16646}
16647#[doc = " This struct is used to call EOS_RTC_AddNotifyDisconnected."]
16648pub type EOS_RTC_AddNotifyDisconnectedOptions = _tagEOS_RTC_AddNotifyDisconnectedOptions;
16649#[doc = " This struct is passed in with a call to EOS_RTC_AddNotifyDisconnected registered event."]
16650#[repr(C)]
16651#[derive(Debug, Copy, Clone)]
16652pub struct _tagEOS_RTC_DisconnectedCallbackInfo {
16653 #[doc = " This returns:\n EOS_Success The room was left cleanly.\n EOS_NoConnection: There was a network issue connecting to the server (retryable).\n EOS_RTC_UserKicked: The user has been kicked by the server (retryable).\n EOS_ServiceFailure: A known error occurred during interaction with the server (retryable).\n EOS_UnexpectedError Unexpected error (retryable)."]
16654 pub ResultCode: EOS_EResult,
16655 #[doc = " Client-specified data passed into EOS_RTC_AddNotifyDisconnected."]
16656 pub ClientData: *mut ::std::os::raw::c_void,
16657 #[doc = " The Product User ID of the user who initiated this request."]
16658 pub LocalUserId: EOS_ProductUserId,
16659 #[doc = " The room associated with this event."]
16660 pub RoomName: *const ::std::os::raw::c_char,
16661}
16662impl Default for _tagEOS_RTC_DisconnectedCallbackInfo {
16663 fn default() -> Self {
16664 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16665 unsafe {
16666 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16667 s.assume_init()
16668 }
16669 }
16670}
16671#[doc = " This struct is passed in with a call to EOS_RTC_AddNotifyDisconnected registered event."]
16672pub type EOS_RTC_DisconnectedCallbackInfo = _tagEOS_RTC_DisconnectedCallbackInfo;
16673#[doc = " Function prototype definition for notifications that come from EOS_RTC_AddNotifyDisconnected\n\n @param Data A EOS_RTC_DisconnectedCallbackInfo containing the output information and result"]
16674pub type EOS_RTC_OnDisconnectedCallback =
16675 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_RTC_DisconnectedCallbackInfo)>;
16676#[doc = " This struct is used to get information about a specific participant metadata item."]
16677#[repr(C)]
16678#[derive(Debug, Copy, Clone)]
16679pub struct _tagEOS_RTC_ParticipantMetadata {
16680 #[doc = " API Version: Set this to EOS_RTC_PARTICIPANTMETADATA_API_LATEST."]
16681 pub ApiVersion: i32,
16682 #[doc = " The unique key of this metadata item. The max size of the string is EOS_RTC_PARTICIPANTMETADATA_KEY_MAXCHARCOUNT."]
16683 pub Key: *const ::std::os::raw::c_char,
16684 #[doc = " The value of this metadata item. The max size of the string is EOS_RTC_PARTICIPANTMETADATA_VALUE_MAXCHARCOUNT."]
16685 pub Value: *const ::std::os::raw::c_char,
16686}
16687impl Default for _tagEOS_RTC_ParticipantMetadata {
16688 fn default() -> Self {
16689 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16690 unsafe {
16691 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16692 s.assume_init()
16693 }
16694 }
16695}
16696#[doc = " This struct is used to get information about a specific participant metadata item."]
16697pub type EOS_RTC_ParticipantMetadata = _tagEOS_RTC_ParticipantMetadata;
16698#[doc = " This struct is used to call EOS_RTC_AddNotifyParticipantStatusChanged."]
16699#[repr(C)]
16700#[derive(Debug, Copy, Clone)]
16701pub struct _tagEOS_RTC_AddNotifyParticipantStatusChangedOptions {
16702 #[doc = " API Version: Set this to EOS_RTC_ADDNOTIFYPARTICIPANTSTATUSCHANGED_API_LATEST."]
16703 pub ApiVersion: i32,
16704 #[doc = " The Product User ID of the user trying to request this operation."]
16705 pub LocalUserId: EOS_ProductUserId,
16706 #[doc = " The room this event is registered on."]
16707 pub RoomName: *const ::std::os::raw::c_char,
16708}
16709impl Default for _tagEOS_RTC_AddNotifyParticipantStatusChangedOptions {
16710 fn default() -> Self {
16711 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16712 unsafe {
16713 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16714 s.assume_init()
16715 }
16716 }
16717}
16718#[doc = " This struct is used to call EOS_RTC_AddNotifyParticipantStatusChanged."]
16719pub type EOS_RTC_AddNotifyParticipantStatusChangedOptions =
16720 _tagEOS_RTC_AddNotifyParticipantStatusChangedOptions;
16721#[doc = " This struct is passed in with a call to EOS_RTC_AddNotifyParticipantStatusChanged registered event."]
16722#[repr(C)]
16723#[derive(Debug, Copy, Clone)]
16724pub struct _tagEOS_RTC_ParticipantStatusChangedCallbackInfo {
16725 #[doc = " Client-specified data passed into EOS_RTC_AddNotifyParticipantStatusChanged."]
16726 pub ClientData: *mut ::std::os::raw::c_void,
16727 #[doc = " The Product User ID of the user who initiated this request."]
16728 pub LocalUserId: EOS_ProductUserId,
16729 #[doc = " The room associated with this event."]
16730 pub RoomName: *const ::std::os::raw::c_char,
16731 #[doc = " The participant whose status changed."]
16732 pub ParticipantId: EOS_ProductUserId,
16733 #[doc = " What status change occurred"]
16734 pub ParticipantStatus: EOS_ERTCParticipantStatus,
16735 #[doc = " The participant metadata items count.\n This is only set for the first notification where ParticipantStatus is EOS_RTCPS_Joined. Subsequent notifications\n such as when bParticipantInBlocklist changes will not contain any metadata."]
16736 pub ParticipantMetadataCount: u32,
16737 #[doc = " The participant metadata items.\n This is only set for the first notification where ParticipantStatus is EOS_RTCPS_Joined. Subsequent notifications\n such as when bParticipantInBlocklist changes will not contain any metadata."]
16738 pub ParticipantMetadata: *const EOS_RTC_ParticipantMetadata,
16739 #[doc = " The participant's block list status, if ParticipantStatus is EOS_RTCPS_Joined.\n This is set to true if the participant is in any of the local user's applicable block lists,\n such Epic block list or any of the current platform's block lists.\n It can be used to detect when an internal automatic RTC block is applied because of trust and safety restrictions."]
16740 pub bParticipantInBlocklist: EOS_Bool,
16741}
16742impl Default for _tagEOS_RTC_ParticipantStatusChangedCallbackInfo {
16743 fn default() -> Self {
16744 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16745 unsafe {
16746 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16747 s.assume_init()
16748 }
16749 }
16750}
16751#[doc = " This struct is passed in with a call to EOS_RTC_AddNotifyParticipantStatusChanged registered event."]
16752pub type EOS_RTC_ParticipantStatusChangedCallbackInfo =
16753 _tagEOS_RTC_ParticipantStatusChangedCallbackInfo;
16754#[doc = " Function prototype definition for notifications that come from EOS_RTC_AddNotifyParticipantStatusChanged\n\n @param Data A EOS_RTC_ParticipantStatusChangedCallbackInfo containing the output information and result"]
16755pub type EOS_RTC_OnParticipantStatusChangedCallback = ::std::option::Option<
16756 unsafe extern "C" fn(Data: *const EOS_RTC_ParticipantStatusChangedCallbackInfo),
16757>;
16758#[doc = " Input parameters for the EOS_RTC_AddNotifyRoomBeforeJoin function."]
16759#[repr(C)]
16760#[derive(Debug, Copy, Clone)]
16761pub struct _tagEOS_RTC_AddNotifyRoomBeforeJoinOptions {
16762 #[doc = " API Version: Set this to EOS_RTC_ADDNOTIFYROOMBEFOREJOIN_API_LATEST."]
16763 pub ApiVersion: i32,
16764 #[doc = " The Product User ID of the user trying to request this operation."]
16765 pub LocalUserId: EOS_ProductUserId,
16766}
16767impl Default for _tagEOS_RTC_AddNotifyRoomBeforeJoinOptions {
16768 fn default() -> Self {
16769 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16770 unsafe {
16771 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16772 s.assume_init()
16773 }
16774 }
16775}
16776#[doc = " Input parameters for the EOS_RTC_AddNotifyRoomBeforeJoin function."]
16777pub type EOS_RTC_AddNotifyRoomBeforeJoinOptions = _tagEOS_RTC_AddNotifyRoomBeforeJoinOptions;
16778#[doc = " This struct is passed in with a call to EOS_RTC_AddNotifyRoomBeforeJoin registered event."]
16779#[repr(C)]
16780#[derive(Debug, Copy, Clone)]
16781pub struct _tagEOS_RTC_RoomBeforeJoinCallbackInfo {
16782 #[doc = " Context that was passed into EOS_RTC_AddNotifyRoomBeforeJoin"]
16783 pub ClientData: *mut ::std::os::raw::c_void,
16784 #[doc = " The Product User ID of the user who initiated this request."]
16785 pub LocalUserId: EOS_ProductUserId,
16786 #[doc = " The room associated with this event."]
16787 pub RoomName: *const ::std::os::raw::c_char,
16788}
16789impl Default for _tagEOS_RTC_RoomBeforeJoinCallbackInfo {
16790 fn default() -> Self {
16791 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16792 unsafe {
16793 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16794 s.assume_init()
16795 }
16796 }
16797}
16798#[doc = " This struct is passed in with a call to EOS_RTC_AddNotifyRoomBeforeJoin registered event."]
16799pub type EOS_RTC_RoomBeforeJoinCallbackInfo = _tagEOS_RTC_RoomBeforeJoinCallbackInfo;
16800#[doc = " Function prototype definition for notifications that comes from EOS_RTC_AddNotifyRoomBeforeJoin\n\n @param Data containing the RTC room name which is about to be created and joined."]
16801pub type EOS_RTC_OnRoomBeforeJoinCallback =
16802 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_RTC_RoomBeforeJoinCallbackInfo)>;
16803#[doc = " This struct is used to call EOS_RTC_SetSetting\n\n Available values of SettingName:\n - DisableEchoCancelation: Disables the use of echo cancellation for the audio channel. Default \"False\".\n - DisableNoiseSupression: Disables the use of noise suppression for the audio channel. Default \"False\".\n - DisableAutoGainControl: Disables the use of auto gain control for the audio channel. Default \"False\".\n - DisableDtx: Allows to disable the use of DTX. Default \"False\"."]
16804#[repr(C)]
16805#[derive(Debug, Copy, Clone)]
16806pub struct _tagEOS_RTC_SetSettingOptions {
16807 #[doc = " API Version: Set this to EOS_RTC_SETSETTING_API_LATEST."]
16808 pub ApiVersion: i32,
16809 #[doc = " Setting that should be set."]
16810 pub SettingName: *const ::std::os::raw::c_char,
16811 #[doc = " Value to set the setting to."]
16812 pub SettingValue: *const ::std::os::raw::c_char,
16813}
16814impl Default for _tagEOS_RTC_SetSettingOptions {
16815 fn default() -> Self {
16816 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16817 unsafe {
16818 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16819 s.assume_init()
16820 }
16821 }
16822}
16823#[doc = " This struct is used to call EOS_RTC_SetSetting\n\n Available values of SettingName:\n - DisableEchoCancelation: Disables the use of echo cancellation for the audio channel. Default \"False\".\n - DisableNoiseSupression: Disables the use of noise suppression for the audio channel. Default \"False\".\n - DisableAutoGainControl: Disables the use of auto gain control for the audio channel. Default \"False\".\n - DisableDtx: Allows to disable the use of DTX. Default \"False\"."]
16824pub type EOS_RTC_SetSettingOptions = _tagEOS_RTC_SetSettingOptions;
16825#[doc = " This struct is used to call EOS_RTC_SetRoomSetting\n\n Available values of SettingName:\n - DisableEchoCancelation: Disables the use of echo cancellation for the audio channel. Default \"False\".\n - DisableNoiseSupression: Disables the use of noise suppression for the audio channel. Default \"False\".\n - DisableAutoGainControl: Disables the use of auto gain control for the audio channel. Default \"False\".\n - DisableDtx: Allows to disable the use of DTX. Default \"False\"."]
16826#[repr(C)]
16827#[derive(Debug, Copy, Clone)]
16828pub struct _tagEOS_RTC_SetRoomSettingOptions {
16829 #[doc = " API Version: Set this to EOS_RTC_SETROOMSETTING_API_LATEST."]
16830 pub ApiVersion: i32,
16831 #[doc = " The Product User ID of the user trying to request this operation."]
16832 pub LocalUserId: EOS_ProductUserId,
16833 #[doc = " The room the setting will be applied to."]
16834 pub RoomName: *const ::std::os::raw::c_char,
16835 #[doc = " Setting that should be set."]
16836 pub SettingName: *const ::std::os::raw::c_char,
16837 #[doc = " Value to set the setting to."]
16838 pub SettingValue: *const ::std::os::raw::c_char,
16839}
16840impl Default for _tagEOS_RTC_SetRoomSettingOptions {
16841 fn default() -> Self {
16842 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16843 unsafe {
16844 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16845 s.assume_init()
16846 }
16847 }
16848}
16849#[doc = " This struct is used to call EOS_RTC_SetRoomSetting\n\n Available values of SettingName:\n - DisableEchoCancelation: Disables the use of echo cancellation for the audio channel. Default \"False\".\n - DisableNoiseSupression: Disables the use of noise suppression for the audio channel. Default \"False\".\n - DisableAutoGainControl: Disables the use of auto gain control for the audio channel. Default \"False\".\n - DisableDtx: Allows to disable the use of DTX. Default \"False\"."]
16850pub type EOS_RTC_SetRoomSettingOptions = _tagEOS_RTC_SetRoomSettingOptions;
16851#[doc = " This struct is used to call EOS_RTC_AddNotifyRoomStatisticsUpdated."]
16852#[repr(C)]
16853#[derive(Debug, Copy, Clone)]
16854pub struct _tagEOS_RTC_AddNotifyRoomStatisticsUpdatedOptions {
16855 #[doc = " API Version: Set this to EOS_RTC_ADDNOTIFYROOMSTATISTICSUPDATED_API_LATEST."]
16856 pub ApiVersion: i32,
16857 #[doc = " The Product User ID of the user trying to request this operation."]
16858 pub LocalUserId: EOS_ProductUserId,
16859 #[doc = " The room this event is registered on."]
16860 pub RoomName: *const ::std::os::raw::c_char,
16861}
16862impl Default for _tagEOS_RTC_AddNotifyRoomStatisticsUpdatedOptions {
16863 fn default() -> Self {
16864 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16865 unsafe {
16866 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16867 s.assume_init()
16868 }
16869 }
16870}
16871#[doc = " This struct is used to call EOS_RTC_AddNotifyRoomStatisticsUpdated."]
16872pub type EOS_RTC_AddNotifyRoomStatisticsUpdatedOptions =
16873 _tagEOS_RTC_AddNotifyRoomStatisticsUpdatedOptions;
16874#[doc = " This struct is passed in with a call to EOS_RTC_AddNotifyRoomStatisticsUpdated registered event."]
16875#[repr(C)]
16876#[derive(Debug, Copy, Clone)]
16877pub struct _tagEOS_RTC_RoomStatisticsUpdatedInfo {
16878 #[doc = " Client-specified data passed into EOS_RTC_AddNotifyRoomStatisticsUpdated."]
16879 pub ClientData: *mut ::std::os::raw::c_void,
16880 #[doc = " The Product User ID of the user who initiated this request."]
16881 pub LocalUserId: EOS_ProductUserId,
16882 #[doc = " The room associated with this event."]
16883 pub RoomName: *const ::std::os::raw::c_char,
16884 #[doc = " Statistics in JSON format"]
16885 pub Statistic: *const ::std::os::raw::c_char,
16886}
16887impl Default for _tagEOS_RTC_RoomStatisticsUpdatedInfo {
16888 fn default() -> Self {
16889 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16890 unsafe {
16891 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16892 s.assume_init()
16893 }
16894 }
16895}
16896#[doc = " This struct is passed in with a call to EOS_RTC_AddNotifyRoomStatisticsUpdated registered event."]
16897pub type EOS_RTC_RoomStatisticsUpdatedInfo = _tagEOS_RTC_RoomStatisticsUpdatedInfo;
16898#[doc = " Function prototype definition for notifications that come from EOS_RTC_AddNotifyRoomStatisticsUpdated\n\n @param Data A EOS_RTC_RoomStatisticsUpdatedInfo containing the output information and result"]
16899pub type EOS_RTC_OnRoomStatisticsUpdatedCallback =
16900 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_RTC_RoomStatisticsUpdatedInfo)>;
16901#[repr(C)]
16902#[derive(Debug, Copy, Clone)]
16903pub struct EOS_RTCAdminHandle {
16904 _unused: [u8; 0],
16905}
16906pub type EOS_HRTCAdmin = *mut EOS_RTCAdminHandle;
16907#[doc = " Input parameters for the EOS_RTCAdmin_QueryJoinRoomToken function."]
16908#[repr(C)]
16909#[derive(Debug, Copy, Clone)]
16910pub struct _tagEOS_RTCAdmin_QueryJoinRoomTokenOptions {
16911 #[doc = " API Version: Set this to EOS_RTCADMIN_QUERYJOINROOMTOKEN_API_LATEST."]
16912 pub ApiVersion: i32,
16913 #[doc = " Product User ID for local user who is querying join room tokens."]
16914 pub LocalUserId: EOS_ProductUserId,
16915 #[doc = " Room name to request a token for."]
16916 pub RoomName: *const ::std::os::raw::c_char,
16917 #[doc = " An array of Product User IDs indicating the users to retrieve a token for."]
16918 pub TargetUserIds: *mut EOS_ProductUserId,
16919 #[doc = " The number of users included in the query."]
16920 pub TargetUserIdsCount: u32,
16921 #[doc = " Array of IP Addresses, one for each of the users we're querying tokens for.\n There should be TargetUserIdsCount Ip Addresses, you can set an entry to NULL if not known.\n If TargetUserIpAddresses is set to NULL IP Addresses will be ignored.\n IPv4 format: \"0.0.0.0\"\n IPv6 format: \"0:0:0:0:0:0:0:0\""]
16922 pub TargetUserIpAddresses: *mut *const ::std::os::raw::c_char,
16923}
16924impl Default for _tagEOS_RTCAdmin_QueryJoinRoomTokenOptions {
16925 fn default() -> Self {
16926 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16927 unsafe {
16928 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16929 s.assume_init()
16930 }
16931 }
16932}
16933#[doc = " Input parameters for the EOS_RTCAdmin_QueryJoinRoomToken function."]
16934pub type EOS_RTCAdmin_QueryJoinRoomTokenOptions = _tagEOS_RTCAdmin_QueryJoinRoomTokenOptions;
16935#[doc = " Data containing the result information for a query join room token request."]
16936#[repr(C)]
16937#[derive(Debug, Copy, Clone)]
16938pub struct _tagEOS_RTCAdmin_QueryJoinRoomTokenCompleteCallbackInfo {
16939 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
16940 pub ResultCode: EOS_EResult,
16941 #[doc = " Context that was passed into EOS_RTCAdmin_QueryJoinRoomToken."]
16942 pub ClientData: *mut ::std::os::raw::c_void,
16943 #[doc = " Room the request was made for."]
16944 pub RoomName: *const ::std::os::raw::c_char,
16945 #[doc = " URL passed to backend to join room."]
16946 pub ClientBaseUrl: *const ::std::os::raw::c_char,
16947 #[doc = " If the query completed successfully, this contains an identifier that should be used to retrieve the tokens.\n This identifier is only valid for the duration of the callback.\n\n @see EOS_RTCAdmin_CopyUserTokenByIndex\n @see EOS_RTCAdmin_CopyUserTokenByUserId"]
16948 pub QueryId: u32,
16949 #[doc = " How many token received as result of the query"]
16950 pub TokenCount: u32,
16951}
16952impl Default for _tagEOS_RTCAdmin_QueryJoinRoomTokenCompleteCallbackInfo {
16953 fn default() -> Self {
16954 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16955 unsafe {
16956 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16957 s.assume_init()
16958 }
16959 }
16960}
16961#[doc = " Data containing the result information for a query join room token request."]
16962pub type EOS_RTCAdmin_QueryJoinRoomTokenCompleteCallbackInfo =
16963 _tagEOS_RTCAdmin_QueryJoinRoomTokenCompleteCallbackInfo;
16964#[doc = " Function prototype definition for callbacks passed to EOS_RTCAdmin_QueryJoinRoomToken\n @param Data An EOS_RTCAdmin_QueryJoinRoomTokenCompleteCallbackInfo containing the output information and result"]
16965pub type EOS_RTCAdmin_OnQueryJoinRoomTokenCompleteCallback = ::std::option::Option<
16966 unsafe extern "C" fn(Data: *const EOS_RTCAdmin_QueryJoinRoomTokenCompleteCallbackInfo),
16967>;
16968#[doc = " Contains information about a collection of user tokens for joining a room."]
16969#[repr(C)]
16970#[derive(Debug, Copy, Clone)]
16971pub struct _tagEOS_RTCAdmin_UserToken {
16972 #[doc = " API Version: Set this to EOS_RTCADMIN_USERTOKEN_API_LATEST."]
16973 pub ApiVersion: i32,
16974 #[doc = " The Product User ID for the user who owns this user token."]
16975 pub ProductUserId: EOS_ProductUserId,
16976 #[doc = " Access token to enable a user to join a room"]
16977 pub Token: *const ::std::os::raw::c_char,
16978}
16979impl Default for _tagEOS_RTCAdmin_UserToken {
16980 fn default() -> Self {
16981 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16982 unsafe {
16983 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16984 s.assume_init()
16985 }
16986 }
16987}
16988#[doc = " Contains information about a collection of user tokens for joining a room."]
16989pub type EOS_RTCAdmin_UserToken = _tagEOS_RTCAdmin_UserToken;
16990#[doc = " Input parameters for the EOS_RTCAdmin_CopyUserTokenByIndex function."]
16991#[repr(C)]
16992#[derive(Debug, Default, Copy, Clone)]
16993pub struct _tagEOS_RTCAdmin_CopyUserTokenByIndexOptions {
16994 #[doc = " API Version: Set this to EOS_RTCADMIN_COPYUSERTOKENBYINDEX_API_LATEST."]
16995 pub ApiVersion: i32,
16996 #[doc = " Index of the user token to retrieve from the cache."]
16997 pub UserTokenIndex: u32,
16998 #[doc = " Query identifier received as part of a previous query.\n @see EOS_RTCAdmin_QueryJoinRoomTokenCompleteCallbackInfo"]
16999 pub QueryId: u32,
17000}
17001#[doc = " Input parameters for the EOS_RTCAdmin_CopyUserTokenByIndex function."]
17002pub type EOS_RTCAdmin_CopyUserTokenByIndexOptions = _tagEOS_RTCAdmin_CopyUserTokenByIndexOptions;
17003#[doc = " Input parameters for the EOS_RTCAdmin_CopyUserTokenByUserId function."]
17004#[repr(C)]
17005#[derive(Debug, Copy, Clone)]
17006pub struct _tagEOS_RTCAdmin_CopyUserTokenByUserIdOptions {
17007 #[doc = " API Version: Set this to EOS_RTCADMIN_COPYUSERTOKENBYUSERID_API_LATEST."]
17008 pub ApiVersion: i32,
17009 #[doc = " The Product User ID for the user whose user token we're copying."]
17010 pub TargetUserId: EOS_ProductUserId,
17011 #[doc = " Query identifier received as part of a previous query.\n @see EOS_RTCAdmin_QueryJoinRoomTokenCompleteCallbackInfo"]
17012 pub QueryId: u32,
17013}
17014impl Default for _tagEOS_RTCAdmin_CopyUserTokenByUserIdOptions {
17015 fn default() -> Self {
17016 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17017 unsafe {
17018 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17019 s.assume_init()
17020 }
17021 }
17022}
17023#[doc = " Input parameters for the EOS_RTCAdmin_CopyUserTokenByUserId function."]
17024pub type EOS_RTCAdmin_CopyUserTokenByUserIdOptions = _tagEOS_RTCAdmin_CopyUserTokenByUserIdOptions;
17025unsafe extern "C" {
17026 #[doc = " Release the memory associated with EOS_RTCAdmin_UserToken. This must be called on data retrieved from\n EOS_RTCAdmin_CopyUserTokenByIndex or EOS_RTCAdmin_CopyUserTokenByUserId.\n\n @param UserToken - The user token to release.\n\n @see EOS_RTCAdmin_UserToken\n @see EOS_RTCAdmin_CopyUserTokenByIndex\n @see EOS_RTCAdmin_CopyUserTokenByUserId"]
17027 pub fn EOS_RTCAdmin_UserToken_Release(UserToken: *mut EOS_RTCAdmin_UserToken);
17028}
17029#[doc = " Input parameters for the EOS_RTCAdmin_Kick function."]
17030#[repr(C)]
17031#[derive(Debug, Copy, Clone)]
17032pub struct _tagEOS_RTCAdmin_KickOptions {
17033 #[doc = " API Version: Set this to EOS_RTCADMIN_KICK_API_LATEST."]
17034 pub ApiVersion: i32,
17035 #[doc = " Room name to kick the participant from"]
17036 pub RoomName: *const ::std::os::raw::c_char,
17037 #[doc = " Product User ID of the participant to kick from the room"]
17038 pub TargetUserId: EOS_ProductUserId,
17039}
17040impl Default for _tagEOS_RTCAdmin_KickOptions {
17041 fn default() -> Self {
17042 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17043 unsafe {
17044 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17045 s.assume_init()
17046 }
17047 }
17048}
17049#[doc = " Input parameters for the EOS_RTCAdmin_Kick function."]
17050pub type EOS_RTCAdmin_KickOptions = _tagEOS_RTCAdmin_KickOptions;
17051#[doc = " Data containing the result information for a kick participant request."]
17052#[repr(C)]
17053#[derive(Debug, Copy, Clone)]
17054pub struct _tagEOS_RTCAdmin_KickCompleteCallbackInfo {
17055 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
17056 pub ResultCode: EOS_EResult,
17057 #[doc = " Client-specified data passed into the kick request"]
17058 pub ClientData: *mut ::std::os::raw::c_void,
17059}
17060impl Default for _tagEOS_RTCAdmin_KickCompleteCallbackInfo {
17061 fn default() -> Self {
17062 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17063 unsafe {
17064 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17065 s.assume_init()
17066 }
17067 }
17068}
17069#[doc = " Data containing the result information for a kick participant request."]
17070pub type EOS_RTCAdmin_KickCompleteCallbackInfo = _tagEOS_RTCAdmin_KickCompleteCallbackInfo;
17071#[doc = " Function prototype definition for callbacks passed to EOS_RTCAdmin_Kick\n @param Data An EOS_RTCAdmin_KickCompleteCallbackInfo containing the output information and result"]
17072pub type EOS_RTCAdmin_OnKickCompleteCallback =
17073 ::std::option::Option<unsafe extern "C" fn(Data: *const EOS_RTCAdmin_KickCompleteCallbackInfo)>;
17074#[doc = " Input parameters for the EOS_RTCAdmin_SetParticipantHardMute function."]
17075#[repr(C)]
17076#[derive(Debug, Copy, Clone)]
17077pub struct _tagEOS_RTCAdmin_SetParticipantHardMuteOptions {
17078 #[doc = " API Version: Set this to EOS_RTCADMIN_SETPARTICIPANTHARDMUTE_API_LATEST."]
17079 pub ApiVersion: i32,
17080 #[doc = " Room to kick the participant from"]
17081 pub RoomName: *const ::std::os::raw::c_char,
17082 #[doc = " Product User ID of the participant to hard mute for every participant in the room."]
17083 pub TargetUserId: EOS_ProductUserId,
17084 #[doc = " Hard mute status (Mute on or off)"]
17085 pub bMute: EOS_Bool,
17086}
17087impl Default for _tagEOS_RTCAdmin_SetParticipantHardMuteOptions {
17088 fn default() -> Self {
17089 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17090 unsafe {
17091 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17092 s.assume_init()
17093 }
17094 }
17095}
17096#[doc = " Input parameters for the EOS_RTCAdmin_SetParticipantHardMute function."]
17097pub type EOS_RTCAdmin_SetParticipantHardMuteOptions =
17098 _tagEOS_RTCAdmin_SetParticipantHardMuteOptions;
17099#[doc = " Data containing the result information for a hard mute request."]
17100#[repr(C)]
17101#[derive(Debug, Copy, Clone)]
17102pub struct _tagEOS_RTCAdmin_SetParticipantHardMuteCompleteCallbackInfo {
17103 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
17104 pub ResultCode: EOS_EResult,
17105 #[doc = " Client-specified data passed into the hard mute request"]
17106 pub ClientData: *mut ::std::os::raw::c_void,
17107}
17108impl Default for _tagEOS_RTCAdmin_SetParticipantHardMuteCompleteCallbackInfo {
17109 fn default() -> Self {
17110 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17111 unsafe {
17112 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17113 s.assume_init()
17114 }
17115 }
17116}
17117#[doc = " Data containing the result information for a hard mute request."]
17118pub type EOS_RTCAdmin_SetParticipantHardMuteCompleteCallbackInfo =
17119 _tagEOS_RTCAdmin_SetParticipantHardMuteCompleteCallbackInfo;
17120#[doc = " Function prototype definition for callbacks passed to EOS_RTCAdmin_SetParticipantHardMute\n @param Data An EOS_RTCAdmin_SetParticipantHardMuteCompleteCallbackInfo containing the output information and result"]
17121pub type EOS_RTCAdmin_OnSetParticipantHardMuteCompleteCallback = ::std::option::Option<
17122 unsafe extern "C" fn(Data: *const EOS_RTCAdmin_SetParticipantHardMuteCompleteCallbackInfo),
17123>;
17124#[repr(C)]
17125#[derive(Debug, Copy, Clone)]
17126pub struct EOS_ProgressionSnapshotHandle {
17127 _unused: [u8; 0],
17128}
17129#[doc = " Handle to the ProgressionSnapshot interface"]
17130pub type EOS_HProgressionSnapshot = *mut EOS_ProgressionSnapshotHandle;
17131#[doc = " Input parameters for the EOS_ProgressionSnapshot_BeginSnapshot function."]
17132#[repr(C)]
17133#[derive(Debug, Copy, Clone)]
17134pub struct _tagEOS_ProgressionSnapshot_BeginSnapshotOptions {
17135 #[doc = " API Version: Set this to EOS_PROGRESSIONSNAPSHOT_BEGINSNAPSHOT_API_LATEST."]
17136 pub ApiVersion: i32,
17137 #[doc = " The Product User ID of the local user to whom the key/value pair belong"]
17138 pub LocalUserId: EOS_ProductUserId,
17139}
17140impl Default for _tagEOS_ProgressionSnapshot_BeginSnapshotOptions {
17141 fn default() -> Self {
17142 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17143 unsafe {
17144 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17145 s.assume_init()
17146 }
17147 }
17148}
17149#[doc = " Input parameters for the EOS_ProgressionSnapshot_BeginSnapshot function."]
17150pub type EOS_ProgressionSnapshot_BeginSnapshotOptions =
17151 _tagEOS_ProgressionSnapshot_BeginSnapshotOptions;
17152#[doc = " Input parameters for the EOS_ProgressionSnapshot_AddProgression function."]
17153#[repr(C)]
17154#[derive(Debug, Copy, Clone)]
17155pub struct _tagEOS_ProgressionSnapshot_AddProgressionOptions {
17156 #[doc = " API Version: Set this to EOS_PROGRESSIONSNAPSHOT_ADDPROGRESSION_API_LATEST."]
17157 pub ApiVersion: i32,
17158 #[doc = " The Snapshot Id received via a EOS_ProgressionSnapshot_BeginSnapshot function."]
17159 pub SnapshotId: u32,
17160 #[doc = " The key in a key/value pair of progression entry"]
17161 pub Key: *const ::std::os::raw::c_char,
17162 #[doc = " The value in a key/value pair of progression entry"]
17163 pub Value: *const ::std::os::raw::c_char,
17164}
17165impl Default for _tagEOS_ProgressionSnapshot_AddProgressionOptions {
17166 fn default() -> Self {
17167 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17168 unsafe {
17169 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17170 s.assume_init()
17171 }
17172 }
17173}
17174#[doc = " Input parameters for the EOS_ProgressionSnapshot_AddProgression function."]
17175pub type EOS_ProgressionSnapshot_AddProgressionOptions =
17176 _tagEOS_ProgressionSnapshot_AddProgressionOptions;
17177#[doc = " Input parameters for the EOS_ProgressionSnapshot_SubmitSnapshot function."]
17178#[repr(C)]
17179#[derive(Debug, Default, Copy, Clone)]
17180pub struct _tagEOS_ProgressionSnapshot_SubmitSnapshotOptions {
17181 #[doc = " API Version: Set this to EOS_PROGRESSIONSNAPSHOT_SUBMITSNAPSHOT_API_LATEST."]
17182 pub ApiVersion: i32,
17183 #[doc = " The Snapshot Id received via a EOS_ProgressionSnapshot_BeginSnapshot function."]
17184 pub SnapshotId: u32,
17185}
17186#[doc = " Input parameters for the EOS_ProgressionSnapshot_SubmitSnapshot function."]
17187pub type EOS_ProgressionSnapshot_SubmitSnapshotOptions =
17188 _tagEOS_ProgressionSnapshot_SubmitSnapshotOptions;
17189#[doc = " Input parameters for the EOS_ProgressionSnapshot_EndSnapshot function."]
17190#[repr(C)]
17191#[derive(Debug, Default, Copy, Clone)]
17192pub struct _tagEOS_ProgressionSnapshot_EndSnapshotOptions {
17193 #[doc = " API Version: Set this to EOS_PROGRESSIONSNAPSHOT_ENDSNAPSHOT_API_LATEST."]
17194 pub ApiVersion: i32,
17195 #[doc = " The Snapshot Id received via a EOS_ProgressionSnapshot_BeginSnapshot function."]
17196 pub SnapshotId: u32,
17197}
17198#[doc = " Input parameters for the EOS_ProgressionSnapshot_EndSnapshot function."]
17199pub type EOS_ProgressionSnapshot_EndSnapshotOptions =
17200 _tagEOS_ProgressionSnapshot_EndSnapshotOptions;
17201#[doc = " Output parameters for the EOS_ProgressionSnapshot_SubmitSnapshot Function."]
17202#[repr(C)]
17203#[derive(Debug, Copy, Clone)]
17204pub struct _tagEOS_ProgressionSnapshot_SubmitSnapshotCallbackInfo {
17205 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
17206 pub ResultCode: EOS_EResult,
17207 #[doc = " The Snapshot Id used in the Submit function."]
17208 pub SnapshotId: u32,
17209 #[doc = " Context that was passed into EOS_ProgressionSnapshot_SubmitSnapshot."]
17210 pub ClientData: *mut ::std::os::raw::c_void,
17211}
17212impl Default for _tagEOS_ProgressionSnapshot_SubmitSnapshotCallbackInfo {
17213 fn default() -> Self {
17214 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17215 unsafe {
17216 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17217 s.assume_init()
17218 }
17219 }
17220}
17221#[doc = " Output parameters for the EOS_ProgressionSnapshot_SubmitSnapshot Function."]
17222pub type EOS_ProgressionSnapshot_SubmitSnapshotCallbackInfo =
17223 _tagEOS_ProgressionSnapshot_SubmitSnapshotCallbackInfo;
17224#[doc = " Function prototype definition for callbacks passed to EOS_ProgressionSnapshot_SubmitSnapshot\n @param Data A EOS_ProgressionSnapshot_SubmitSnapshotCallbackInfo containing the output information and result"]
17225pub type EOS_ProgressionSnapshot_OnSubmitSnapshotCallback = ::std::option::Option<
17226 unsafe extern "C" fn(Data: *const EOS_ProgressionSnapshot_SubmitSnapshotCallbackInfo),
17227>;
17228#[doc = " Input parameters for the EOS_ProgressionSnapshot_DeleteSnapshot function."]
17229#[repr(C)]
17230#[derive(Debug, Copy, Clone)]
17231pub struct _tagEOS_ProgressionSnapshot_DeleteSnapshotOptions {
17232 #[doc = " API Version: Set this to EOS_PROGRESSIONSNAPSHOT_DELETESNAPSHOT_API_LATEST."]
17233 pub ApiVersion: i32,
17234 #[doc = " The Product User ID of the local user to whom the key/value pair belong"]
17235 pub LocalUserId: EOS_ProductUserId,
17236}
17237impl Default for _tagEOS_ProgressionSnapshot_DeleteSnapshotOptions {
17238 fn default() -> Self {
17239 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17240 unsafe {
17241 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17242 s.assume_init()
17243 }
17244 }
17245}
17246#[doc = " Input parameters for the EOS_ProgressionSnapshot_DeleteSnapshot function."]
17247pub type EOS_ProgressionSnapshot_DeleteSnapshotOptions =
17248 _tagEOS_ProgressionSnapshot_DeleteSnapshotOptions;
17249#[doc = " Output parameters for the EOS_ProgressionSnapshot_DeleteSnapshot Function."]
17250#[repr(C)]
17251#[derive(Debug, Copy, Clone)]
17252pub struct _tagEOS_ProgressionSnapshot_DeleteSnapshotCallbackInfo {
17253 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
17254 pub ResultCode: EOS_EResult,
17255 #[doc = " The Product User ID of the local user to whom the key/value pair belong"]
17256 pub LocalUserId: EOS_ProductUserId,
17257 #[doc = " Context that was passed into EOS_ProgressionSnapshot_SubmitSnapshot."]
17258 pub ClientData: *mut ::std::os::raw::c_void,
17259}
17260impl Default for _tagEOS_ProgressionSnapshot_DeleteSnapshotCallbackInfo {
17261 fn default() -> Self {
17262 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17263 unsafe {
17264 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17265 s.assume_init()
17266 }
17267 }
17268}
17269#[doc = " Output parameters for the EOS_ProgressionSnapshot_DeleteSnapshot Function."]
17270pub type EOS_ProgressionSnapshot_DeleteSnapshotCallbackInfo =
17271 _tagEOS_ProgressionSnapshot_DeleteSnapshotCallbackInfo;
17272#[doc = " Function prototype definition for callbacks passed to EOS_ProgressionSnapshot_DeleteSnapshot\n @param Data A EOS_ProgressionSnapshot_DeleteSnapshotCallbackInfo containing the output information and result"]
17273pub type EOS_ProgressionSnapshot_OnDeleteSnapshotCallback = ::std::option::Option<
17274 unsafe extern "C" fn(Data: *const EOS_ProgressionSnapshot_DeleteSnapshotCallbackInfo),
17275>;
17276#[repr(C)]
17277#[derive(Debug, Copy, Clone)]
17278pub struct EOS_CustomInvitesHandle {
17279 _unused: [u8; 0],
17280}
17281#[doc = " Handle to the custom invites interface"]
17282pub type EOS_HCustomInvites = *mut EOS_CustomInvitesHandle;
17283#[doc = " Input parameters for the EOS_CustomInvites_SetCustomInvite function."]
17284#[repr(C)]
17285#[derive(Debug, Copy, Clone)]
17286pub struct _tagEOS_CustomInvites_SetCustomInviteOptions {
17287 #[doc = " API Version: Set this to EOS_CUSTOMINVITES_SETCUSTOMINVITE_API_LATEST."]
17288 pub ApiVersion: i32,
17289 #[doc = " Local user creating / sending a Custom Invite"]
17290 pub LocalUserId: EOS_ProductUserId,
17291 #[doc = " String payload for the Custom Invite (must be less than EOS_CUSTOMINVITES_MAX_PAYLOAD_LENGTH)"]
17292 pub Payload: *const ::std::os::raw::c_char,
17293}
17294impl Default for _tagEOS_CustomInvites_SetCustomInviteOptions {
17295 fn default() -> Self {
17296 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17297 unsafe {
17298 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17299 s.assume_init()
17300 }
17301 }
17302}
17303#[doc = " Input parameters for the EOS_CustomInvites_SetCustomInvite function."]
17304pub type EOS_CustomInvites_SetCustomInviteOptions = _tagEOS_CustomInvites_SetCustomInviteOptions;
17305#[doc = " Input parameters for the EOS_CustomInvites_SendCustomInvite function."]
17306#[repr(C)]
17307#[derive(Debug, Copy, Clone)]
17308pub struct _tagEOS_CustomInvites_SendCustomInviteOptions {
17309 #[doc = " API Version: Set this to EOS_CUSTOMINVITES_SENDCUSTOMINVITE_API_LATEST."]
17310 pub ApiVersion: i32,
17311 #[doc = " Local user sending a CustomInvite"]
17312 pub LocalUserId: EOS_ProductUserId,
17313 #[doc = " Users to whom the invites should be sent"]
17314 pub TargetUserIds: *mut EOS_ProductUserId,
17315 #[doc = " The number of users we are sending to"]
17316 pub TargetUserIdsCount: u32,
17317}
17318impl Default for _tagEOS_CustomInvites_SendCustomInviteOptions {
17319 fn default() -> Self {
17320 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17321 unsafe {
17322 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17323 s.assume_init()
17324 }
17325 }
17326}
17327#[doc = " Input parameters for the EOS_CustomInvites_SendCustomInvite function."]
17328pub type EOS_CustomInvites_SendCustomInviteOptions = _tagEOS_CustomInvites_SendCustomInviteOptions;
17329#[doc = " Output parameters for the EOS_CustomInvites_SendCustomInvite Function. These parameters are received through the callback provided to EOS_CustomInvites_SendCustomInvite"]
17330#[repr(C)]
17331#[derive(Debug, Copy, Clone)]
17332pub struct _tagEOS_CustomInvites_SendCustomInviteCallbackInfo {
17333 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
17334 pub ResultCode: EOS_EResult,
17335 #[doc = " Context that was passed into EOS_CustomInvites_SendCustomInvite"]
17336 pub ClientData: *mut ::std::os::raw::c_void,
17337 #[doc = " Local user sending a CustomInvite"]
17338 pub LocalUserId: EOS_ProductUserId,
17339 #[doc = " Users to whom the invites were successfully sent (can be different than original call if an invite for same Payload was previously sent)"]
17340 pub TargetUserIds: *mut EOS_ProductUserId,
17341 #[doc = " The number of users we are sending to"]
17342 pub TargetUserIdsCount: u32,
17343}
17344impl Default for _tagEOS_CustomInvites_SendCustomInviteCallbackInfo {
17345 fn default() -> Self {
17346 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17347 unsafe {
17348 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17349 s.assume_init()
17350 }
17351 }
17352}
17353#[doc = " Output parameters for the EOS_CustomInvites_SendCustomInvite Function. These parameters are received through the callback provided to EOS_CustomInvites_SendCustomInvite"]
17354pub type EOS_CustomInvites_SendCustomInviteCallbackInfo =
17355 _tagEOS_CustomInvites_SendCustomInviteCallbackInfo;
17356#[doc = " Function prototype definition for callbacks passed to EOS_CustomInvites_SendCustomInvite\n @param Data A EOS_CustomInvites_SendCustomInviteCallbackInfo containing the output information and result"]
17357pub type EOS_CustomInvites_OnSendCustomInviteCallback = ::std::option::Option<
17358 unsafe extern "C" fn(Data: *const EOS_CustomInvites_SendCustomInviteCallbackInfo),
17359>;
17360#[doc = " Input parameters for the EOS_CustomInvites_AddNotifyCustomInviteReceived function."]
17361#[repr(C)]
17362#[derive(Debug, Default, Copy, Clone)]
17363pub struct _tagEOS_CustomInvites_AddNotifyCustomInviteReceivedOptions {
17364 #[doc = " API Version: Set this to EOS_CUSTOMINVITES_ADDNOTIFYCUSTOMINVITERECEIVED_API_LATEST."]
17365 pub ApiVersion: i32,
17366}
17367#[doc = " Input parameters for the EOS_CustomInvites_AddNotifyCustomInviteReceived function."]
17368pub type EOS_CustomInvites_AddNotifyCustomInviteReceivedOptions =
17369 _tagEOS_CustomInvites_AddNotifyCustomInviteReceivedOptions;
17370#[doc = " Output parameters for the EOS_CustomInvites_OnCustomInviteReceivedCallback Function."]
17371#[repr(C)]
17372#[derive(Debug, Copy, Clone)]
17373pub struct _tagEOS_CustomInvites_OnCustomInviteReceivedCallbackInfo {
17374 #[doc = " Context that was passed into EOS_CustomInvites_AddNotifyCustomInviteReceived"]
17375 pub ClientData: *mut ::std::os::raw::c_void,
17376 #[doc = " User that sent this custom invite"]
17377 pub TargetUserId: EOS_ProductUserId,
17378 #[doc = " Recipient Local user id"]
17379 pub LocalUserId: EOS_ProductUserId,
17380 #[doc = " Id of the received Custom Invite"]
17381 pub CustomInviteId: *const ::std::os::raw::c_char,
17382 #[doc = " Payload of the received Custom Invite"]
17383 pub Payload: *const ::std::os::raw::c_char,
17384}
17385impl Default for _tagEOS_CustomInvites_OnCustomInviteReceivedCallbackInfo {
17386 fn default() -> Self {
17387 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17388 unsafe {
17389 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17390 s.assume_init()
17391 }
17392 }
17393}
17394#[doc = " Output parameters for the EOS_CustomInvites_OnCustomInviteReceivedCallback Function."]
17395pub type EOS_CustomInvites_OnCustomInviteReceivedCallbackInfo =
17396 _tagEOS_CustomInvites_OnCustomInviteReceivedCallbackInfo;
17397#[doc = " Function prototype definition for notifications that comes from EOS_CustomInvites_AddNotifyCustomInviteReceived\n\n @param Data A EOS_CustomInvites_OnCustomInviteReceivedCallbackInfo containing the output information and result"]
17398pub type EOS_CustomInvites_OnCustomInviteReceivedCallback = ::std::option::Option<
17399 unsafe extern "C" fn(Data: *const EOS_CustomInvites_OnCustomInviteReceivedCallbackInfo),
17400>;
17401#[doc = " Input parameters for the EOS_CustomInvites_AddNotifyCustomInviteAccepted function."]
17402#[repr(C)]
17403#[derive(Debug, Default, Copy, Clone)]
17404pub struct _tagEOS_CustomInvites_AddNotifyCustomInviteAcceptedOptions {
17405 #[doc = " API Version: Set this to EOS_CUSTOMINVITES_ADDNOTIFYCUSTOMINVITEACCEPTED_API_LATEST."]
17406 pub ApiVersion: i32,
17407}
17408#[doc = " Input parameters for the EOS_CustomInvites_AddNotifyCustomInviteAccepted function."]
17409pub type EOS_CustomInvites_AddNotifyCustomInviteAcceptedOptions =
17410 _tagEOS_CustomInvites_AddNotifyCustomInviteAcceptedOptions;
17411#[doc = " Output parameters for the EOS_CustomInvites_OnCustomInviteAcceptedCallback Function."]
17412#[repr(C)]
17413#[derive(Debug, Copy, Clone)]
17414pub struct _tagEOS_CustomInvites_OnCustomInviteAcceptedCallbackInfo {
17415 #[doc = " Context that was passed into EOS_CustomInvites_AddNotifyCustomInviteAccepted"]
17416 pub ClientData: *mut ::std::os::raw::c_void,
17417 #[doc = " User that sent the custom invite"]
17418 pub TargetUserId: EOS_ProductUserId,
17419 #[doc = " Recipient Local user id"]
17420 pub LocalUserId: EOS_ProductUserId,
17421 #[doc = " Id of the accepted Custom Invite"]
17422 pub CustomInviteId: *const ::std::os::raw::c_char,
17423 #[doc = " Payload of the accepted Custom Invite"]
17424 pub Payload: *const ::std::os::raw::c_char,
17425}
17426impl Default for _tagEOS_CustomInvites_OnCustomInviteAcceptedCallbackInfo {
17427 fn default() -> Self {
17428 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17429 unsafe {
17430 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17431 s.assume_init()
17432 }
17433 }
17434}
17435#[doc = " Output parameters for the EOS_CustomInvites_OnCustomInviteAcceptedCallback Function."]
17436pub type EOS_CustomInvites_OnCustomInviteAcceptedCallbackInfo =
17437 _tagEOS_CustomInvites_OnCustomInviteAcceptedCallbackInfo;
17438#[doc = " Function prototype definition for notifications that comes from EOS_CustomInvites_AddNotifyCustomInviteAccepted\n\n @param Data A EOS_CustomInvites_OnCustomInviteAcceptedCallbackInfo containing the output information and result"]
17439pub type EOS_CustomInvites_OnCustomInviteAcceptedCallback = ::std::option::Option<
17440 unsafe extern "C" fn(Data: *const EOS_CustomInvites_OnCustomInviteAcceptedCallbackInfo),
17441>;
17442#[doc = " Input parameters for the EOS_CustomInvites_AddNotifyCustomInviteRejected function."]
17443#[repr(C)]
17444#[derive(Debug, Default, Copy, Clone)]
17445pub struct _tagEOS_CustomInvites_AddNotifyCustomInviteRejectedOptions {
17446 #[doc = " API Version: Set this to EOS_CUSTOMINVITES_ADDNOTIFYCUSTOMINVITEREJECTED_API_LATEST."]
17447 pub ApiVersion: i32,
17448}
17449#[doc = " Input parameters for the EOS_CustomInvites_AddNotifyCustomInviteRejected function."]
17450pub type EOS_CustomInvites_AddNotifyCustomInviteRejectedOptions =
17451 _tagEOS_CustomInvites_AddNotifyCustomInviteRejectedOptions;
17452#[doc = " Output parameters for the EOS_CustomInvites_OnCustomInviteRejectedCallback Function."]
17453#[repr(C)]
17454#[derive(Debug, Copy, Clone)]
17455pub struct _tagEOS_CustomInvites_CustomInviteRejectedCallbackInfo {
17456 #[doc = " Context that was passed into EOS_CustomInvites_AddNotifyCustomInviteRejected"]
17457 pub ClientData: *mut ::std::os::raw::c_void,
17458 #[doc = " User that sent the custom invite"]
17459 pub TargetUserId: EOS_ProductUserId,
17460 #[doc = " Recipient Local user id"]
17461 pub LocalUserId: EOS_ProductUserId,
17462 #[doc = " Id of the rejected Custom Invite"]
17463 pub CustomInviteId: *const ::std::os::raw::c_char,
17464 #[doc = " Payload of the rejected Custom Invite"]
17465 pub Payload: *const ::std::os::raw::c_char,
17466}
17467impl Default for _tagEOS_CustomInvites_CustomInviteRejectedCallbackInfo {
17468 fn default() -> Self {
17469 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17470 unsafe {
17471 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17472 s.assume_init()
17473 }
17474 }
17475}
17476#[doc = " Output parameters for the EOS_CustomInvites_OnCustomInviteRejectedCallback Function."]
17477pub type EOS_CustomInvites_CustomInviteRejectedCallbackInfo =
17478 _tagEOS_CustomInvites_CustomInviteRejectedCallbackInfo;
17479#[doc = " Function prototype definition for notifications that comes from EOS_CustomInvites_AddNotifyCustomInviteRejected\n\n @param Data A EOS_CustomInvites_CustomInviteRejectedCallbackInfo containing the output information and result"]
17480pub type EOS_CustomInvites_OnCustomInviteRejectedCallback = ::std::option::Option<
17481 unsafe extern "C" fn(Data: *const EOS_CustomInvites_CustomInviteRejectedCallbackInfo),
17482>;
17483#[doc = " Input parameters for the EOS_CustomInvites_FinalizeInvite function."]
17484#[repr(C)]
17485#[derive(Debug, Copy, Clone)]
17486pub struct _tagEOS_CustomInvites_FinalizeInviteOptions {
17487 #[doc = " API Version: Set this to EOS_CUSTOMINVITES_FINALIZEINVITE_API_LATEST."]
17488 pub ApiVersion: i32,
17489 #[doc = " User that sent the custom invite"]
17490 pub TargetUserId: EOS_ProductUserId,
17491 #[doc = " Recipient Local user id"]
17492 pub LocalUserId: EOS_ProductUserId,
17493 #[doc = " Id of the Custom Invite accepted"]
17494 pub CustomInviteId: *const ::std::os::raw::c_char,
17495 #[doc = " Result of the Processing operation, transmitted to Social Overlay if applicable"]
17496 pub ProcessingResult: EOS_EResult,
17497}
17498impl Default for _tagEOS_CustomInvites_FinalizeInviteOptions {
17499 fn default() -> Self {
17500 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17501 unsafe {
17502 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17503 s.assume_init()
17504 }
17505 }
17506}
17507#[doc = " Input parameters for the EOS_CustomInvites_FinalizeInvite function."]
17508pub type EOS_CustomInvites_FinalizeInviteOptions = _tagEOS_CustomInvites_FinalizeInviteOptions;
17509#[doc = " Input parameters for the EOS_CustomInvites_SendRequestToJoin function."]
17510#[repr(C)]
17511#[derive(Debug, Copy, Clone)]
17512pub struct _tagEOS_CustomInvites_SendRequestToJoinOptions {
17513 #[doc = " API Version: Set this to EOS_CUSTOMINVITES_SENDREQUESTTOJOIN_API_LATEST."]
17514 pub ApiVersion: i32,
17515 #[doc = " Local user Requesting an Invite"]
17516 pub LocalUserId: EOS_ProductUserId,
17517 #[doc = " Recipient of Request Invite"]
17518 pub TargetUserId: EOS_ProductUserId,
17519}
17520impl Default for _tagEOS_CustomInvites_SendRequestToJoinOptions {
17521 fn default() -> Self {
17522 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17523 unsafe {
17524 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17525 s.assume_init()
17526 }
17527 }
17528}
17529#[doc = " Input parameters for the EOS_CustomInvites_SendRequestToJoin function."]
17530pub type EOS_CustomInvites_SendRequestToJoinOptions =
17531 _tagEOS_CustomInvites_SendRequestToJoinOptions;
17532#[doc = " Output parameters for the EOS_CustomInvites_SendRequestToJoin Function. These parameters are received through the callback provided to EOS_CustomInvites_SendRequestToJoin"]
17533#[repr(C)]
17534#[derive(Debug, Copy, Clone)]
17535pub struct _tagEOS_CustomInvites_SendRequestToJoinCallbackInfo {
17536 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
17537 pub ResultCode: EOS_EResult,
17538 #[doc = " Context that was passed into EOS_CustomInvites_SendRequestToJoin"]
17539 pub ClientData: *mut ::std::os::raw::c_void,
17540 #[doc = " Local user requesting an invite"]
17541 pub LocalUserId: EOS_ProductUserId,
17542 #[doc = " Recipient of Request Invite"]
17543 pub TargetUserId: EOS_ProductUserId,
17544}
17545impl Default for _tagEOS_CustomInvites_SendRequestToJoinCallbackInfo {
17546 fn default() -> Self {
17547 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17548 unsafe {
17549 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17550 s.assume_init()
17551 }
17552 }
17553}
17554#[doc = " Output parameters for the EOS_CustomInvites_SendRequestToJoin Function. These parameters are received through the callback provided to EOS_CustomInvites_SendRequestToJoin"]
17555pub type EOS_CustomInvites_SendRequestToJoinCallbackInfo =
17556 _tagEOS_CustomInvites_SendRequestToJoinCallbackInfo;
17557#[doc = " Function prototype definition for callbacks passed to EOS_CustomInvites_SendRequestToJoin\n @param Data A EOS_CustomInvites_SendCustomInviteCallbackInfo containing the output information and result"]
17558pub type EOS_CustomInvites_OnSendRequestToJoinCallback = ::std::option::Option<
17559 unsafe extern "C" fn(Data: *const EOS_CustomInvites_SendRequestToJoinCallbackInfo),
17560>;
17561#[doc = " Input parameters for the EOS_CustomInvites_AddNotifyRequestToJoinResponseReceived function."]
17562#[repr(C)]
17563#[derive(Debug, Default, Copy, Clone)]
17564pub struct _tagEOS_CustomInvites_AddNotifyRequestToJoinResponseReceivedOptions {
17565 #[doc = " API Version: Set this to EOS_CUSTOMINVITES_ADDNOTIFYREQUESTTOJOINRESPONSERECEIVED_API_LATEST."]
17566 pub ApiVersion: i32,
17567}
17568#[doc = " Input parameters for the EOS_CustomInvites_AddNotifyRequestToJoinResponseReceived function."]
17569pub type EOS_CustomInvites_AddNotifyRequestToJoinResponseReceivedOptions =
17570 _tagEOS_CustomInvites_AddNotifyRequestToJoinResponseReceivedOptions;
17571#[doc = " The target of the invite request has accepted."]
17572pub const EOS_ERequestToJoinResponse_EOS_RTJR_ACCEPTED: EOS_ERequestToJoinResponse = 0;
17573#[doc = " The target of the invite request has rejected."]
17574pub const EOS_ERequestToJoinResponse_EOS_RTJR_REJECTED: EOS_ERequestToJoinResponse = 1;
17575pub const EOS_ERequestToJoinResponse___EOS_ERequestToJoinResponse_PAD_INT32__:
17576 EOS_ERequestToJoinResponse = 2147483647;
17577#[doc = " Response to an invite request."]
17578pub type EOS_ERequestToJoinResponse = ::std::os::raw::c_int;
17579#[doc = " Output parameters for the EOS_CustomInvites_OnRequestToJoinResponseReceivedCallback function."]
17580#[repr(C)]
17581#[derive(Debug, Copy, Clone)]
17582pub struct _tagEOS_CustomInvites_RequestToJoinResponseReceivedCallbackInfo {
17583 #[doc = " Context that was passed into EOS_CustomInvites_AddNotifyRequestToJoinResponseReceived"]
17584 pub ClientData: *mut ::std::os::raw::c_void,
17585 #[doc = " User that sent this response"]
17586 pub FromUserId: EOS_ProductUserId,
17587 #[doc = " Recipient Local user id"]
17588 pub ToUserId: EOS_ProductUserId,
17589 #[doc = " The Intent associated with this response"]
17590 pub Response: EOS_ERequestToJoinResponse,
17591}
17592impl Default for _tagEOS_CustomInvites_RequestToJoinResponseReceivedCallbackInfo {
17593 fn default() -> Self {
17594 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17595 unsafe {
17596 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17597 s.assume_init()
17598 }
17599 }
17600}
17601#[doc = " Output parameters for the EOS_CustomInvites_OnRequestToJoinResponseReceivedCallback function."]
17602pub type EOS_CustomInvites_RequestToJoinResponseReceivedCallbackInfo =
17603 _tagEOS_CustomInvites_RequestToJoinResponseReceivedCallbackInfo;
17604#[doc = " Function prototype definition for notifications that come from EOS_CustomInvites_AddNotifyRequestToJoinResponseReceived\n\n @param Data A EOS_CustomInvites_RequestToJoinResponseReceivedCallbackInfo containing the output information and result"]
17605pub type EOS_CustomInvites_OnRequestToJoinResponseReceivedCallback = ::std::option::Option<
17606 unsafe extern "C" fn(Data: *const EOS_CustomInvites_RequestToJoinResponseReceivedCallbackInfo),
17607>;
17608#[doc = " Input parameters for the AddNotifyRequestToJoinReceived function."]
17609#[repr(C)]
17610#[derive(Debug, Default, Copy, Clone)]
17611pub struct _tagEOS_CustomInvites_AddNotifyRequestToJoinReceivedOptions {
17612 #[doc = " API Version: Set this to EOS_CUSTOMINVITES_ADDNOTIFYREQUESTTOJOINRECEIVED_API_LATEST."]
17613 pub ApiVersion: i32,
17614}
17615#[doc = " Input parameters for the AddNotifyRequestToJoinReceived function."]
17616pub type EOS_CustomInvites_AddNotifyRequestToJoinReceivedOptions =
17617 _tagEOS_CustomInvites_AddNotifyRequestToJoinReceivedOptions;
17618#[doc = " Output parameters for the EOS_CustomInvites_AddNotifyRequestToJoinReceived function."]
17619#[repr(C)]
17620#[derive(Debug, Copy, Clone)]
17621pub struct _tagEOS_CustomInvites_RequestToJoinReceivedCallbackInfo {
17622 #[doc = " Context that was passed into EOS_CustomInvites_AddNotifyRequestToJoinReceived"]
17623 pub ClientData: *mut ::std::os::raw::c_void,
17624 #[doc = " User that sent this response"]
17625 pub FromUserId: EOS_ProductUserId,
17626 #[doc = " Recipient Local user id"]
17627 pub ToUserId: EOS_ProductUserId,
17628}
17629impl Default for _tagEOS_CustomInvites_RequestToJoinReceivedCallbackInfo {
17630 fn default() -> Self {
17631 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17632 unsafe {
17633 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17634 s.assume_init()
17635 }
17636 }
17637}
17638#[doc = " Output parameters for the EOS_CustomInvites_AddNotifyRequestToJoinReceived function."]
17639pub type EOS_CustomInvites_RequestToJoinReceivedCallbackInfo =
17640 _tagEOS_CustomInvites_RequestToJoinReceivedCallbackInfo;
17641#[doc = " Function prototype definition for notifications that comes from EOS_CustomInvites_AddNotifyRequestToJoinReceived\n\n @param Data A EOS_CustomInvites_RequestToJoinReceivedCallbackInfo containing the output information and result"]
17642pub type EOS_CustomInvites_OnRequestToJoinReceivedCallback = ::std::option::Option<
17643 unsafe extern "C" fn(Data: *const EOS_CustomInvites_RequestToJoinReceivedCallbackInfo),
17644>;
17645#[doc = " Input parameters for the EOS_CustomInvites_AcceptRequestToJoin function."]
17646#[repr(C)]
17647#[derive(Debug, Copy, Clone)]
17648pub struct _tagEOS_CustomInvites_AcceptRequestToJoinOptions {
17649 #[doc = " API Version: Set this to EOS_CUSTOMINVITES_ACCEPTREQUESTTOJOIN_API_LATEST."]
17650 pub ApiVersion: i32,
17651 #[doc = " Local user accepting a request to join"]
17652 pub LocalUserId: EOS_ProductUserId,
17653 #[doc = " Target user that sent original request to join"]
17654 pub TargetUserId: EOS_ProductUserId,
17655}
17656impl Default for _tagEOS_CustomInvites_AcceptRequestToJoinOptions {
17657 fn default() -> Self {
17658 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17659 unsafe {
17660 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17661 s.assume_init()
17662 }
17663 }
17664}
17665#[doc = " Input parameters for the EOS_CustomInvites_AcceptRequestToJoin function."]
17666pub type EOS_CustomInvites_AcceptRequestToJoinOptions =
17667 _tagEOS_CustomInvites_AcceptRequestToJoinOptions;
17668#[doc = " Output parameters for the EOS_CustomInvites_AcceptRequestToJoin Function. These parameters are received through the callback provided to EOS_CustomInvites_AcceptRequestToJoin"]
17669#[repr(C)]
17670#[derive(Debug, Copy, Clone)]
17671pub struct _tagEOS_CustomInvites_AcceptRequestToJoinCallbackInfo {
17672 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
17673 pub ResultCode: EOS_EResult,
17674 #[doc = " Context that was passed into EOS_CustomInvites_AcceptRequestToJoin"]
17675 pub ClientData: *mut ::std::os::raw::c_void,
17676 #[doc = " Local user accepting an invite request"]
17677 pub LocalUserId: EOS_ProductUserId,
17678 #[doc = " Target user that sent original invite request"]
17679 pub TargetUserId: EOS_ProductUserId,
17680}
17681impl Default for _tagEOS_CustomInvites_AcceptRequestToJoinCallbackInfo {
17682 fn default() -> Self {
17683 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17684 unsafe {
17685 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17686 s.assume_init()
17687 }
17688 }
17689}
17690#[doc = " Output parameters for the EOS_CustomInvites_AcceptRequestToJoin Function. These parameters are received through the callback provided to EOS_CustomInvites_AcceptRequestToJoin"]
17691pub type EOS_CustomInvites_AcceptRequestToJoinCallbackInfo =
17692 _tagEOS_CustomInvites_AcceptRequestToJoinCallbackInfo;
17693#[doc = " Function prototype definition for callbacks passed to EOS_CustomInvites_AcceptRequestToJoin\n @param Data A EOS_CustomInvites_AcceptRequestToJoinCallbackInfo containing the output information and result"]
17694pub type EOS_CustomInvites_OnAcceptRequestToJoinCallback = ::std::option::Option<
17695 unsafe extern "C" fn(Data: *const EOS_CustomInvites_AcceptRequestToJoinCallbackInfo),
17696>;
17697#[doc = " Input parameters for the EOS_CustomInvites_RejectRequestToJoin function."]
17698#[repr(C)]
17699#[derive(Debug, Copy, Clone)]
17700pub struct _tagEOS_CustomInvites_RejectRequestToJoinOptions {
17701 #[doc = " API Version: Set this to EOS_CUSTOMINVITES_REJECTREQUESTTOJOIN_API_LATEST."]
17702 pub ApiVersion: i32,
17703 #[doc = " Local user declining an invite request"]
17704 pub LocalUserId: EOS_ProductUserId,
17705 #[doc = " Target user that sent original invite request"]
17706 pub TargetUserId: EOS_ProductUserId,
17707}
17708impl Default for _tagEOS_CustomInvites_RejectRequestToJoinOptions {
17709 fn default() -> Self {
17710 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17711 unsafe {
17712 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17713 s.assume_init()
17714 }
17715 }
17716}
17717#[doc = " Input parameters for the EOS_CustomInvites_RejectRequestToJoin function."]
17718pub type EOS_CustomInvites_RejectRequestToJoinOptions =
17719 _tagEOS_CustomInvites_RejectRequestToJoinOptions;
17720#[doc = " Output parameters for the EOS_CustomInvites_RejectRequestToJoin Function. These parameters are received through the callback provided to EOS_CustomInvites_RejectRequestToJoin"]
17721#[repr(C)]
17722#[derive(Debug, Copy, Clone)]
17723pub struct _tagEOS_CustomInvites_RejectRequestToJoinCallbackInfo {
17724 #[doc = " The EOS_EResult code for the operation. EOS_Success indicates that the operation succeeded; other codes indicate errors."]
17725 pub ResultCode: EOS_EResult,
17726 #[doc = " Context that was passed into EOS_CustomInvites_RejectRequestToJoin"]
17727 pub ClientData: *mut ::std::os::raw::c_void,
17728 #[doc = " Local user declining a request to join"]
17729 pub LocalUserId: EOS_ProductUserId,
17730 #[doc = " Target user that sent original request to join"]
17731 pub TargetUserId: EOS_ProductUserId,
17732}
17733impl Default for _tagEOS_CustomInvites_RejectRequestToJoinCallbackInfo {
17734 fn default() -> Self {
17735 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17736 unsafe {
17737 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17738 s.assume_init()
17739 }
17740 }
17741}
17742#[doc = " Output parameters for the EOS_CustomInvites_RejectRequestToJoin Function. These parameters are received through the callback provided to EOS_CustomInvites_RejectRequestToJoin"]
17743pub type EOS_CustomInvites_RejectRequestToJoinCallbackInfo =
17744 _tagEOS_CustomInvites_RejectRequestToJoinCallbackInfo;
17745#[doc = " Function prototype definition for callbacks passed to EOS_CustomInvites_RejectRequestToJoin\n @param Data A EOS_CustomInvites_OnRejectRequestToJoinCallback containing the output information and result"]
17746pub type EOS_CustomInvites_OnRejectRequestToJoinCallback = ::std::option::Option<
17747 unsafe extern "C" fn(Data: *const EOS_CustomInvites_RejectRequestToJoinCallbackInfo),
17748>;
17749#[doc = " Input parameters for the EOS_CustomInvites_AddNotifySendCustomNativeInviteRequested function."]
17750#[repr(C)]
17751#[derive(Debug, Default, Copy, Clone)]
17752pub struct _tagEOS_CustomInvites_AddNotifySendCustomNativeInviteRequestedOptions {
17753 #[doc = " API Version: Set this to EOS_CUSTOMINVITES_ADDNOTIFYSENDCUSTOMNATIVEINVITEREQUESTED_API_LATEST."]
17754 pub ApiVersion: i32,
17755}
17756#[doc = " Input parameters for the EOS_CustomInvites_AddNotifySendCustomNativeInviteRequested function."]
17757pub type EOS_CustomInvites_AddNotifySendCustomNativeInviteRequestedOptions =
17758 _tagEOS_CustomInvites_AddNotifySendCustomNativeInviteRequestedOptions;
17759#[doc = " Output parameters for the EOS_CustomInvites_OnSendCustomNativeInviteRequestedCallback Function."]
17760#[repr(C)]
17761#[derive(Debug, Copy, Clone)]
17762pub struct _tagEOS_CustomInvites_SendCustomNativeInviteRequestedCallbackInfo {
17763 #[doc = " Context that was passed into EOS_CustomInvites_AddNotifySendCustomNativeInviteRequested"]
17764 pub ClientData: *mut ::std::os::raw::c_void,
17765 #[doc = " Identifies this event which will need to be acknowledged with EOS_UI_AcknowledgeEventId().\n @see EOS_UI_AcknowledgeEventId"]
17766 pub UiEventId: EOS_UI_EventId,
17767 #[doc = " The Product User ID of the local user who is inviting."]
17768 pub LocalUserId: EOS_ProductUserId,
17769 #[doc = " The Native Platform Account Type. If only a single integrated platform is configured then\n this will always reference that platform."]
17770 pub TargetNativeAccountType: EOS_IntegratedPlatformType,
17771 #[doc = " The Native Platform Account ID of the target user being invited."]
17772 pub TargetUserNativeAccountId: *const ::std::os::raw::c_char,
17773 #[doc = " Invite ID that the user is being invited to"]
17774 pub InviteId: *const ::std::os::raw::c_char,
17775}
17776impl Default for _tagEOS_CustomInvites_SendCustomNativeInviteRequestedCallbackInfo {
17777 fn default() -> Self {
17778 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17779 unsafe {
17780 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17781 s.assume_init()
17782 }
17783 }
17784}
17785#[doc = " Output parameters for the EOS_CustomInvites_OnSendCustomNativeInviteRequestedCallback Function."]
17786pub type EOS_CustomInvites_SendCustomNativeInviteRequestedCallbackInfo =
17787 _tagEOS_CustomInvites_SendCustomNativeInviteRequestedCallbackInfo;
17788#[doc = " Function prototype definition for notifications that comes from EOS_CustomInvites_AddNotifySendCustomNativeInviteRequested\n\n @param Data A EOS_CustomInvites_SendCustomNativeInviteRequestedCallbackInfo containing the output information and result\n\n @note After processing the callback EOS_UI_AcknowledgeEventId must be called.\n\n @see EOS_UI_AcknowledgeEventId"]
17789pub type EOS_CustomInvites_OnSendCustomNativeInviteRequestedCallback = ::std::option::Option<
17790 unsafe extern "C" fn(
17791 Data: *const EOS_CustomInvites_SendCustomNativeInviteRequestedCallbackInfo,
17792 ),
17793>;
17794#[doc = " Input parameters for the EOS_CustomInvites_AddNotifyRequestToJoinAccepted function."]
17795#[repr(C)]
17796#[derive(Debug, Default, Copy, Clone)]
17797pub struct _tagEOS_CustomInvites_AddNotifyRequestToJoinAcceptedOptions {
17798 #[doc = " API Version: Set this to EOS_CUSTOMINVITES_ADDNOTIFYREQUESTTOJOINACCEPTED_API_LATEST."]
17799 pub ApiVersion: i32,
17800}
17801#[doc = " Input parameters for the EOS_CustomInvites_AddNotifyRequestToJoinAccepted function."]
17802pub type EOS_CustomInvites_AddNotifyRequestToJoinAcceptedOptions =
17803 _tagEOS_CustomInvites_AddNotifyRequestToJoinAcceptedOptions;
17804#[doc = " Output parameters for the EOS_CustomInvites_OnRequestToJoinAcceptedCallback Function."]
17805#[repr(C)]
17806#[derive(Debug, Copy, Clone)]
17807pub struct _tagEOS_CustomInvites_OnRequestToJoinAcceptedCallbackInfo {
17808 #[doc = " Context that was passed into EOS_CustomInvites_AddNotifyRequestToJoinAccepted"]
17809 pub ClientData: *mut ::std::os::raw::c_void,
17810 #[doc = " User that sent the request to join"]
17811 pub TargetUserId: EOS_ProductUserId,
17812 #[doc = " Local user ID of the Request to Join recipient"]
17813 pub LocalUserId: EOS_ProductUserId,
17814}
17815impl Default for _tagEOS_CustomInvites_OnRequestToJoinAcceptedCallbackInfo {
17816 fn default() -> Self {
17817 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17818 unsafe {
17819 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17820 s.assume_init()
17821 }
17822 }
17823}
17824#[doc = " Output parameters for the EOS_CustomInvites_OnRequestToJoinAcceptedCallback Function."]
17825pub type EOS_CustomInvites_OnRequestToJoinAcceptedCallbackInfo =
17826 _tagEOS_CustomInvites_OnRequestToJoinAcceptedCallbackInfo;
17827#[doc = " Function prototype definition for notifications that comes from EOS_CustomInvites_AddNotifyRequestToJoinAccepted\n\n @param Data A EOS_CustomInvites_OnRequestToJoinAcceptedCallbackInfo containing the output information and result"]
17828pub type EOS_CustomInvites_OnRequestToJoinAcceptedCallback = ::std::option::Option<
17829 unsafe extern "C" fn(Data: *const EOS_CustomInvites_OnRequestToJoinAcceptedCallbackInfo),
17830>;
17831#[doc = " Input parameters for the EOS_CustomInvites_AddNotifyRequestToJoinRejected function."]
17832#[repr(C)]
17833#[derive(Debug, Default, Copy, Clone)]
17834pub struct _tagEOS_CustomInvites_AddNotifyRequestToJoinRejectedOptions {
17835 #[doc = " API Version: Set this to EOS_CUSTOMINVITES_ADDNOTIFYREQUESTTOJOINREJECTED_API_LATEST."]
17836 pub ApiVersion: i32,
17837}
17838#[doc = " Input parameters for the EOS_CustomInvites_AddNotifyRequestToJoinRejected function."]
17839pub type EOS_CustomInvites_AddNotifyRequestToJoinRejectedOptions =
17840 _tagEOS_CustomInvites_AddNotifyRequestToJoinRejectedOptions;
17841#[doc = " Output parameters for the EOS_CustomInvites_OnRequestToJoinRejectedCallback Function."]
17842#[repr(C)]
17843#[derive(Debug, Copy, Clone)]
17844pub struct _tagEOS_CustomInvites_OnRequestToJoinRejectedCallbackInfo {
17845 #[doc = " Context that was passed into EOS_CustomInvites_AddNotifyCustomInviteRejected"]
17846 pub ClientData: *mut ::std::os::raw::c_void,
17847 #[doc = " User that sent the custom invite"]
17848 pub TargetUserId: EOS_ProductUserId,
17849 #[doc = " Recipient Local user id"]
17850 pub LocalUserId: EOS_ProductUserId,
17851}
17852impl Default for _tagEOS_CustomInvites_OnRequestToJoinRejectedCallbackInfo {
17853 fn default() -> Self {
17854 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17855 unsafe {
17856 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17857 s.assume_init()
17858 }
17859 }
17860}
17861#[doc = " Output parameters for the EOS_CustomInvites_OnRequestToJoinRejectedCallback Function."]
17862pub type EOS_CustomInvites_OnRequestToJoinRejectedCallbackInfo =
17863 _tagEOS_CustomInvites_OnRequestToJoinRejectedCallbackInfo;
17864#[doc = " Function prototype definition for notifications that comes from EOS_CustomInvites_AddNotifyRequestToJoinRejected\n\n @param Data A EOS_CustomInvites_OnRequestToJoinRejectedCallbackInfo containing the output information and result"]
17865pub type EOS_CustomInvites_OnRequestToJoinRejectedCallback = ::std::option::Option<
17866 unsafe extern "C" fn(Data: *const EOS_CustomInvites_OnRequestToJoinRejectedCallbackInfo),
17867>;
17868unsafe extern "C" {
17869 #[doc = " Notify the platform instance to do work. This function must be called frequently in order for the services provided by the SDK to properly\n function. For tick-based applications, it is usually desirable to call this once per-tick."]
17870 pub fn EOS_Platform_Tick(Handle: EOS_HPlatform);
17871}
17872unsafe extern "C" {
17873 #[doc = " Get a handle to the Metrics Interface.\n @return EOS_HMetrics handle\n\n @see eos_metrics.h\n @see eos_metrics_types.h"]
17874 pub fn EOS_Platform_GetMetricsInterface(Handle: EOS_HPlatform) -> EOS_HMetrics;
17875}
17876unsafe extern "C" {
17877 #[doc = " Get a handle to the Auth Interface.\n @return EOS_HAuth handle\n\n @see eos_auth.h\n @see eos_auth_types.h"]
17878 pub fn EOS_Platform_GetAuthInterface(Handle: EOS_HPlatform) -> EOS_HAuth;
17879}
17880unsafe extern "C" {
17881 #[doc = " Get a handle to the Connect Interface.\n @return EOS_HConnect handle\n\n @see eos_connect.h\n @see eos_connect_types.h"]
17882 pub fn EOS_Platform_GetConnectInterface(Handle: EOS_HPlatform) -> EOS_HConnect;
17883}
17884unsafe extern "C" {
17885 #[doc = " Get a handle to the Ecom Interface.\n @return EOS_HEcom handle\n\n @see eos_ecom.h\n @see eos_ecom_types.h"]
17886 pub fn EOS_Platform_GetEcomInterface(Handle: EOS_HPlatform) -> EOS_HEcom;
17887}
17888unsafe extern "C" {
17889 #[doc = " Get a handle to the UI Interface.\n @return EOS_HUI handle\n\n @see eos_ui.h\n @see eos_ui_types.h"]
17890 pub fn EOS_Platform_GetUIInterface(Handle: EOS_HPlatform) -> EOS_HUI;
17891}
17892unsafe extern "C" {
17893 #[doc = " Get a handle to the Friends Interface.\n @return EOS_HFriends handle\n\n @see eos_friends.h\n @see eos_friends_types.h"]
17894 pub fn EOS_Platform_GetFriendsInterface(Handle: EOS_HPlatform) -> EOS_HFriends;
17895}
17896unsafe extern "C" {
17897 #[doc = " Get a handle to the Presence Interface.\n @return EOS_HPresence handle\n\n @see eos_presence.h\n @see eos_presence_types.h"]
17898 pub fn EOS_Platform_GetPresenceInterface(Handle: EOS_HPlatform) -> EOS_HPresence;
17899}
17900unsafe extern "C" {
17901 #[doc = " Get a handle to the Sessions Interface.\n @return EOS_HSessions handle\n\n @see eos_sessions.h\n @see eos_sessions_types.h"]
17902 pub fn EOS_Platform_GetSessionsInterface(Handle: EOS_HPlatform) -> EOS_HSessions;
17903}
17904unsafe extern "C" {
17905 #[doc = " Get a handle to the Lobby Interface.\n @return EOS_HLobby handle\n\n @see eos_lobby.h\n @see eos_lobby_types.h"]
17906 pub fn EOS_Platform_GetLobbyInterface(Handle: EOS_HPlatform) -> EOS_HLobby;
17907}
17908unsafe extern "C" {
17909 #[doc = " Get a handle to the UserInfo Interface.\n @return EOS_HUserInfo handle\n\n @see eos_userinfo.h\n @see eos_userinfo_types.h"]
17910 pub fn EOS_Platform_GetUserInfoInterface(Handle: EOS_HPlatform) -> EOS_HUserInfo;
17911}
17912unsafe extern "C" {
17913 #[doc = " Get a handle to the Peer-to-Peer Networking Interface.\n @return EOS_HP2P handle\n\n @see eos_p2p.h\n @see eos_p2p_types.h"]
17914 pub fn EOS_Platform_GetP2PInterface(Handle: EOS_HPlatform) -> EOS_HP2P;
17915}
17916unsafe extern "C" {
17917 #[doc = " Get a handle to the Real Time Communications Interface (RTC).\n From the RTC interface you can retrieve the handle to the audio interface (RTCAudio), which is a component of RTC.\n @return EOS_HRTC handle\n\n @see EOS_RTC_GetAudioInterface\n @see eos_rtc.h\n @see eos_rtc_types.h"]
17918 pub fn EOS_Platform_GetRTCInterface(Handle: EOS_HPlatform) -> EOS_HRTC;
17919}
17920unsafe extern "C" {
17921 #[doc = " Get a handle to the RTC Admin interface\n @return EOS_HRTCAdmin handle\n\n @see eos_rtc_admin.h\n @see eos_rtc_admin_types.h"]
17922 pub fn EOS_Platform_GetRTCAdminInterface(Handle: EOS_HPlatform) -> EOS_HRTCAdmin;
17923}
17924unsafe extern "C" {
17925 #[doc = " Get a handle to the PlayerDataStorage Interface.\n @return EOS_HPlayerDataStorage handle\n\n @see eos_playerdatastorage.h\n @see eos_playerdatastorage_types.h"]
17926 pub fn EOS_Platform_GetPlayerDataStorageInterface(
17927 Handle: EOS_HPlatform,
17928 ) -> EOS_HPlayerDataStorage;
17929}
17930unsafe extern "C" {
17931 #[doc = " Get a handle to the TitleStorage Interface.\n @return EOS_HTitleStorage handle\n\n @see eos_titlestorage.h\n @see eos_titlestorage_types.h"]
17932 pub fn EOS_Platform_GetTitleStorageInterface(Handle: EOS_HPlatform) -> EOS_HTitleStorage;
17933}
17934unsafe extern "C" {
17935 #[doc = " Get a handle to the Achievements Interface.\n @return EOS_HAchievements handle\n\n @see eos_achievements.h\n @see eos_achievements_types.h"]
17936 pub fn EOS_Platform_GetAchievementsInterface(Handle: EOS_HPlatform) -> EOS_HAchievements;
17937}
17938unsafe extern "C" {
17939 #[doc = " Get a handle to the Stats Interface.\n @return EOS_HStats handle\n\n @see eos_stats.h\n @see eos_stats_types.h"]
17940 pub fn EOS_Platform_GetStatsInterface(Handle: EOS_HPlatform) -> EOS_HStats;
17941}
17942unsafe extern "C" {
17943 #[doc = " Get a handle to the Leaderboards Interface.\n @return EOS_HLeaderboards handle\n\n @see eos_leaderboards.h\n @see eos_leaderboards_types.h"]
17944 pub fn EOS_Platform_GetLeaderboardsInterface(Handle: EOS_HPlatform) -> EOS_HLeaderboards;
17945}
17946unsafe extern "C" {
17947 #[doc = " Get a handle to the Mods Interface.\n @return EOS_HMods handle\n\n @see eos_mods.h\n @see eos_mods_types.h"]
17948 pub fn EOS_Platform_GetModsInterface(Handle: EOS_HPlatform) -> EOS_HMods;
17949}
17950unsafe extern "C" {
17951 #[doc = " Get a handle to the Anti-Cheat Client Interface.\n @return EOS_HAntiCheatClient handle\n\n @see eos_anticheatclient.h\n @see eos_anticheatclient_types.h"]
17952 pub fn EOS_Platform_GetAntiCheatClientInterface(Handle: EOS_HPlatform) -> EOS_HAntiCheatClient;
17953}
17954unsafe extern "C" {
17955 #[doc = " Get a handle to the Anti-Cheat Server Interface.\n @return EOS_HAntiCheatServer handle\n\n @see eos_anticheatserver.h\n @see eos_anticheatserver_types.h"]
17956 pub fn EOS_Platform_GetAntiCheatServerInterface(Handle: EOS_HPlatform) -> EOS_HAntiCheatServer;
17957}
17958unsafe extern "C" {
17959 #[doc = " Get a handle to the ProgressionSnapshot Interface.\n @return EOS_HProgressionSnapshot handle\n\n @see eos_progressionsnapshot.h\n @see eos_progressionsnapshot_types.h"]
17960 pub fn EOS_Platform_GetProgressionSnapshotInterface(
17961 Handle: EOS_HPlatform,
17962 ) -> EOS_HProgressionSnapshot;
17963}
17964unsafe extern "C" {
17965 #[doc = " Get a handle to the Reports Interface.\n @return EOS_HReports handle\n\n @see eos_reports.h\n @see eos_reports_types.h"]
17966 pub fn EOS_Platform_GetReportsInterface(Handle: EOS_HPlatform) -> EOS_HReports;
17967}
17968unsafe extern "C" {
17969 #[doc = " Get a handle to the Sanctions Interface.\n @return EOS_HSanctions handle\n\n @see eos_sanctions.h\n @see eos_sanctions_types.h"]
17970 pub fn EOS_Platform_GetSanctionsInterface(Handle: EOS_HPlatform) -> EOS_HSanctions;
17971}
17972unsafe extern "C" {
17973 #[doc = " Get a handle to the Kids Web Service Interface.\n @return EOS_HKWS handle\n\n @see eos_kws.h\n @see eos_kws_types.h"]
17974 pub fn EOS_Platform_GetKWSInterface(Handle: EOS_HPlatform) -> EOS_HKWS;
17975}
17976unsafe extern "C" {
17977 #[doc = " Get a handle to the Custom Invites Interface.\n @return EOS_HCustomInvites handle\n\n @see eos_custominvites.h\n @see eos_custominvites_types.h"]
17978 pub fn EOS_Platform_GetCustomInvitesInterface(Handle: EOS_HPlatform) -> EOS_HCustomInvites;
17979}
17980unsafe extern "C" {
17981 #[doc = " Get a handle to the Integrated Platform Interface.\n @return EOS_HIntegratedPlatform handle\n\n @see eos_integratedplatform.h\n @see eos_integratedplatform_types.h"]
17982 pub fn EOS_Platform_GetIntegratedPlatformInterface(
17983 Handle: EOS_HPlatform,
17984 ) -> EOS_HIntegratedPlatform;
17985}
17986unsafe extern "C" {
17987 #[doc = " This only will return the value set as the override otherwise EOS_NotFound is returned.\n This is not currently used for anything internally.\n\n @param LocalUserId The account to use for lookup if no override exists.\n @param OutBuffer The buffer into which the character data should be written. The buffer must be long enough to hold a string of EOS_COUNTRYCODE_MAX_LENGTH.\n @param InOutBufferLength The size of the OutBuffer in characters.\n The input buffer should include enough space to be null-terminated.\n When the function returns, this parameter will be filled with the length of the string copied into OutBuffer.\n\n @return An EOS_EResult that indicates whether the active country code string was copied into the OutBuffer.\n - EOS_Success if the information is available and passed out in OutBuffer\n - EOS_InvalidParameters if you pass a null pointer for the out parameter\n - EOS_NotFound if there is not an override country code for the user.\n - EOS_LimitExceeded - The OutBuffer is not large enough to receive the country code string. InOutBufferLength contains the required minimum length to perform the operation successfully.\n\n @see eos_ecom.h\n @see EOS_COUNTRYCODE_MAX_LENGTH"]
17988 pub fn EOS_Platform_GetActiveCountryCode(
17989 Handle: EOS_HPlatform,
17990 LocalUserId: EOS_EpicAccountId,
17991 OutBuffer: *mut ::std::os::raw::c_char,
17992 InOutBufferLength: *mut i32,
17993 ) -> EOS_EResult;
17994}
17995unsafe extern "C" {
17996 #[doc = " Get the active locale code that the SDK will send to services which require it.\n This returns the override value otherwise it will use the locale code of the given user.\n This is used for localization. This follows ISO 639.\n\n @param LocalUserId The account to use for lookup if no override exists.\n @param OutBuffer The buffer into which the character data should be written. The buffer must be long enough to hold a string of EOS_LOCALECODE_MAX_LENGTH.\n @param InOutBufferLength The size of the OutBuffer in characters.\n The input buffer should include enough space to be null-terminated.\n When the function returns, this parameter will be filled with the length of the string copied into OutBuffer.\n\n @return An EOS_EResult that indicates whether the active locale code string was copied into the OutBuffer.\n - EOS_Success if the information is available and passed out in OutBuffer\n - EOS_InvalidParameters if you pass a null pointer for the out parameter\n - EOS_NotFound if there is neither an override nor an available locale code for the user.\n - EOS_LimitExceeded - The OutBuffer is not large enough to receive the locale code string. InOutBufferLength contains the required minimum length to perform the operation successfully.\n\n @see eos_ecom.h\n @see EOS_LOCALECODE_MAX_LENGTH"]
17997 pub fn EOS_Platform_GetActiveLocaleCode(
17998 Handle: EOS_HPlatform,
17999 LocalUserId: EOS_EpicAccountId,
18000 OutBuffer: *mut ::std::os::raw::c_char,
18001 InOutBufferLength: *mut i32,
18002 ) -> EOS_EResult;
18003}
18004unsafe extern "C" {
18005 #[doc = " Get the override country code that the SDK will send to services which require it.\n This is not currently used for anything internally.\n\n @param OutBuffer The buffer into which the character data should be written. The buffer must be long enough to hold a string of EOS_COUNTRYCODE_MAX_LENGTH.\n @param InOutBufferLength The size of the OutBuffer in characters.\n The input buffer should include enough space to be null-terminated.\n When the function returns, this parameter will be filled with the length of the string copied into OutBuffer.\n\n @return An EOS_EResult that indicates whether the override country code string was copied into the OutBuffer.\n - EOS_Success if the information is available and passed out in OutBuffer\n - EOS_InvalidParameters if you pass a null pointer for the out parameter\n - EOS_LimitExceeded - The OutBuffer is not large enough to receive the country code string. InOutBufferLength contains the required minimum length to perform the operation successfully.\n\n @see eos_ecom.h\n @see EOS_COUNTRYCODE_MAX_LENGTH"]
18006 pub fn EOS_Platform_GetOverrideCountryCode(
18007 Handle: EOS_HPlatform,
18008 OutBuffer: *mut ::std::os::raw::c_char,
18009 InOutBufferLength: *mut i32,
18010 ) -> EOS_EResult;
18011}
18012unsafe extern "C" {
18013 #[doc = " Get the override locale code that the SDK will send to services which require it.\n This is used for localization. This follows ISO 639.\n\n @param OutBuffer The buffer into which the character data should be written. The buffer must be long enough to hold a string of EOS_LOCALECODE_MAX_LENGTH.\n @param InOutBufferLength The size of the OutBuffer in characters.\n The input buffer should include enough space to be null-terminated.\n When the function returns, this parameter will be filled with the length of the string copied into OutBuffer.\n\n @return An EOS_EResult that indicates whether the override locale code string was copied into the OutBuffer.\n - EOS_Success if the information is available and passed out in OutBuffer\n - EOS_InvalidParameters if you pass a null pointer for the out parameter\n - EOS_LimitExceeded - The OutBuffer is not large enough to receive the locale code string. InOutBufferLength contains the required minimum length to perform the operation successfully.\n\n @see eos_ecom.h\n @see EOS_LOCALECODE_MAX_LENGTH"]
18014 pub fn EOS_Platform_GetOverrideLocaleCode(
18015 Handle: EOS_HPlatform,
18016 OutBuffer: *mut ::std::os::raw::c_char,
18017 InOutBufferLength: *mut i32,
18018 ) -> EOS_EResult;
18019}
18020unsafe extern "C" {
18021 #[doc = " Set the override country code that the SDK will send to services which require it.\n This is not currently used for anything internally.\n\n @return An EOS_EResult that indicates whether the override country code string was saved.\n - EOS_Success if the country code was overridden\n - EOS_InvalidParameters if you pass an invalid country code\n\n @see eos_ecom.h\n @see EOS_COUNTRYCODE_MAX_LENGTH"]
18022 pub fn EOS_Platform_SetOverrideCountryCode(
18023 Handle: EOS_HPlatform,
18024 NewCountryCode: *const ::std::os::raw::c_char,
18025 ) -> EOS_EResult;
18026}
18027unsafe extern "C" {
18028 #[doc = " Set the override locale code that the SDK will send to services which require it.\n This is used for localization. This follows ISO 639.\n\n @return An EOS_EResult that indicates whether the override locale code string was saved.\n - EOS_Success if the locale code was overridden\n - EOS_InvalidParameters if you pass an invalid locale code\n\n @see eos_ecom.h\n @see EOS_LOCALECODE_MAX_LENGTH"]
18029 pub fn EOS_Platform_SetOverrideLocaleCode(
18030 Handle: EOS_HPlatform,
18031 NewLocaleCode: *const ::std::os::raw::c_char,
18032 ) -> EOS_EResult;
18033}
18034unsafe extern "C" {
18035 #[doc = " Checks if the app was launched through the Epic Games Launcher, and relaunches it through the Epic Games Launcher if it wasn't.\n\n NOTE: During the call to EOS_Platform_Create, the command line that was used to launch the app is inspected, and if it is\n recognized as coming from the Epic Games Launcher, an environment variable is set to 1. The name of the environment variable\n is defined by EOS_PLATFORM_CHECKFORLAUNCHERANDRESTART_ENV_VAR.\n\n You can force the EOS_Platform_CheckForLauncherAndRestart API to relaunch the title by\n explicitly unsetting this environment variable before calling EOS_Platform_CheckForLauncherAndRestart.\n\n @return An EOS_EResult is returned to indicate success or an error.\n\n EOS_Success is returned if the app is being restarted. You should quit your process as soon as possible.\n EOS_NoChange is returned if the app was already launched through the Epic Launcher, and no action needs to be taken.\n EOS_UnexpectedError is returned if the LauncherCheck module failed to initialize, or the module tried and failed to restart the app."]
18036 pub fn EOS_Platform_CheckForLauncherAndRestart(Handle: EOS_HPlatform) -> EOS_EResult;
18037}
18038unsafe extern "C" {
18039 #[doc = " Windows only.\n Checks that the application is ready to use desktop crossplay functionality, with the necessary prerequisites having been met.\n\n This function verifies that the application was launched through the Bootstrapper application,\n the redistributable service has been installed and is running in the background,\n and that the overlay has been loaded successfully.\n\n On Windows, the desktop crossplay functionality is required to use Epic accounts login\n with applications that are distributed outside the Epic Games Store.\n\n @param Options input structure that specifies the API version.\n @param OutDesktopCrossplayStatusInfo output structure to receive the desktop crossplay status information.\n\n @return An EOS_EResult is returned to indicate success or an error.\n - EOS_NotImplemented is returned on non-Windows platforms.\n\n @see EOS_Platform_GetDesktopCrossplayStatusOptions\n @see EOS_Platform_DesktopCrossplayStatusInfo"]
18040 pub fn EOS_Platform_GetDesktopCrossplayStatus(
18041 Handle: EOS_HPlatform,
18042 Options: *const EOS_Platform_GetDesktopCrossplayStatusOptions,
18043 OutDesktopCrossplayStatusInfo: *mut EOS_Platform_DesktopCrossplayStatusInfo,
18044 ) -> EOS_EResult;
18045}
18046unsafe extern "C" {
18047 #[doc = " Notify a change in application state.\n\n @note Calling SetApplicationStatus must happen before Tick when foregrounding for the cases where we won't get the background notification.\n\n @param NewStatus The new status for the application.\n\n @return An EOS_EResult that indicates whether we changed the application status successfully.\n - EOS_Success if the application was changed successfully.\n - EOS_InvalidParameters if the value of NewStatus is invalid.\n - EOS_NotImplemented if EOS_AS_BackgroundConstrained or EOS_AS_BackgroundUnconstrained are attempted to be set on platforms that do not have such application states."]
18048 pub fn EOS_Platform_SetApplicationStatus(
18049 Handle: EOS_HPlatform,
18050 NewStatus: EOS_EApplicationStatus,
18051 ) -> EOS_EResult;
18052}
18053unsafe extern "C" {
18054 #[doc = " Retrieves the current application state as told to the SDK by the application.\n\n @return The current application status."]
18055 pub fn EOS_Platform_GetApplicationStatus(Handle: EOS_HPlatform) -> EOS_EApplicationStatus;
18056}
18057unsafe extern "C" {
18058 #[doc = " Notify a change in network state.\n\n @param NewStatus The new network status.\n\n @return An EOS_EResult that indicates whether we changed the network status successfully.\n - EOS_Success if the network was changed successfully.\n - EOS_InvalidParameters if the value of NewStatus is invalid."]
18059 pub fn EOS_Platform_SetNetworkStatus(
18060 Handle: EOS_HPlatform,
18061 NewStatus: EOS_ENetworkStatus,
18062 ) -> EOS_EResult;
18063}
18064unsafe extern "C" {
18065 #[doc = " Retrieves the current network state as told to the SDK by the application.\n\n @return The current network status."]
18066 pub fn EOS_Platform_GetNetworkStatus(Handle: EOS_HPlatform) -> EOS_ENetworkStatus;
18067}
18068unsafe extern "C" {
18069 #[doc = " Login/Authenticate with user credentials.\n\n @param Options structure containing the account credentials to use during the login operation\n @param ClientData arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate a callback that is fired when the login operation completes, either successfully or in error\n\n @see EOS_Auth_LoginOptions\n @see EOS_Auth_OnLoginCallback"]
18070 pub fn EOS_Auth_Login(
18071 Handle: EOS_HAuth,
18072 Options: *const EOS_Auth_LoginOptions,
18073 ClientData: *mut ::std::os::raw::c_void,
18074 CompletionDelegate: EOS_Auth_OnLoginCallback,
18075 );
18076}
18077unsafe extern "C" {
18078 #[doc = " Signs the player out of the online service.\n\n @param Options structure containing information about which account to log out.\n @param ClientData arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate a callback that is fired when the logout operation completes, either successfully or in error\n\n @see EOS_Auth_LogoutOptions\n @see EOS_Auth_OnLogoutCallback"]
18079 pub fn EOS_Auth_Logout(
18080 Handle: EOS_HAuth,
18081 Options: *const EOS_Auth_LogoutOptions,
18082 ClientData: *mut ::std::os::raw::c_void,
18083 CompletionDelegate: EOS_Auth_OnLogoutCallback,
18084 );
18085}
18086unsafe extern "C" {
18087 #[doc = " Link external account by continuing previous login attempt with a continuance token.\n\n The user will be presented with Epic Accounts onboarding flow managed by the SDK.\n\n On success, the user will be logged in at the completion of this action.\n This will commit this external account to the Epic Account and cannot be undone in the SDK.\n\n @param Options structure containing the account credentials to use during the link account operation\n @param ClientData arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate a callback that is fired when the link account operation completes, either successfully or in error\n\n @see EOS_Auth_LinkAccountOptions\n @see EOS_Auth_OnLinkAccountCallback"]
18088 pub fn EOS_Auth_LinkAccount(
18089 Handle: EOS_HAuth,
18090 Options: *const EOS_Auth_LinkAccountOptions,
18091 ClientData: *mut ::std::os::raw::c_void,
18092 CompletionDelegate: EOS_Auth_OnLinkAccountCallback,
18093 );
18094}
18095unsafe extern "C" {
18096 #[doc = " Deletes a previously received and locally stored persistent auth access token for the currently logged in user of the local device.\n\n On Desktop and Mobile platforms, the access token is deleted from the keychain of the local user and a backend request is made to revoke the token on the authentication server.\n On Console platforms, even though the caller is responsible for storing and deleting the access token on the local device,\n this function should still be called with the access token before its deletion to make the best effort in attempting to also revoke it on the authentication server.\n If the function would fail on Console, the caller should still proceed as normal to delete the access token locally as intended.\n\n @param Options structure containing operation input parameters\n @param ClientData arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate a callback that is fired when the deletion operation completes, either successfully or in error\n\n @see EOS_Auth_DeletePersistentAuthOptions\n @see EOS_Auth_OnDeletePersistentAuthCallback"]
18097 pub fn EOS_Auth_DeletePersistentAuth(
18098 Handle: EOS_HAuth,
18099 Options: *const EOS_Auth_DeletePersistentAuthOptions,
18100 ClientData: *mut ::std::os::raw::c_void,
18101 CompletionDelegate: EOS_Auth_OnDeletePersistentAuthCallback,
18102 );
18103}
18104unsafe extern "C" {
18105 #[doc = " Contact the backend service to verify validity of an existing user auth token.\n This function is intended for server-side use only.\n\n @param Options structure containing information about the auth token being verified\n @param ClientData arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate a callback that is fired when the logout operation completes, either successfully or in error\n\n @see EOS_Auth_VerifyUserAuthOptions\n @see EOS_Auth_OnVerifyUserAuthCallback\n @see EOS_Auth_CopyUserAuthToken"]
18106 pub fn EOS_Auth_VerifyUserAuth(
18107 Handle: EOS_HAuth,
18108 Options: *const EOS_Auth_VerifyUserAuthOptions,
18109 ClientData: *mut ::std::os::raw::c_void,
18110 CompletionDelegate: EOS_Auth_OnVerifyUserAuthCallback,
18111 );
18112}
18113unsafe extern "C" {
18114 #[doc = " Fetch the number of accounts that are logged in.\n\n @return the number of accounts logged in."]
18115 pub fn EOS_Auth_GetLoggedInAccountsCount(Handle: EOS_HAuth) -> i32;
18116}
18117unsafe extern "C" {
18118 #[doc = " Fetch an Epic Account ID that is logged in.\n\n @param Index An index into the list of logged in accounts. If the index is out of bounds, the returned Epic Account ID will be invalid.\n\n @return The Epic Account ID associated with the index passed"]
18119 pub fn EOS_Auth_GetLoggedInAccountByIndex(Handle: EOS_HAuth, Index: i32) -> EOS_EpicAccountId;
18120}
18121unsafe extern "C" {
18122 #[doc = " Fetches the login status for an Epic Account ID.\n\n @param LocalUserId The Epic Account ID of the user being queried\n\n @return The enum value of a user's login status"]
18123 pub fn EOS_Auth_GetLoginStatus(
18124 Handle: EOS_HAuth,
18125 LocalUserId: EOS_EpicAccountId,
18126 ) -> EOS_ELoginStatus;
18127}
18128unsafe extern "C" {
18129 #[doc = " Fetch a user auth token for an Epic Account ID.\n\n A user authentication token allows any code with possession (backend/client) to perform certain actions on behalf of the user.\n Because of this, for the purposes of user identity verification, the EOS_Auth_CopyIdToken API should be used instead.\n\n @param Options Structure containing the api version of CopyUserAuthToken to use\n @param LocalUserId The Epic Account ID of the user being queried\n @param OutUserAuthToken The auth token for the given user, if it exists and is valid; use EOS_Auth_Token_Release when finished\n\n @see EOS_Auth_CopyUserAuthTokenOptions\n @see EOS_Auth_Token\n @see EOS_Auth_Token_Release\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if the information is available and passed out in OutUserAuthToken\n - EOS_InvalidParameters if you pass a null pointer for the out parameter\n - EOS_NotFound if the auth token is not found or expired.\n"]
18130 pub fn EOS_Auth_CopyUserAuthToken(
18131 Handle: EOS_HAuth,
18132 Options: *const EOS_Auth_CopyUserAuthTokenOptions,
18133 LocalUserId: EOS_EpicAccountId,
18134 OutUserAuthToken: *mut *mut EOS_Auth_Token,
18135 ) -> EOS_EResult;
18136}
18137unsafe extern "C" {
18138 #[doc = " Fetch an ID token for an Epic Account ID.\n\n ID tokens are used to securely verify user identities with online services.\n The most common use case is using an ID token to authenticate the local user by their selected account ID,\n which is the account ID that should be used to access any game-scoped data for the current application.\n\n An ID token for the selected account ID of a locally authenticated user will always be readily available.\n To retrieve it for the selected account ID, you can use EOS_Auth_CopyIdToken directly after a successful user login.\n\n @param Options Structure containing the account ID for which to copy an ID token.\n @param OutIdToken An ID token for the given user, if it exists and is valid; use EOS_Auth_IdToken_Release when finished.\n\n @see EOS_Auth_CopyIdTokenOptions\n @see EOS_Auth_IdToken\n @see EOS_Auth_IdToken_Release\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if the information is available and passed out in OutUserIdToken\n - EOS_InvalidParameters if you pass a null pointer for the out parameter\n - EOS_NotFound if the Id token is not found or expired.\n"]
18139 pub fn EOS_Auth_CopyIdToken(
18140 Handle: EOS_HAuth,
18141 Options: *const EOS_Auth_CopyIdTokenOptions,
18142 OutIdToken: *mut *mut EOS_Auth_IdToken,
18143 ) -> EOS_EResult;
18144}
18145unsafe extern "C" {
18146 #[doc = " Query the backend for an ID token that describes one of the merged account IDs of a local authenticated user.\n\n The ID token can be used to impersonate a merged account ID when communicating with online services.\n\n An ID token for the selected account ID of a locally authenticated user will always be readily available and does not need to be queried explicitly.\n\n @param Options Structure containing the merged account ID for which to query an ID token.\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate.\n @param CompletionDelegate A callback that is fired when the operation completes, either successfully or in error.\n\n @see EOS_Auth_QueryIdTokenOptions\n @see EOS_Auth_OnQueryIdTokenCallback"]
18147 pub fn EOS_Auth_QueryIdToken(
18148 Handle: EOS_HAuth,
18149 Options: *const EOS_Auth_QueryIdTokenOptions,
18150 ClientData: *mut ::std::os::raw::c_void,
18151 CompletionDelegate: EOS_Auth_OnQueryIdTokenCallback,
18152 );
18153}
18154unsafe extern "C" {
18155 #[doc = " Verify a given ID token for authenticity and validity.\n\n @param Options Structure containing information about the ID token to verify.\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate A callback that is fired when the operation completes, either successfully or in error.\n\n @see EOS_Auth_VerifyIdTokenOptions\n @see EOS_Auth_OnVerifyIdTokenCallback"]
18156 pub fn EOS_Auth_VerifyIdToken(
18157 Handle: EOS_HAuth,
18158 Options: *const EOS_Auth_VerifyIdTokenOptions,
18159 ClientData: *mut ::std::os::raw::c_void,
18160 CompletionDelegate: EOS_Auth_OnVerifyIdTokenCallback,
18161 );
18162}
18163unsafe extern "C" {
18164 #[doc = " Fetch the selected account ID to the current application for a local authenticated user.\n\n @param LocalUserId The account ID of a currently logged in account.\n @param OutSelectedAccountId The selected account ID corresponding to the given account ID.\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if the user is logged in and the information is available.\n - EOS_InvalidParameters if the output parameter is NULL.\n - EOS_InvalidUser if the input account ID is not locally known.\n - EOS_InvalidAuth if the input account ID is not locally logged in.\n - EOS_NotFound otherwise."]
18165 pub fn EOS_Auth_GetSelectedAccountId(
18166 Handle: EOS_HAuth,
18167 LocalUserId: EOS_EpicAccountId,
18168 OutSelectedAccountId: *mut EOS_EpicAccountId,
18169 ) -> EOS_EResult;
18170}
18171unsafe extern "C" {
18172 #[doc = " Fetch the number of merged accounts for a given logged in account.\n\n @param LocalUserId The account ID of a currently logged in account.\n\n @return the number of merged accounts for the logged in account."]
18173 pub fn EOS_Auth_GetMergedAccountsCount(
18174 Handle: EOS_HAuth,
18175 LocalUserId: EOS_EpicAccountId,
18176 ) -> u32;
18177}
18178unsafe extern "C" {
18179 #[doc = " Fetch one of the merged account IDs for a given logged in account.\n\n @param LocalUserId The account ID of a currently logged in account.\n @param Index An index into the list of merged accounts. If the index is out of bounds, the returned Epic Account ID will be invalid.\n\n @return The Epic Account ID associated with the index passed."]
18180 pub fn EOS_Auth_GetMergedAccountByIndex(
18181 Handle: EOS_HAuth,
18182 LocalUserId: EOS_EpicAccountId,
18183 Index: u32,
18184 ) -> EOS_EpicAccountId;
18185}
18186unsafe extern "C" {
18187 #[doc = " Register to receive login status updates.\n @note If the returned NotificationId is valid, you must call EOS_Auth_RemoveNotifyLoginStatusChanged when you no longer wish to have your NotificationHandler called.\n\n @param Options structure containing the api version of AddNotifyLoginStatusChanged to use\n @param ClientData arbitrary data that is passed back to you in the callback\n @param Notification a callback that is fired when the login status for a user changes\n\n @see EOS_Auth_AddNotifyLoginStatusChangedOptions\n @see EOS_Auth_OnLoginStatusChangedCallback\n\n @return handle representing the registered callback"]
18188 pub fn EOS_Auth_AddNotifyLoginStatusChanged(
18189 Handle: EOS_HAuth,
18190 Options: *const EOS_Auth_AddNotifyLoginStatusChangedOptions,
18191 ClientData: *mut ::std::os::raw::c_void,
18192 Notification: EOS_Auth_OnLoginStatusChangedCallback,
18193 ) -> EOS_NotificationId;
18194}
18195unsafe extern "C" {
18196 #[doc = " Unregister from receiving login status updates.\n\n @param InId handle representing the registered callback"]
18197 pub fn EOS_Auth_RemoveNotifyLoginStatusChanged(Handle: EOS_HAuth, InId: EOS_NotificationId);
18198}
18199unsafe extern "C" {
18200 #[doc = " Creates a lobby and adds the user to the lobby membership. There is no data associated with the lobby at the start and can be added vis EOS_Lobby_UpdateLobbyModification\n\n If the lobby is successfully created with an RTC Room enabled, the lobby system will automatically join and maintain the connection to the RTC room as long as the\n local user remains in the lobby. Applications can use the EOS_Lobby_GetRTCRoomName to get the name of the RTC Room associated with a lobby, which may be used with\n many of the functions in the RTC interface. This can be useful to: register for notifications for talking status; to mute or unmute the local user's audio output;\n to block or unblock room participants; to set local audio device settings; and more.\n\n @param Options Required fields for the creation of a lobby such as a user count and its starting advertised state\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate A callback that is fired when the create operation completes, either successfully or in error\n\n @see EOS_Lobby_CreateLobbyOptions\n @see EOS_Lobby_OnCreateLobbyCallback"]
18201 pub fn EOS_Lobby_CreateLobby(
18202 Handle: EOS_HLobby,
18203 Options: *const EOS_Lobby_CreateLobbyOptions,
18204 ClientData: *mut ::std::os::raw::c_void,
18205 CompletionDelegate: EOS_Lobby_OnCreateLobbyCallback,
18206 );
18207}
18208unsafe extern "C" {
18209 #[doc = " Destroy a lobby given a lobby ID\n\n @param Options Structure containing information about the lobby to be destroyed\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate A callback that is fired when the destroy operation completes, either successfully or in error\n\n @see EOS_Lobby_DestroyLobbyOptions\n @see EOS_Lobby_OnDestroyLobbyCallback"]
18210 pub fn EOS_Lobby_DestroyLobby(
18211 Handle: EOS_HLobby,
18212 Options: *const EOS_Lobby_DestroyLobbyOptions,
18213 ClientData: *mut ::std::os::raw::c_void,
18214 CompletionDelegate: EOS_Lobby_OnDestroyLobbyCallback,
18215 );
18216}
18217unsafe extern "C" {
18218 #[doc = " Join a lobby, creating a local instance under a given lobby ID. Backend will validate various conditions to make sure it is possible to join the lobby.\n\n If the lobby is successfully join has an RTC Room enabled, the lobby system will automatically join and maintain the connection to the RTC room as long as the\n local user remains in the lobby. Applications can use the EOS_Lobby_GetRTCRoomName to get the name of the RTC Room associated with a lobby, which may be used with\n many of the functions in the RTC interface. This can be useful to: register for notifications for talking status; to mute or unmute the local user's audio output;\n to block or unblock room participants; to set local audio device settings; and more.\n\n @param Options Structure containing information about the lobby to be joined\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate A callback that is fired when the join operation completes, either successfully or in error\n\n @see EOS_Lobby_JoinLobbyOptions\n @see EOS_Lobby_OnJoinLobbyCallback"]
18219 pub fn EOS_Lobby_JoinLobby(
18220 Handle: EOS_HLobby,
18221 Options: *const EOS_Lobby_JoinLobbyOptions,
18222 ClientData: *mut ::std::os::raw::c_void,
18223 CompletionDelegate: EOS_Lobby_OnJoinLobbyCallback,
18224 );
18225}
18226unsafe extern "C" {
18227 #[doc = " This is a special case of EOS_Lobby_JoinLobby. It should only be used if the lobby has had Join-by-ID enabled.\n Additionally, Join-by-ID should only be enabled to support native invites on an integrated platform.\n\n @param Options Structure containing information about the lobby to be joined\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate A callback that is fired when the join operation completes, either successfully or in error\n\n @see EOS_Lobby_JoinLobbyByIdOptions\n @see EOS_Lobby_OnJoinLobbyByIdCallback\n @see EOS_Lobby_JoinLobby"]
18228 pub fn EOS_Lobby_JoinLobbyById(
18229 Handle: EOS_HLobby,
18230 Options: *const EOS_Lobby_JoinLobbyByIdOptions,
18231 ClientData: *mut ::std::os::raw::c_void,
18232 CompletionDelegate: EOS_Lobby_OnJoinLobbyByIdCallback,
18233 );
18234}
18235unsafe extern "C" {
18236 #[doc = " Leave a lobby given a lobby ID\n\n If the lobby you are leaving had an RTC Room enabled, leaving the lobby will also automatically leave the RTC room.\n\n @param Options Structure containing information about the lobby to be left\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate A callback that is fired when the leave operation completes, either successfully or in error\n\n @see EOS_Lobby_LeaveLobbyOptions\n @see EOS_Lobby_OnLeaveLobbyCallback"]
18237 pub fn EOS_Lobby_LeaveLobby(
18238 Handle: EOS_HLobby,
18239 Options: *const EOS_Lobby_LeaveLobbyOptions,
18240 ClientData: *mut ::std::os::raw::c_void,
18241 CompletionDelegate: EOS_Lobby_OnLeaveLobbyCallback,
18242 );
18243}
18244unsafe extern "C" {
18245 #[doc = " Creates a lobby modification handle (EOS_HLobbyModification). The lobby modification handle is used to modify an existing lobby and can be applied with EOS_Lobby_UpdateLobby.\n The EOS_HLobbyModification must be released by calling EOS_LobbyModification_Release once it is no longer needed.\n\n @param Options Required fields such as lobby ID\n @param OutLobbyModificationHandle Pointer to a Lobby Modification Handle only set if successful\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if we successfully created the Lobby Modification Handle pointed at in OutLobbyModificationHandle, or an error result if the input data was invalid\n - EOS_InvalidParameters if any of the options are incorrect\n\n @see EOS_LobbyModification_Release\n @see EOS_Lobby_UpdateLobby\n @see EOS_Lobby_UpdateLobbyModificationOptions\n @see EOS_HLobbyModification"]
18246 pub fn EOS_Lobby_UpdateLobbyModification(
18247 Handle: EOS_HLobby,
18248 Options: *const EOS_Lobby_UpdateLobbyModificationOptions,
18249 OutLobbyModificationHandle: *mut EOS_HLobbyModification,
18250 ) -> EOS_EResult;
18251}
18252unsafe extern "C" {
18253 #[doc = " Update a lobby given a lobby modification handle created by EOS_Lobby_UpdateLobbyModification\n\n @param Options Structure containing information about the lobby to be updated\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate A callback that is fired when the update operation completes, either successfully or in error\n\n @see EOS_Lobby_UpdateLobbyOptions\n @see EOS_Lobby_OnUpdateLobbyCallback"]
18254 pub fn EOS_Lobby_UpdateLobby(
18255 Handle: EOS_HLobby,
18256 Options: *const EOS_Lobby_UpdateLobbyOptions,
18257 ClientData: *mut ::std::os::raw::c_void,
18258 CompletionDelegate: EOS_Lobby_OnUpdateLobbyCallback,
18259 );
18260}
18261unsafe extern "C" {
18262 #[doc = " Promote an existing member of the lobby to owner, allowing them to make lobby data modifications\n\n @param Options Structure containing information about the lobby and member to be promoted\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate A callback that is fired when the promotion operation completes, either successfully or in error\n\n @see EOS_Lobby_PromoteMemberOptions\n @see EOS_Lobby_OnPromoteMemberCallback"]
18263 pub fn EOS_Lobby_PromoteMember(
18264 Handle: EOS_HLobby,
18265 Options: *const EOS_Lobby_PromoteMemberOptions,
18266 ClientData: *mut ::std::os::raw::c_void,
18267 CompletionDelegate: EOS_Lobby_OnPromoteMemberCallback,
18268 );
18269}
18270unsafe extern "C" {
18271 #[doc = " Kick an existing member from the lobby\n\n @param Options Structure containing information about the lobby and member to be kicked\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate A callback that is fired when the kick operation completes, either successfully or in error\n\n @see EOS_Lobby_KickMemberOptions\n @see EOS_Lobby_OnKickMemberCallback"]
18272 pub fn EOS_Lobby_KickMember(
18273 Handle: EOS_HLobby,
18274 Options: *const EOS_Lobby_KickMemberOptions,
18275 ClientData: *mut ::std::os::raw::c_void,
18276 CompletionDelegate: EOS_Lobby_OnKickMemberCallback,
18277 );
18278}
18279unsafe extern "C" {
18280 #[doc = " Hard mute an existing member in the lobby, can't speak but can hear other members of the lobby\n\n @param Options Structure containing information about the lobby and member to be hard muted\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate A callback that is fired when the hard mute operation completes, either successfully or in error\n\n @see EOS_Lobby_HardMuteMemberOptions\n @see EOS_Lobby_OnHardMuteMemberCallback"]
18281 pub fn EOS_Lobby_HardMuteMember(
18282 Handle: EOS_HLobby,
18283 Options: *const EOS_Lobby_HardMuteMemberOptions,
18284 ClientData: *mut ::std::os::raw::c_void,
18285 CompletionDelegate: EOS_Lobby_OnHardMuteMemberCallback,
18286 );
18287}
18288unsafe extern "C" {
18289 #[doc = " Register to receive notifications when a lobby owner updates the attributes associated with the lobby.\n @note If the returned NotificationId is valid, you must call EOS_Lobby_RemoveNotifyLobbyUpdateReceived when you no longer wish to have your NotificationHandler called.\n\n @param Options Structure containing information about the request.\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate.\n @param NotificationFn A callback that is fired when a a notification is received.\n\n @return handle representing the registered callback\n\n @see EOS_Lobby_AddNotifyLobbyUpdateReceivedOptions\n @see EOS_Lobby_OnLobbyUpdateReceivedCallback"]
18290 pub fn EOS_Lobby_AddNotifyLobbyUpdateReceived(
18291 Handle: EOS_HLobby,
18292 Options: *const EOS_Lobby_AddNotifyLobbyUpdateReceivedOptions,
18293 ClientData: *mut ::std::os::raw::c_void,
18294 NotificationFn: EOS_Lobby_OnLobbyUpdateReceivedCallback,
18295 ) -> EOS_NotificationId;
18296}
18297unsafe extern "C" {
18298 #[doc = " Unregister from receiving notifications when a lobby changes its data.\n\n @param InId Handle representing the registered callback"]
18299 pub fn EOS_Lobby_RemoveNotifyLobbyUpdateReceived(Handle: EOS_HLobby, InId: EOS_NotificationId);
18300}
18301unsafe extern "C" {
18302 #[doc = " Register to receive notifications when a lobby member updates the attributes associated with themselves inside the lobby.\n @note If the returned NotificationId is valid, you must call EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceived when you no longer wish to have your NotificationHandler called.\n\n @param Options Structure containing information about the request.\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate.\n @param NotificationFn A callback that is fired when a a notification is received.\n\n @return handle representing the registered callback\n\n @see EOS_Lobby_AddNotifyLobbyMemberUpdateReceivedOptions\n @see EOS_Lobby_OnLobbyMemberUpdateReceivedCallback"]
18303 pub fn EOS_Lobby_AddNotifyLobbyMemberUpdateReceived(
18304 Handle: EOS_HLobby,
18305 Options: *const EOS_Lobby_AddNotifyLobbyMemberUpdateReceivedOptions,
18306 ClientData: *mut ::std::os::raw::c_void,
18307 NotificationFn: EOS_Lobby_OnLobbyMemberUpdateReceivedCallback,
18308 ) -> EOS_NotificationId;
18309}
18310unsafe extern "C" {
18311 #[doc = " Unregister from receiving notifications when lobby members change their data.\n\n @param InId Handle representing the registered callback"]
18312 pub fn EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceived(
18313 Handle: EOS_HLobby,
18314 InId: EOS_NotificationId,
18315 );
18316}
18317unsafe extern "C" {
18318 #[doc = " Register to receive notifications about the changing status of lobby members.\n @note If the returned NotificationId is valid, you must call EOS_Lobby_RemoveNotifyLobbyMemberStatusReceived when you no longer wish to have your NotificationHandler called.\n\n @param Options Structure containing information about the request.\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate.\n @param NotificationFn A callback that is fired when a a notification is received.\n\n @return handle representing the registered callback\n\n @see EOS_Lobby_AddNotifyLobbyMemberStatusReceivedOptions\n @see EOS_Lobby_OnLobbyMemberStatusReceivedCallback"]
18319 pub fn EOS_Lobby_AddNotifyLobbyMemberStatusReceived(
18320 Handle: EOS_HLobby,
18321 Options: *const EOS_Lobby_AddNotifyLobbyMemberStatusReceivedOptions,
18322 ClientData: *mut ::std::os::raw::c_void,
18323 NotificationFn: EOS_Lobby_OnLobbyMemberStatusReceivedCallback,
18324 ) -> EOS_NotificationId;
18325}
18326unsafe extern "C" {
18327 #[doc = " Unregister from receiving notifications when lobby members status change.\n\n @param InId Handle representing the registered callback"]
18328 pub fn EOS_Lobby_RemoveNotifyLobbyMemberStatusReceived(
18329 Handle: EOS_HLobby,
18330 InId: EOS_NotificationId,
18331 );
18332}
18333unsafe extern "C" {
18334 #[doc = " Send an invite to another user. User must be a member of the lobby or else the call will fail\n\n @param Options Structure containing information about the lobby and user to invite\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate A callback that is fired when the send invite operation completes, either successfully or in error\n\n @see EOS_Lobby_SendInviteOptions\n @see EOS_Lobby_OnSendInviteCallback"]
18335 pub fn EOS_Lobby_SendInvite(
18336 Handle: EOS_HLobby,
18337 Options: *const EOS_Lobby_SendInviteOptions,
18338 ClientData: *mut ::std::os::raw::c_void,
18339 CompletionDelegate: EOS_Lobby_OnSendInviteCallback,
18340 );
18341}
18342unsafe extern "C" {
18343 #[doc = " Reject an invite from another user.\n\n @param Options Structure containing information about the invite to reject\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate A callback that is fired when the reject invite operation completes, either successfully or in error\n\n @see EOS_Lobby_RejectInviteOptions\n @see EOS_Lobby_OnRejectInviteCallback"]
18344 pub fn EOS_Lobby_RejectInvite(
18345 Handle: EOS_HLobby,
18346 Options: *const EOS_Lobby_RejectInviteOptions,
18347 ClientData: *mut ::std::os::raw::c_void,
18348 CompletionDelegate: EOS_Lobby_OnRejectInviteCallback,
18349 );
18350}
18351unsafe extern "C" {
18352 #[doc = " Retrieve all existing invites for a single user\n\n @param Options Structure containing information about the invites to query\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate A callback that is fired when the query invites operation completes, either successfully or in error\n\n @see EOS_Lobby_QueryInvitesOptions\n @see EOS_Lobby_OnQueryInvitesCallback"]
18353 pub fn EOS_Lobby_QueryInvites(
18354 Handle: EOS_HLobby,
18355 Options: *const EOS_Lobby_QueryInvitesOptions,
18356 ClientData: *mut ::std::os::raw::c_void,
18357 CompletionDelegate: EOS_Lobby_OnQueryInvitesCallback,
18358 );
18359}
18360unsafe extern "C" {
18361 #[doc = " Get the number of known invites for a given user\n\n @param Options the Options associated with retrieving the current invite count\n\n @return number of known invites for a given user or 0 if there is an error\n\n @see EOS_Lobby_GetInviteCountOptions"]
18362 pub fn EOS_Lobby_GetInviteCount(
18363 Handle: EOS_HLobby,
18364 Options: *const EOS_Lobby_GetInviteCountOptions,
18365 ) -> u32;
18366}
18367unsafe extern "C" {
18368 #[doc = " Retrieve an invite ID from a list of active invites for a given user\n\n @param Options Structure containing the input parameters\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if the input is valid and an invite ID was returned\n - EOS_InvalidParameters if any of the options are incorrect\n - EOS_NotFound if the invite doesn't exist\n\n @see EOS_Lobby_GetInviteCount\n @see EOS_Lobby_CopyLobbyDetailsHandleByInviteId\n\n @see EOS_Lobby_GetInviteIdByIndexOptions"]
18369 pub fn EOS_Lobby_GetInviteIdByIndex(
18370 Handle: EOS_HLobby,
18371 Options: *const EOS_Lobby_GetInviteIdByIndexOptions,
18372 OutBuffer: *mut ::std::os::raw::c_char,
18373 InOutBufferLength: *mut i32,
18374 ) -> EOS_EResult;
18375}
18376unsafe extern "C" {
18377 #[doc = " Create a lobby search handle. This handle may be modified to include various search parameters.\n Searching is possible in three methods, all mutually exclusive\n - set the lobby ID to find a specific lobby\n - set the target user ID to find a specific user\n - set lobby parameters to find an array of lobbies that match the search criteria\n\n @param Options Structure containing required parameters such as the maximum number of search results\n @param OutLobbySearchHandle The new search handle or null if there was an error creating the search handle\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if the search creation completes successfully\n - EOS_InvalidParameters if any of the options are incorrect\n\n @see EOS_Lobby_CreateLobbySearchOptions\n @see EOS_HLobbySearch"]
18378 pub fn EOS_Lobby_CreateLobbySearch(
18379 Handle: EOS_HLobby,
18380 Options: *const EOS_Lobby_CreateLobbySearchOptions,
18381 OutLobbySearchHandle: *mut EOS_HLobbySearch,
18382 ) -> EOS_EResult;
18383}
18384unsafe extern "C" {
18385 #[doc = " Register to receive notifications about lobby invites sent to local users.\n @note If the returned NotificationId is valid, you must call EOS_Lobby_RemoveNotifyLobbyInviteReceived when you no longer wish to have your NotificationHandler called.\n\n @param Options Structure containing information about the request.\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate.\n @param NotificationFn A callback that is fired when a a notification is received.\n\n @return handle representing the registered callback\n\n @see EOS_Lobby_AddNotifyLobbyInviteReceivedOptions\n @see EOS_Lobby_OnLobbyInviteReceivedCallback"]
18386 pub fn EOS_Lobby_AddNotifyLobbyInviteReceived(
18387 Handle: EOS_HLobby,
18388 Options: *const EOS_Lobby_AddNotifyLobbyInviteReceivedOptions,
18389 ClientData: *mut ::std::os::raw::c_void,
18390 NotificationFn: EOS_Lobby_OnLobbyInviteReceivedCallback,
18391 ) -> EOS_NotificationId;
18392}
18393unsafe extern "C" {
18394 #[doc = " Unregister from receiving notifications when a user receives a lobby invitation.\n\n @param InId Handle representing the registered callback"]
18395 pub fn EOS_Lobby_RemoveNotifyLobbyInviteReceived(Handle: EOS_HLobby, InId: EOS_NotificationId);
18396}
18397unsafe extern "C" {
18398 #[doc = " Register to receive notifications about lobby invites accepted by local user via the overlay.\n @note If the returned NotificationId is valid, you must call EOS_Lobby_RemoveNotifyLobbyInviteAccepted when you no longer wish to have your NotificationHandler called.\n\n @param Options Structure containing information about the request.\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate.\n @param NotificationFn A callback that is fired when a a notification is received.\n\n @return handle representing the registered callback\n\n @see EOS_Lobby_AddNotifyLobbyInviteAcceptedOptions\n @see EOS_Lobby_OnLobbyInviteAcceptedCallback"]
18399 pub fn EOS_Lobby_AddNotifyLobbyInviteAccepted(
18400 Handle: EOS_HLobby,
18401 Options: *const EOS_Lobby_AddNotifyLobbyInviteAcceptedOptions,
18402 ClientData: *mut ::std::os::raw::c_void,
18403 NotificationFn: EOS_Lobby_OnLobbyInviteAcceptedCallback,
18404 ) -> EOS_NotificationId;
18405}
18406unsafe extern "C" {
18407 #[doc = " Unregister from receiving notifications when a user accepts a lobby invitation via the overlay.\n\n @param InId Handle representing the registered callback"]
18408 pub fn EOS_Lobby_RemoveNotifyLobbyInviteAccepted(Handle: EOS_HLobby, InId: EOS_NotificationId);
18409}
18410unsafe extern "C" {
18411 #[doc = " Register to receive notifications about lobby invites rejected by local user.\n @note If the returned NotificationId is valid, you must call EOS_Lobby_RemoveNotifyLobbyInviteRejected when you no longer wish to have your NotificationHandler called.\n\n @param Options Structure containing information about the request.\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate.\n @param NotificationFn A callback that is fired when a a notification is received.\n\n @return handle representing the registered callback\n\n @see EOS_Lobby_AddNotifyLobbyInviteRejectedOptions\n @see EOS_Lobby_OnLobbyInviteRejectedCallback"]
18412 pub fn EOS_Lobby_AddNotifyLobbyInviteRejected(
18413 Handle: EOS_HLobby,
18414 Options: *const EOS_Lobby_AddNotifyLobbyInviteRejectedOptions,
18415 ClientData: *mut ::std::os::raw::c_void,
18416 NotificationFn: EOS_Lobby_OnLobbyInviteRejectedCallback,
18417 ) -> EOS_NotificationId;
18418}
18419unsafe extern "C" {
18420 #[doc = " Unregister from receiving notifications when a user rejects a lobby invitation via the overlay.\n\n @param InId Handle representing the registered callback"]
18421 pub fn EOS_Lobby_RemoveNotifyLobbyInviteRejected(Handle: EOS_HLobby, InId: EOS_NotificationId);
18422}
18423unsafe extern "C" {
18424 #[doc = " Register to receive notifications about lobby \"JOIN\" performed by local user (when no invite) via the overlay.\n @note If the returned NotificationId is valid, you must call EOS_Lobby_RemoveNotifyJoinLobbyAccepted when you no longer wish to have your NotificationHandler called.\n\n @param Options Structure containing information about the request.\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate.\n @param NotificationFn A callback that is fired when a notification is received.\n\n @return handle representing the registered callback\n\n @see EOS_Lobby_AddNotifyJoinLobbyAcceptedOptions\n @see EOS_Lobby_OnJoinLobbyAcceptedCallback"]
18425 pub fn EOS_Lobby_AddNotifyJoinLobbyAccepted(
18426 Handle: EOS_HLobby,
18427 Options: *const EOS_Lobby_AddNotifyJoinLobbyAcceptedOptions,
18428 ClientData: *mut ::std::os::raw::c_void,
18429 NotificationFn: EOS_Lobby_OnJoinLobbyAcceptedCallback,
18430 ) -> EOS_NotificationId;
18431}
18432unsafe extern "C" {
18433 #[doc = " Unregister from receiving notifications when a user accepts a lobby invitation via the overlay.\n\n @param InId Handle representing the registered callback"]
18434 pub fn EOS_Lobby_RemoveNotifyJoinLobbyAccepted(Handle: EOS_HLobby, InId: EOS_NotificationId);
18435}
18436unsafe extern "C" {
18437 #[doc = " Register to receive notifications about a lobby \"INVITE\" performed by a local user via the overlay.\n This is only needed when a configured integrated platform has EOS_IPMF_DisableSDKManagedSessions set. The EOS SDK will\n then use the state of EOS_IPMF_PreferEOSIdentity and EOS_IPMF_PreferIntegratedIdentity to determine when the NotificationFn is\n called.\n\n @note If the returned NotificationId is valid, you must call EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequested when you no longer wish to have your NotificationHandler called.\n\n @param Options Structure containing information about the request.\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate.\n @param NotificationFn A callback that is fired when a notification is received.\n\n @return handle representing the registered callback\n\n @see EOS_IPMF_DisableSDKManagedSessions\n @see EOS_IPMF_PreferEOSIdentity\n @see EOS_IPMF_PreferIntegratedIdentity\n\n @see EOS_Lobby_AddNotifySendLobbyNativeInviteRequestedOptions\n @see EOS_Lobby_OnSendLobbyNativeInviteRequestedCallback"]
18438 pub fn EOS_Lobby_AddNotifySendLobbyNativeInviteRequested(
18439 Handle: EOS_HLobby,
18440 Options: *const EOS_Lobby_AddNotifySendLobbyNativeInviteRequestedOptions,
18441 ClientData: *mut ::std::os::raw::c_void,
18442 NotificationFn: EOS_Lobby_OnSendLobbyNativeInviteRequestedCallback,
18443 ) -> EOS_NotificationId;
18444}
18445unsafe extern "C" {
18446 #[doc = " Unregister from receiving notifications when a user requests a send invite via the overlay.\n\n @param InId Handle representing the registered callback"]
18447 pub fn EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequested(
18448 Handle: EOS_HLobby,
18449 InId: EOS_NotificationId,
18450 );
18451}
18452unsafe extern "C" {
18453 #[doc = " EOS_Lobby_CopyLobbyDetailsHandleByInviteId is used to immediately retrieve a handle to the lobby information from after notification of an invite\n If the call returns an EOS_Success result, the out parameter, OutLobbyDetailsHandle, must be passed to EOS_LobbyDetails_Release to release the memory associated with it.\n\n @param Options Structure containing the input parameters\n @param OutLobbyDetailsHandle out parameter used to receive the lobby handle\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if the information is available and passed out in OutLobbyDetailsHandle\n - EOS_InvalidParameters if you pass an invalid invite ID or a null pointer for the out parameter\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n - EOS_NotFound If the invite ID cannot be found\n\n @see EOS_Lobby_CopyLobbyDetailsHandleByInviteIdOptions\n @see EOS_HLobbyDetails\n @see EOS_LobbyDetails_Release"]
18454 pub fn EOS_Lobby_CopyLobbyDetailsHandleByInviteId(
18455 Handle: EOS_HLobby,
18456 Options: *const EOS_Lobby_CopyLobbyDetailsHandleByInviteIdOptions,
18457 OutLobbyDetailsHandle: *mut EOS_HLobbyDetails,
18458 ) -> EOS_EResult;
18459}
18460unsafe extern "C" {
18461 #[doc = " EOS_Lobby_CopyLobbyDetailsHandleByUiEventId is used to immediately retrieve a handle to the lobby information from after notification of a join game\n If the call returns an EOS_Success result, the out parameter, OutLobbyDetailsHandle, must be passed to EOS_LobbyDetails_Release to release the memory associated with it.\n\n @param Options Structure containing the input parameters\n @param OutLobbyDetailsHandle out parameter used to receive the lobby handle\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if the information is available and passed out in OutLobbyDetailsHandle\n - EOS_InvalidParameters if you pass an invalid ui event ID\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n - EOS_NotFound If the invite ID cannot be found\n\n @see EOS_Lobby_CopyLobbyDetailsHandleByUiEventIdOptions\n @see EOS_HLobbyDetails\n @see EOS_LobbyDetails_Release"]
18462 pub fn EOS_Lobby_CopyLobbyDetailsHandleByUiEventId(
18463 Handle: EOS_HLobby,
18464 Options: *const EOS_Lobby_CopyLobbyDetailsHandleByUiEventIdOptions,
18465 OutLobbyDetailsHandle: *mut EOS_HLobbyDetails,
18466 ) -> EOS_EResult;
18467}
18468unsafe extern "C" {
18469 #[doc = " Create a handle to an existing lobby.\n If the call returns an EOS_Success result, the out parameter, OutLobbyDetailsHandle, must be passed to EOS_LobbyDetails_Release to release the memory associated with it.\n\n @param Options Structure containing information about the lobby to retrieve\n @param OutLobbyDetailsHandle The new active lobby handle or null if there was an error\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if the lobby handle was created successfully\n - EOS_InvalidParameters if any of the options are incorrect\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n - EOS_NotFound if the lobby doesn't exist\n\n @see EOS_Lobby_CopyLobbyDetailsHandleOptions\n @see EOS_HLobbyDetails"]
18470 pub fn EOS_Lobby_CopyLobbyDetailsHandle(
18471 Handle: EOS_HLobby,
18472 Options: *const EOS_Lobby_CopyLobbyDetailsHandleOptions,
18473 OutLobbyDetailsHandle: *mut EOS_HLobbyDetails,
18474 ) -> EOS_EResult;
18475}
18476unsafe extern "C" {
18477 #[doc = " Get the name of the RTC room associated with a specific lobby a local user belongs to.\n\n This value can be used whenever you need a RoomName value in the RTC_* suite of functions. RTC Room Names must not be used with\n EOS_RTC_JoinRoom, EOS_RTC_LeaveRoom, or EOS_RTC_AddNotifyDisconnected. Doing so will return EOS_AccessDenied or\n EOS_INVALID_NOTIFICATIONID if used with those functions.\n\n This function will only succeed when called on a lobby the local user is currently a member of.\n\n @param Options Structure containing information about the RTC room name to retrieve\n @param OutBuffer The buffer to store the null-terminated room name string within\n @param InOutBufferLength In: The maximum amount of writable chars in OutBuffer, Out: The minimum amount of chars needed in OutBuffer to store the RTC room name (including the null-terminator)\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if a room exists for the specified lobby, there was enough space in OutBuffer, and the name was written successfully\n - EOS_NotFound if the lobby does not exist\n - EOS_Disabled if the lobby exists, but did not have the RTC Room feature enabled when created\n - EOS_InvalidParameters if you pass a null pointer on invalid length for any of the parameters\n - EOS_LimitExceeded The OutBuffer is not large enough to receive the room name. InOutBufferLength contains the required minimum length to perform the operation successfully.\n\n @see EOS_Lobby_GetRTCRoomNameOptions"]
18478 pub fn EOS_Lobby_GetRTCRoomName(
18479 Handle: EOS_HLobby,
18480 Options: *const EOS_Lobby_GetRTCRoomNameOptions,
18481 OutBuffer: *mut ::std::os::raw::c_char,
18482 InOutBufferLength: *mut u32,
18483 ) -> EOS_EResult;
18484}
18485unsafe extern "C" {
18486 #[doc = " Joins the RTC room associated with a specific lobby a local user belongs to.\n\n This function will only succeed when called on a lobby that has the RTC Room feature enabled.\n Clients may check if the RTC Room feature is enabled by inspecting the value of EOS_LobbyDetails_Info::bRTCRoomEnabled.\n\n @param Options Structure containing information about which lobby a local user should join the RTC Room for\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate A callback that is fired when the join RTC Room operation completes, either successfully or in error\n\n @see EOS_Lobby_JoinRTCRoomOptions\n @see EOS_Lobby_OnJoinRTCRoomCallback"]
18487 pub fn EOS_Lobby_JoinRTCRoom(
18488 Handle: EOS_HLobby,
18489 Options: *const EOS_Lobby_JoinRTCRoomOptions,
18490 ClientData: *mut ::std::os::raw::c_void,
18491 CompletionDelegate: EOS_Lobby_OnJoinRTCRoomCallback,
18492 );
18493}
18494unsafe extern "C" {
18495 #[doc = " Leaves the RTC room associated with a specific lobby a local user belongs to.\n\n This function will only succeed when called on a lobby that has the RTC Room feature enabled.\n Clients may check if the RTC Room feature is enabled by inspecting the value of EOS_LobbyDetails_Info::bRTCRoomEnabled.\n\n @param Options Structure containing information about which lobby a local user should leave the RTC Room for\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate A callback that is fired when the leave RTC Room operation completes, either successfully or in error\n\n @see EOS_Lobby_LeaveRTCRoomOptions\n @see EOS_Lobby_OnLeaveRTCRoomCallback"]
18496 pub fn EOS_Lobby_LeaveRTCRoom(
18497 Handle: EOS_HLobby,
18498 Options: *const EOS_Lobby_LeaveRTCRoomOptions,
18499 ClientData: *mut ::std::os::raw::c_void,
18500 CompletionDelegate: EOS_Lobby_OnLeaveRTCRoomCallback,
18501 );
18502}
18503unsafe extern "C" {
18504 #[doc = " Get the current connection status of the RTC Room for a lobby.\n\n The RTC Room connection status is independent of the lobby connection status, however the lobby system will attempt to keep\n them consistent, automatically connecting to the RTC room after joining a lobby which has an associated RTC room and disconnecting\n from the RTC room when a lobby is left or disconnected.\n\n This function will only succeed when called on a lobby the local user is currently a member of.\n\n @param Options Structure containing information about the lobby to query the RTC Room connection status for\n @param bOutIsConnected If the result is EOS_Success, this will be set to EOS_TRUE if we are connected, or EOS_FALSE if we are not yet connected.\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if we are connected to the specified lobby, the input options and parameters were valid and we were able to write to bOutIsConnected successfully.\n - EOS_NotFound if the lobby doesn't exist\n - EOS_Disabled if the lobby exists, but did not have the RTC Room feature enabled when created\n - EOS_InvalidParameters if bOutIsConnected is NULL, or any other parameters are NULL or invalid\n\n @see EOS_Lobby_AddNotifyRTCRoomConnectionChanged\n @see EOS_Lobby_IsRTCRoomConnectedOptions"]
18505 pub fn EOS_Lobby_IsRTCRoomConnected(
18506 Handle: EOS_HLobby,
18507 Options: *const EOS_Lobby_IsRTCRoomConnectedOptions,
18508 bOutIsConnected: *mut EOS_Bool,
18509 ) -> EOS_EResult;
18510}
18511unsafe extern "C" {
18512 #[doc = " Register to receive notifications of when the RTC Room for a particular lobby has a connection status change.\n\n The RTC Room connection status is independent of the lobby connection status, however the lobby system will attempt to keep\n them consistent, automatically connecting to the RTC room after joining a lobby which has an associated RTC room and disconnecting\n from the RTC room when a lobby is left or disconnected.\n\n This notification is entirely informational and requires no action in response by the application. If the connected status is offline\n (bIsConnected is EOS_FALSE), the connection will automatically attempt to reconnect. The purpose of this notification is to allow\n applications to show the current connection status of the RTC room when the connection is not established.\n\n Unlike EOS_RTC_AddNotifyDisconnected, EOS_RTC_LeaveRoom should not be called when the RTC room is disconnected.\n\n This function will only succeed when called on a lobby the local user is currently a member of.\n\n @param Options Structure containing information about the lobby to receive updates about\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate.\n @param NotificationFn The function to call if the RTC Room's connection status changes\n\n @return A valid notification ID if the NotificationFn was successfully registered, or EOS_INVALID_NOTIFICATIONID if the input was invalid, the lobby did not exist, or the lobby did not have an RTC room.\n\n @see EOS_Lobby_RemoveNotifyRTCRoomConnectionChanged\n @see EOS_Lobby_AddNotifyRTCRoomConnectionChangedOptions\n @see EOS_Lobby_OnRTCRoomConnectionChangedCallback"]
18513 pub fn EOS_Lobby_AddNotifyRTCRoomConnectionChanged(
18514 Handle: EOS_HLobby,
18515 Options: *const EOS_Lobby_AddNotifyRTCRoomConnectionChangedOptions,
18516 ClientData: *mut ::std::os::raw::c_void,
18517 NotificationFn: EOS_Lobby_OnRTCRoomConnectionChangedCallback,
18518 ) -> EOS_NotificationId;
18519}
18520unsafe extern "C" {
18521 #[doc = " Unregister from receiving notifications when an RTC Room's connection status changes.\n\n This should be called when the local user is leaving a lobby.\n\n @param InId Handle representing the registered callback\n\n @see EOS_Lobby_AddNotifyRTCRoomConnectionChanged"]
18522 pub fn EOS_Lobby_RemoveNotifyRTCRoomConnectionChanged(
18523 Handle: EOS_HLobby,
18524 InId: EOS_NotificationId,
18525 );
18526}
18527unsafe extern "C" {
18528 #[doc = " Get the Connection string for an EOS lobby. The connection string describes the presence of a player in terms of game state.\n Xbox platforms expect titles to embed this into their MultiplayerActivity at creation.\n When present, the SDK will use this value to populate session presence in the social overlay and facilitate platform invitations.\n\n @param Options Structure containing the input parameters. API version, the LobbyID of the lobby to generate the string from and the PUID of the requesting user.\n @param OutBuffer The buffer to store the null-terminated ConnectString within\n @param InOutBufferLength In: The maximum amount of writable chars in OutBuffer see EOS_LOBBY_GETCONNECTSTRING_BUFFER_SIZE, Out: The minimum amount of chars needed in OutBuffer to store the ConnectString (including the null-terminator). May be set to zero depending on the error result.\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if retrieving the string was successful.\n - EOS_InvalidParameters if the OutBuffer or InOutBufferLength are null.\n - EOS_IncompatibleVersion if the API version passed in is incorrect.\n - EOS_NotFound if no lobby is found matching the LobbyID and PUID provided.\n - EOS_LimitExceeded if the provided InOutBufferLength is too small to contain the resulting string.\n\n @see EOS_Lobby_GetConnectStringOptions"]
18529 pub fn EOS_Lobby_GetConnectString(
18530 Handle: EOS_HLobby,
18531 Options: *const EOS_Lobby_GetConnectStringOptions,
18532 OutBuffer: *mut ::std::os::raw::c_char,
18533 InOutBufferLength: *mut u32,
18534 ) -> EOS_EResult;
18535}
18536unsafe extern "C" {
18537 #[doc = " Parse the ConnectString for an EOS lobby invitation to extract just the lobby ID.\n Used for joining a lobby from a connection string (as generated by GetConnectString) found in a platform invitation or presence.\n\n @param Options Structure containing the input parameters. API version and ConnectString.\n @param OutBuffer The buffer to store the null-terminated lobby ID within\n @param InOutBufferLength In: The maximum amount of writable chars in OutBuffer see EOS_LOBBY_PARSECONNECTSTRING_BUFFER_SIZE, Out: The minimum amount of chars needed in OutBuffer to store the LobbyID (including the null-terminator). May be set to zero depending on the error result.\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if retrieving the string was successful.\n - EOS_InvalidParameters if the OutBuffer or InOutBufferLength are null.\n - EOS_IncompatibleVersion if the API version passed in is incorrect.\n - EOS_LimitExceeded if the provided InOutBufferLength is too small to contain the resulting string.\n\n @see EOS_Lobby_ParseConnectStringOptions"]
18538 pub fn EOS_Lobby_ParseConnectString(
18539 Handle: EOS_HLobby,
18540 Options: *const EOS_Lobby_ParseConnectStringOptions,
18541 OutBuffer: *mut ::std::os::raw::c_char,
18542 InOutBufferLength: *mut u32,
18543 ) -> EOS_EResult;
18544}
18545unsafe extern "C" {
18546 #[doc = " Register to receive notifications about leave lobby requests performed by the local user via the overlay.\n When user requests to leave the lobby in the social overlay, the SDK does not automatically leave the lobby, it is up to the game to perform any necessary cleanup and call the EOS_Lobby_LeaveLobby method using the lobbyId sent in the notification function.\n @note If the returned NotificationId is valid, you must call EOS_Lobby_RemoveNotifyLeaveLobbyRequested when you no longer wish to have your NotificationHandler called.\n\n @param Options Structure containing information about the request.\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate.\n @param NotificationFn A callback that is fired when a notification is received.\n\n @return handle representing the registered callback\n\n @see EOS_Lobby_AddNotifyLeaveLobbyRequestedOptions\n @see EOS_Lobby_OnLeaveLobbyRequestedCallback"]
18547 pub fn EOS_Lobby_AddNotifyLeaveLobbyRequested(
18548 Handle: EOS_HLobby,
18549 Options: *const EOS_Lobby_AddNotifyLeaveLobbyRequestedOptions,
18550 ClientData: *mut ::std::os::raw::c_void,
18551 NotificationFn: EOS_Lobby_OnLeaveLobbyRequestedCallback,
18552 ) -> EOS_NotificationId;
18553}
18554unsafe extern "C" {
18555 #[doc = " Unregister from receiving notifications when a user performs a leave lobby action via the overlay.\n\n @param InId Handle representing the registered callback"]
18556 pub fn EOS_Lobby_RemoveNotifyLeaveLobbyRequested(Handle: EOS_HLobby, InId: EOS_NotificationId);
18557}
18558unsafe extern "C" {
18559 #[doc = " Set the bucket ID associated with this lobby.\n Values such as region, game mode, etc can be combined here depending on game need.\n Setting this is strongly recommended to improve search performance.\n\n @param Options Options associated with the bucket ID of the lobby\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if setting this parameter was successful\n - EOS_InvalidParameters if the bucket ID is invalid or null\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_LobbyModification_SetBucketIdOptions"]
18560 pub fn EOS_LobbyModification_SetBucketId(
18561 Handle: EOS_HLobbyModification,
18562 Options: *const EOS_LobbyModification_SetBucketIdOptions,
18563 ) -> EOS_EResult;
18564}
18565unsafe extern "C" {
18566 #[doc = " Set the permissions associated with this lobby.\n The permissions range from \"public\" to \"invite only\" and are described by EOS_ELobbyPermissionLevel\n\n @param Options Options associated with the permission level of the lobby\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if setting this parameter was successful\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_LobbyModification_SetPermissionLevelOptions"]
18567 pub fn EOS_LobbyModification_SetPermissionLevel(
18568 Handle: EOS_HLobbyModification,
18569 Options: *const EOS_LobbyModification_SetPermissionLevelOptions,
18570 ) -> EOS_EResult;
18571}
18572unsafe extern "C" {
18573 #[doc = " Set the maximum number of members allowed in this lobby.\n When updating the lobby, it is not possible to reduce this number below the current number of existing members\n\n @param Options Options associated with max number of members in this lobby\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if setting this parameter was successful\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_LobbyModification_SetMaxMembersOptions"]
18574 pub fn EOS_LobbyModification_SetMaxMembers(
18575 Handle: EOS_HLobbyModification,
18576 Options: *const EOS_LobbyModification_SetMaxMembersOptions,
18577 ) -> EOS_EResult;
18578}
18579unsafe extern "C" {
18580 #[doc = " Allows enabling or disabling invites for this lobby.\n The lobby will also need to have `bPresenceEnabled` true.\n\n @param Options Options associated with invites allowed flag for this lobby.\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if setting this parameter was successful\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_LobbyModification_SetInvitesAllowedOptions"]
18581 pub fn EOS_LobbyModification_SetInvitesAllowed(
18582 Handle: EOS_HLobbyModification,
18583 Options: *const EOS_LobbyModification_SetInvitesAllowedOptions,
18584 ) -> EOS_EResult;
18585}
18586unsafe extern "C" {
18587 #[doc = " Associate an attribute with this lobby\n An attribute is something may be public or private with the lobby.\n If public, it can be queried for in a search, otherwise the data remains known only to lobby members\n\n @param Options Options to set the attribute and its visibility state\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if setting this parameter was successful\n - EOS_InvalidParameters if the attribute is missing information or otherwise invalid\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_LobbyModification_AddAttributeOptions"]
18588 pub fn EOS_LobbyModification_AddAttribute(
18589 Handle: EOS_HLobbyModification,
18590 Options: *const EOS_LobbyModification_AddAttributeOptions,
18591 ) -> EOS_EResult;
18592}
18593unsafe extern "C" {
18594 #[doc = " Remove an attribute associated with the lobby\n\n @param Options Specify the key of the attribute to remove\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if removing this parameter was successful\n - EOS_InvalidParameters if the key is null or empty\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_LobbyModification_RemoveAttributeOptions"]
18595 pub fn EOS_LobbyModification_RemoveAttribute(
18596 Handle: EOS_HLobbyModification,
18597 Options: *const EOS_LobbyModification_RemoveAttributeOptions,
18598 ) -> EOS_EResult;
18599}
18600unsafe extern "C" {
18601 #[doc = " Associate an attribute with a member of the lobby\n Lobby member data is always private to the lobby\n\n @param Options Options to set the attribute and its visibility state\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if setting this parameter was successful\n - EOS_InvalidParameters if the attribute is missing information or otherwise invalid\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_LobbyModification_AddMemberAttributeOptions"]
18602 pub fn EOS_LobbyModification_AddMemberAttribute(
18603 Handle: EOS_HLobbyModification,
18604 Options: *const EOS_LobbyModification_AddMemberAttributeOptions,
18605 ) -> EOS_EResult;
18606}
18607unsafe extern "C" {
18608 #[doc = " Remove an attribute associated with of member of the lobby\n\n @param Options Specify the key of the member attribute to remove\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if removing this parameter was successful\n - EOS_InvalidParameters if the key is null or empty\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_LobbyModification_RemoveMemberAttributeOptions"]
18609 pub fn EOS_LobbyModification_RemoveMemberAttribute(
18610 Handle: EOS_HLobbyModification,
18611 Options: *const EOS_LobbyModification_RemoveMemberAttributeOptions,
18612 ) -> EOS_EResult;
18613}
18614unsafe extern "C" {
18615 #[doc = " Set the Allowed Platform IDs for the lobby\n\n @param Options Options associated with allowed Platform IDs for this lobby\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if setting this parameter was successful\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n - EOS_InvalidParameters if the AllowedPlatformIds array is null but the count is 0 or if the count is greater than 0 and the array is null.\n\n @see EOS_LobbyModification_SetAllowedPlatformIdsOptions"]
18616 pub fn EOS_LobbyModification_SetAllowedPlatformIds(
18617 Handle: EOS_HLobbyModification,
18618 Options: *const EOS_LobbyModification_SetAllowedPlatformIdsOptions,
18619 ) -> EOS_EResult;
18620}
18621unsafe extern "C" {
18622 #[doc = " Get the product user ID of the current owner for a given lobby\n\n @param Options Structure containing the input parameters\n\n @return the product user ID for the lobby owner or null if the input parameters are invalid\n\n @see EOS_LobbyDetails_GetLobbyOwnerOptions"]
18623 pub fn EOS_LobbyDetails_GetLobbyOwner(
18624 Handle: EOS_HLobbyDetails,
18625 Options: *const EOS_LobbyDetails_GetLobbyOwnerOptions,
18626 ) -> EOS_ProductUserId;
18627}
18628unsafe extern "C" {
18629 #[doc = " EOS_LobbyDetails_CopyInfo is used to immediately retrieve a copy of lobby information from a given source such as a existing lobby or a search result.\n If the call returns an EOS_Success result, the out parameter, OutLobbyDetailsInfo, must be passed to EOS_LobbyDetails_Info_Release to release the memory associated with it.\n\n @param Options Structure containing the input parameters\n @param OutLobbyDetailsInfo Out parameter used to receive the EOS_LobbyDetails_Info structure.\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if the information is available and passed out in OutLobbyDetailsInfo\n - EOS_InvalidParameters if you pass a null pointer for the out parameter\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_LobbyDetails_Info\n @see EOS_LobbyDetails_CopyInfoOptions\n @see EOS_LobbyDetails_Info_Release"]
18630 pub fn EOS_LobbyDetails_CopyInfo(
18631 Handle: EOS_HLobbyDetails,
18632 Options: *const EOS_LobbyDetails_CopyInfoOptions,
18633 OutLobbyDetailsInfo: *mut *mut EOS_LobbyDetails_Info,
18634 ) -> EOS_EResult;
18635}
18636unsafe extern "C" {
18637 #[doc = " EOS_LobbyDetails_CopyMemberInfo is used to immediately retrieve a copy of lobby member information from an existing lobby.\n If the call returns an EOS_Success result, the out parameter, OutLobbyDetailsMemberInfo, must be passed to EOS_LobbyDetails_MemberInfo_Release to release the memory associated with it.\n Note: this information is only available if you are actively in the lobby. It is not available for search results.\n\n @param Options Structure containing the input parameters\n @param OutLobbyDetailsMemberInfo Out parameter used to receive the EOS_LobbyDetails_Info structure.\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if the information is available and passed out in OutLobbyMemberDetailsInfo\n - EOS_InvalidParameters if you pass a null pointer for the out parameter\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n - EOS_NotFound if searching for a target user ID returns no results\n\n @see EOS_LobbyDetails_MemberInfo\n @see EOS_LobbyDetails_CopyMemberInfoOptions\n @see EOS_LobbyDetails_MemberInfo_Release"]
18638 pub fn EOS_LobbyDetails_CopyMemberInfo(
18639 Handle: EOS_HLobbyDetails,
18640 Options: *const EOS_LobbyDetails_CopyMemberInfoOptions,
18641 OutLobbyDetailsMemberInfo: *mut *mut EOS_LobbyDetails_MemberInfo,
18642 ) -> EOS_EResult;
18643}
18644unsafe extern "C" {
18645 #[doc = " Get the number of attributes associated with this lobby\n\n @param Options the Options associated with retrieving the attribute count\n\n @return number of attributes on the lobby or 0 if there is an error\n\n @see EOS_LobbyDetails_GetAttributeCountOptions"]
18646 pub fn EOS_LobbyDetails_GetAttributeCount(
18647 Handle: EOS_HLobbyDetails,
18648 Options: *const EOS_LobbyDetails_GetAttributeCountOptions,
18649 ) -> u32;
18650}
18651unsafe extern "C" {
18652 #[doc = " EOS_LobbyDetails_CopyAttributeByIndex is used to immediately retrieve a copy of a lobby attribute from a given source such as a existing lobby or a search result.\n If the call returns an EOS_Success result, the out parameter, OutAttribute, must be passed to EOS_Lobby_Attribute_Release to release the memory associated with it.\n\n @param Options Structure containing the input parameters\n @param OutAttribute Out parameter used to receive the EOS_Lobby_Attribute structure.\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if the information is available and passed out in OutAttribute\n - EOS_InvalidParameters if you pass a null pointer for the out parameter\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_Lobby_Attribute\n @see EOS_LobbyDetails_CopyAttributeByIndexOptions\n @see EOS_Lobby_Attribute_Release"]
18653 pub fn EOS_LobbyDetails_CopyAttributeByIndex(
18654 Handle: EOS_HLobbyDetails,
18655 Options: *const EOS_LobbyDetails_CopyAttributeByIndexOptions,
18656 OutAttribute: *mut *mut EOS_Lobby_Attribute,
18657 ) -> EOS_EResult;
18658}
18659unsafe extern "C" {
18660 #[doc = " EOS_LobbyDetails_CopyAttributeByKey is used to immediately retrieve a copy of a lobby attribute from a given source such as a existing lobby or a search result.\n If the call returns an EOS_Success result, the out parameter, OutAttribute, must be passed to EOS_Lobby_Attribute_Release to release the memory associated with it.\n\n @param Options Structure containing the input parameters\n @param OutAttribute Out parameter used to receive the EOS_Lobby_Attribute structure.\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if the information is available and passed out in OutAttribute\n - EOS_InvalidParameters if you pass a null pointer for the out parameter\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_Lobby_Attribute\n @see EOS_LobbyDetails_CopyAttributeByKeyOptions\n @see EOS_Lobby_Attribute_Release"]
18661 pub fn EOS_LobbyDetails_CopyAttributeByKey(
18662 Handle: EOS_HLobbyDetails,
18663 Options: *const EOS_LobbyDetails_CopyAttributeByKeyOptions,
18664 OutAttribute: *mut *mut EOS_Lobby_Attribute,
18665 ) -> EOS_EResult;
18666}
18667unsafe extern "C" {
18668 #[doc = " Get the number of members associated with this lobby\n\n @param Options the Options associated with retrieving the member count\n\n @return number of members in the existing lobby or 0 if there is an error\n\n @see EOS_LobbyDetails_GetMemberCountOptions"]
18669 pub fn EOS_LobbyDetails_GetMemberCount(
18670 Handle: EOS_HLobbyDetails,
18671 Options: *const EOS_LobbyDetails_GetMemberCountOptions,
18672 ) -> u32;
18673}
18674unsafe extern "C" {
18675 #[doc = " EOS_LobbyDetails_GetMemberByIndex is used to immediately retrieve individual members registered with a lobby.\n Note: this information is only available if you are actively in the lobby. It is not available for search results.\n\n @param Options Structure containing the input parameters\n\n @return the product user ID for the registered member at a given index or null if that index is invalid\n\n @see EOS_LobbyDetails_GetMemberCount\n @see EOS_LobbyDetails_GetMemberByIndexOptions"]
18676 pub fn EOS_LobbyDetails_GetMemberByIndex(
18677 Handle: EOS_HLobbyDetails,
18678 Options: *const EOS_LobbyDetails_GetMemberByIndexOptions,
18679 ) -> EOS_ProductUserId;
18680}
18681unsafe extern "C" {
18682 #[doc = " EOS_LobbyDetails_GetMemberAttributeCount is used to immediately retrieve the attribute count for members in a lobby.\n Note: this information is only available if you are actively in the lobby. It is not available for search results.\n\n @param Options Structure containing the input parameters\n\n @return the number of attributes associated with a given lobby member or 0 if that member is invalid\n\n @see EOS_LobbyDetails_GetMemberCount\n @see EOS_LobbyDetails_GetMemberAttributeCountOptions"]
18683 pub fn EOS_LobbyDetails_GetMemberAttributeCount(
18684 Handle: EOS_HLobbyDetails,
18685 Options: *const EOS_LobbyDetails_GetMemberAttributeCountOptions,
18686 ) -> u32;
18687}
18688unsafe extern "C" {
18689 #[doc = " EOS_LobbyDetails_CopyMemberAttributeByIndex is used to immediately retrieve a copy of a lobby member attribute from an existing lobby.\n If the call returns an EOS_Success result, the out parameter, OutAttribute, must be passed to EOS_Lobby_Attribute_Release to release the memory associated with it.\n Note: this information is only available if you are actively in the lobby. It is not available for search results.\n\n @param Options Structure containing the input parameters\n @param OutAttribute Out parameter used to receive the EOS_Lobby_Attribute structure.\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if the information is available and passed out in OutAttribute\n - EOS_InvalidParameters if you pass a null pointer for the out parameter\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_Lobby_Attribute\n @see EOS_LobbyDetails_CopyMemberAttributeByIndexOptions\n @see EOS_Lobby_Attribute_Release"]
18690 pub fn EOS_LobbyDetails_CopyMemberAttributeByIndex(
18691 Handle: EOS_HLobbyDetails,
18692 Options: *const EOS_LobbyDetails_CopyMemberAttributeByIndexOptions,
18693 OutAttribute: *mut *mut EOS_Lobby_Attribute,
18694 ) -> EOS_EResult;
18695}
18696unsafe extern "C" {
18697 #[doc = " EOS_LobbyDetails_CopyMemberAttributeByKey is used to immediately retrieve a copy of a lobby member attribute from an existing lobby.\n If the call returns an EOS_Success result, the out parameter, OutAttribute, must be passed to EOS_Lobby_Attribute_Release to release the memory associated with it.\n Note: this information is only available if you are actively in the lobby. It is not available for search results.\n\n @param Options Structure containing the input parameters\n @param OutAttribute Out parameter used to receive the EOS_Lobby_Attribute structure.\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if the information is available and passed out in OutAttribute\n - EOS_InvalidParameters if you pass a null pointer for the out parameter\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_Lobby_Attribute\n @see EOS_LobbyDetails_CopyMemberAttributeByKeyOptions\n @see EOS_Lobby_Attribute_Release"]
18698 pub fn EOS_LobbyDetails_CopyMemberAttributeByKey(
18699 Handle: EOS_HLobbyDetails,
18700 Options: *const EOS_LobbyDetails_CopyMemberAttributeByKeyOptions,
18701 OutAttribute: *mut *mut EOS_Lobby_Attribute,
18702 ) -> EOS_EResult;
18703}
18704unsafe extern "C" {
18705 #[doc = " Find lobbies matching the search criteria setup via this lobby search handle.\n When the operation completes, this handle will have the search results that can be parsed\n\n @param Options Structure containing information about the search criteria to use\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate A callback that is fired when the search operation completes, either successfully or in error\n\n @see EOS_LobbySearch_FindOptions\n @see EOS_LobbySearch_OnFindCallback"]
18706 pub fn EOS_LobbySearch_Find(
18707 Handle: EOS_HLobbySearch,
18708 Options: *const EOS_LobbySearch_FindOptions,
18709 ClientData: *mut ::std::os::raw::c_void,
18710 CompletionDelegate: EOS_LobbySearch_OnFindCallback,
18711 );
18712}
18713unsafe extern "C" {
18714 #[doc = " Set a lobby ID to find and will return at most one search result. Setting TargetUserId or SearchParameters will result in EOS_LobbySearch_Find failing\n\n @param Options A specific lobby ID for which to search\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if setting this lobby ID was successful\n - EOS_InvalidParameters if the lobby ID is invalid or null\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_LobbySearch_SetLobbyIdOptions"]
18715 pub fn EOS_LobbySearch_SetLobbyId(
18716 Handle: EOS_HLobbySearch,
18717 Options: *const EOS_LobbySearch_SetLobbyIdOptions,
18718 ) -> EOS_EResult;
18719}
18720unsafe extern "C" {
18721 #[doc = " Set a target user ID to find. Setting LobbyId or SearchParameters will result in EOS_LobbySearch_Find failing\n @note a search result will only be found if this user is in a public lobby\n\n @param Options a specific target user ID to find\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if setting this target user ID was successful\n - EOS_InvalidParameters if the target user ID is invalid or null\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_LobbySearch_SetTargetUserIdOptions"]
18722 pub fn EOS_LobbySearch_SetTargetUserId(
18723 Handle: EOS_HLobbySearch,
18724 Options: *const EOS_LobbySearch_SetTargetUserIdOptions,
18725 ) -> EOS_EResult;
18726}
18727unsafe extern "C" {
18728 #[doc = " Add a parameter to an array of search criteria combined via an implicit AND operator. Setting LobbyId or TargetUserId will result in EOS_LobbySearch_Find failing\n\n @param Options a search parameter and its comparison op\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if setting this search parameter was successful\n - EOS_InvalidParameters if the search criteria is invalid or null\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_LobbySearch_SetParameterOptions\n @see EOS_Lobby_AttributeData\n @see EOS_EComparisonOp"]
18729 pub fn EOS_LobbySearch_SetParameter(
18730 Handle: EOS_HLobbySearch,
18731 Options: *const EOS_LobbySearch_SetParameterOptions,
18732 ) -> EOS_EResult;
18733}
18734unsafe extern "C" {
18735 #[doc = " Remove a parameter from the array of search criteria.\n\n @params Options a search parameter key name to remove\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if removing this search parameter was successful\n - EOS_InvalidParameters if the search key is invalid or null\n - EOS_NotFound if the parameter was not a part of the search criteria\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_LobbySearch_RemoveParameterOptions"]
18736 pub fn EOS_LobbySearch_RemoveParameter(
18737 Handle: EOS_HLobbySearch,
18738 Options: *const EOS_LobbySearch_RemoveParameterOptions,
18739 ) -> EOS_EResult;
18740}
18741unsafe extern "C" {
18742 #[doc = " Set the maximum number of search results to return in the query, can't be more than EOS_LOBBY_MAX_SEARCH_RESULTS\n\n @param Options maximum number of search results to return in the query\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if setting the max results was successful\n - EOS_InvalidParameters if the number of results requested is invalid\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_LobbySearch_SetMaxResultsOptions"]
18743 pub fn EOS_LobbySearch_SetMaxResults(
18744 Handle: EOS_HLobbySearch,
18745 Options: *const EOS_LobbySearch_SetMaxResultsOptions,
18746 ) -> EOS_EResult;
18747}
18748unsafe extern "C" {
18749 #[doc = " Get the number of search results found by the search parameters in this search\n\n @param Options Options associated with the search count\n\n @return return the number of search results found by the query or 0 if search is not complete\n\n @see EOS_LobbySearch_GetSearchResultCountOptions"]
18750 pub fn EOS_LobbySearch_GetSearchResultCount(
18751 Handle: EOS_HLobbySearch,
18752 Options: *const EOS_LobbySearch_GetSearchResultCountOptions,
18753 ) -> u32;
18754}
18755unsafe extern "C" {
18756 #[doc = " EOS_LobbySearch_CopySearchResultByIndex is used to immediately retrieve a handle to the lobby information from a given search result.\n If the call returns an EOS_Success result, the out parameter, OutLobbyDetailsHandle, must be passed to EOS_LobbyDetails_Release to release the memory associated with it.\n\n @param Options Structure containing the input parameters\n @param OutLobbyDetailsHandle out parameter used to receive the lobby details handle\n\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success if the information is available and passed out in OutLobbyDetailsHandle\n - EOS_InvalidParameters if you pass an invalid index or a null pointer for the out parameter\n - EOS_IncompatibleVersion if the API version passed in is incorrect\n\n @see EOS_LobbySearch_CopySearchResultByIndexOptions\n @see EOS_HLobbyDetails\n @see EOS_LobbyDetails_Release"]
18757 pub fn EOS_LobbySearch_CopySearchResultByIndex(
18758 Handle: EOS_HLobbySearch,
18759 Options: *const EOS_LobbySearch_CopySearchResultByIndexOptions,
18760 OutLobbyDetailsHandle: *mut EOS_HLobbyDetails,
18761 ) -> EOS_EResult;
18762}
18763unsafe extern "C" {
18764 #[doc = " Send a packet to a peer at the specified address. If there is already an open connection to this peer, it will be\n sent immediately. If there is no open connection, an attempt to connect to the peer will be made. An EOS_Success\n result only means the data was accepted to be sent, not that it has been successfully delivered to the peer.\n\n @param Options Information about the data being sent, by who, to who\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success - If packet was queued to be sent successfully\n - EOS_InvalidParameters - If input was invalid\n - EOS_LimitExceeded - If amount of data being sent is too large, or the outgoing packet queue was full\n - EOS_NoConnection - If bDisableAutoAcceptConnection was set to EOS_TRUE and the connection was not currently accepted (call EOS_P2P_AcceptConnection first, or set bDisableAutoAcceptConnection to EOS_FALSE)\n\n @see EOS_P2P_SendPacketOptions"]
18765 pub fn EOS_P2P_SendPacket(
18766 Handle: EOS_HP2P,
18767 Options: *const EOS_P2P_SendPacketOptions,
18768 ) -> EOS_EResult;
18769}
18770unsafe extern "C" {
18771 #[doc = " Gets the size of the packet that will be returned by ReceivePacket for a particular user, if there is any available\n packets to be retrieved.\n\n @param Options Information about who is requesting the size of their next packet\n @param OutPacketSizeBytes The amount of bytes required to store the data of the next packet for the requested user\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success - If OutPacketSizeBytes was successfully set and there is data to be received\n - EOS_InvalidParameters - If input was invalid\n - EOS_NotFound - If there are no packets available for the requesting user\n\n @see EOS_P2P_GetNextReceivedPacketSizeOptions"]
18772 pub fn EOS_P2P_GetNextReceivedPacketSize(
18773 Handle: EOS_HP2P,
18774 Options: *const EOS_P2P_GetNextReceivedPacketSizeOptions,
18775 OutPacketSizeBytes: *mut u32,
18776 ) -> EOS_EResult;
18777}
18778unsafe extern "C" {
18779 #[doc = " Receive the next packet for the local user, and information associated with this packet, if it exists.\n\n @param Options Information about who is requesting the size of their next packet, and how much data can be stored safely\n @param OutPeerId The Remote User who sent data. Only set if there was a packet to receive.\n @param OutSocketId The Socket ID of the data that was sent. Only set if there was a packet to receive.\n @param OutChannel The channel the data was sent on. Only set if there was a packet to receive.\n @param OutData Buffer to store the data being received. Must be at least EOS_P2P_GetNextReceivedPacketSize in length or data will be truncated\n @param OutBytesWritten The amount of bytes written to OutData. Only set if there was a packet to receive.\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success - If the packet was received successfully\n - EOS_InvalidParameters - If input was invalid\n - EOS_NotFound - If there are no packets available for the requesting user\n\n @see EOS_P2P_GetNextReceivedPacketSize\n @see EOS_P2P_ReceivePacketOptions"]
18780 pub fn EOS_P2P_ReceivePacket(
18781 Handle: EOS_HP2P,
18782 Options: *const EOS_P2P_ReceivePacketOptions,
18783 OutPeerId: *mut EOS_ProductUserId,
18784 OutSocketId: *mut EOS_P2P_SocketId,
18785 OutChannel: *mut u8,
18786 OutData: *mut ::std::os::raw::c_void,
18787 OutBytesWritten: *mut u32,
18788 ) -> EOS_EResult;
18789}
18790unsafe extern "C" {
18791 #[doc = " Listen for incoming connection requests on a particular Socket ID, or optionally all Socket IDs. The bound function\n will only be called if the connection has not already been accepted.\n If the network status changes from offline or disabled to online, you must call this function again.\n @param Options Information about who would like notifications, and (optionally) only for a specific socket\n @param ClientData This value is returned to the caller when ConnectionRequestHandler is invoked\n @param ConnectionRequestHandler The callback to be fired when we receive a connection request\n @return A valid notification ID if successfully bound, or EOS_INVALID_NOTIFICATIONID otherwise\n\n @see EOS_P2P_RemoveNotifyPeerConnectionRequest\n @see EOS_P2P_AddNotifyPeerConnectionRequestOptions\n @see EOS_P2P_OnIncomingConnectionRequestCallback"]
18792 pub fn EOS_P2P_AddNotifyPeerConnectionRequest(
18793 Handle: EOS_HP2P,
18794 Options: *const EOS_P2P_AddNotifyPeerConnectionRequestOptions,
18795 ClientData: *mut ::std::os::raw::c_void,
18796 ConnectionRequestHandler: EOS_P2P_OnIncomingConnectionRequestCallback,
18797 ) -> EOS_NotificationId;
18798}
18799unsafe extern "C" {
18800 #[doc = " Stop listening for connection requests on a previously bound handler.\n\n @param NotificationId The previously bound notification ID\n\n @see EOS_P2P_AddNotifyPeerConnectionRequest"]
18801 pub fn EOS_P2P_RemoveNotifyPeerConnectionRequest(
18802 Handle: EOS_HP2P,
18803 NotificationId: EOS_NotificationId,
18804 );
18805}
18806unsafe extern "C" {
18807 #[doc = " Listen for when a connection is established. This is fired when we first connect to a peer, when we reconnect to a peer after a connection interruption,\n and when our underlying network connection type changes (for example, from a direct connection to relay, or vice versa). Network Connection Type changes\n will always be broadcast with a EOS_CET_Reconnection connection type, even if the connection was not interrupted.\n If the network status changes from offline or disabled to online, you must call this function again.\n\n @param Options Information about who would like notifications about established connections, and for which socket\n @param ClientData This value is returned to the caller when ConnectionEstablishedHandler is invoked\n @param ConnectionEstablishedHandler The callback to be fired when a connection has been established\n @return A valid notification ID if successfully bound, or EOS_INVALID_NOTIFICATIONID otherwise\n\n @see EOS_P2P_AddNotifyPeerConnectionEstablishedOptions\n @see EOS_P2P_OnPeerConnectionEstablishedCallback\n @see EOS_P2P_AddNotifyPeerConnectionInterrupted\n @see EOS_P2P_AddNotifyPeerConnectionClosed\n @see EOS_P2P_RemoveNotifyPeerConnectionEstablished"]
18808 pub fn EOS_P2P_AddNotifyPeerConnectionEstablished(
18809 Handle: EOS_HP2P,
18810 Options: *const EOS_P2P_AddNotifyPeerConnectionEstablishedOptions,
18811 ClientData: *mut ::std::os::raw::c_void,
18812 ConnectionEstablishedHandler: EOS_P2P_OnPeerConnectionEstablishedCallback,
18813 ) -> EOS_NotificationId;
18814}
18815unsafe extern "C" {
18816 #[doc = " Stop notifications for connections being established on a previously bound handler.\n\n @param NotificationId The previously bound notification ID\n\n @see EOS_P2P_AddNotifyPeerConnectionEstablished"]
18817 pub fn EOS_P2P_RemoveNotifyPeerConnectionEstablished(
18818 Handle: EOS_HP2P,
18819 NotificationId: EOS_NotificationId,
18820 );
18821}
18822unsafe extern "C" {
18823 #[doc = " Listen for when a previously opened connection is interrupted. The connection will automatically attempt to reestablish, but it may not be successful.\n\n If a connection reconnects, it will trigger the P2P PeerConnectionEstablished notification with the EOS_CET_Reconnection connection type.\n If a connection fails to reconnect, it will trigger the P2P PeerConnectionClosed notification.\n Packets remain queued during connection interruptions. When a connection closes, packets are flushed. This includes reliable packets.\n\n @param Options Information about who would like notifications about interrupted connections, and for which socket\n @param ClientData This value is returned to the caller when ConnectionInterruptedHandler is invoked\n @param ConnectionInterruptedHandler The callback to be fired when an open connection has been interrupted\n @return A valid notification ID if successfully bound, or EOS_INVALID_NOTIFICATIONID otherwise\n\n @see EOS_P2P_AddNotifyPeerConnectionInterruptedOptions\n @see EOS_P2P_OnPeerConnectionInterruptedCallback\n @see EOS_P2P_AddNotifyPeerConnectionEstablished\n @see EOS_P2P_AddNotifyPeerConnectionClosed\n @see EOS_P2P_RemoveNotifyPeerConnectionInterrupted"]
18824 pub fn EOS_P2P_AddNotifyPeerConnectionInterrupted(
18825 Handle: EOS_HP2P,
18826 Options: *const EOS_P2P_AddNotifyPeerConnectionInterruptedOptions,
18827 ClientData: *mut ::std::os::raw::c_void,
18828 ConnectionInterruptedHandler: EOS_P2P_OnPeerConnectionInterruptedCallback,
18829 ) -> EOS_NotificationId;
18830}
18831unsafe extern "C" {
18832 #[doc = " Stop notifications for connections being interrupted on a previously bound handler.\n\n @param NotificationId The previously bound notification ID\n\n @see EOS_P2P_AddNotifyPeerConnectionInterrupted"]
18833 pub fn EOS_P2P_RemoveNotifyPeerConnectionInterrupted(
18834 Handle: EOS_HP2P,
18835 NotificationId: EOS_NotificationId,
18836 );
18837}
18838unsafe extern "C" {
18839 #[doc = " Listen for when a previously accepted connection that was either open or pending is closed.\n When a connection closes, packets are flushed. This includes reliable packets.\n\n @param Options Information about who would like notifications about closed connections, and for which socket\n @param ClientData This value is returned to the caller when ConnectionClosedHandler is invoked\n @param ConnectionClosedHandler The callback to be fired when an open connection has been closed\n @return A valid notification ID if successfully bound, or EOS_INVALID_NOTIFICATIONID otherwise\n\n @see EOS_P2P_AddNotifyPeerConnectionClosedOptions\n @see EOS_P2P_OnRemoteConnectionClosedCallback\n @see EOS_P2P_AddNotifyPeerConnectionEstablished\n @see EOS_P2P_AddNotifyPeerConnectionInterrupted\n @see EOS_P2P_RemoveNotifyPeerConnectionClosed"]
18840 pub fn EOS_P2P_AddNotifyPeerConnectionClosed(
18841 Handle: EOS_HP2P,
18842 Options: *const EOS_P2P_AddNotifyPeerConnectionClosedOptions,
18843 ClientData: *mut ::std::os::raw::c_void,
18844 ConnectionClosedHandler: EOS_P2P_OnRemoteConnectionClosedCallback,
18845 ) -> EOS_NotificationId;
18846}
18847unsafe extern "C" {
18848 #[doc = " Stop notifications for connections being closed on a previously bound handler.\n\n @param NotificationId The previously bound notification ID\n\n @see EOS_P2P_AddNotifyPeerConnectionClosed"]
18849 pub fn EOS_P2P_RemoveNotifyPeerConnectionClosed(
18850 Handle: EOS_HP2P,
18851 NotificationId: EOS_NotificationId,
18852 );
18853}
18854unsafe extern "C" {
18855 #[doc = " Accept or Request a connection with a specific peer on a specific Socket ID.\n\n If this connection was not already locally accepted, we will securely message the peer, and trigger a PeerConnectionRequest notification notifying\n them of the connection request. If the PeerConnectionRequest notification is not bound for all Socket IDs or for the requested Socket ID in particular,\n the request will be silently ignored.\n\n If the remote peer accepts the connection, a notification will be broadcast to the EOS_P2P_AddNotifyPeerConnectionEstablished when the connection is\n ready to send packets.\n\n If multiple Socket IDs are accepted with one peer, they will share one physical socket.\n\n Even if a connection is already locally accepted, EOS_Success will still be returned if the input was valid.\n\n @param Options Information about who would like to accept a connection, and which connection\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success - if the provided data is valid\n - EOS_InvalidParameters - if the provided data is invalid\n\n @see EOS_P2P_AcceptConnectionOptions"]
18856 pub fn EOS_P2P_AcceptConnection(
18857 Handle: EOS_HP2P,
18858 Options: *const EOS_P2P_AcceptConnectionOptions,
18859 ) -> EOS_EResult;
18860}
18861unsafe extern "C" {
18862 #[doc = " For all (or optionally one specific) Socket ID(s) with a specific peer: stop receiving packets, drop any locally queued packets, and if no other\n Socket ID is using the connection with the peer, close the underlying connection.\n\n If your application wants to migrate an existing connection with a peer it already connected to, it is recommended to call EOS_P2P_AcceptConnection\n with the new Socket ID first before calling EOS_P2P_CloseConnection, to prevent the shared physical socket from being torn down prematurely.\n\n @param Options Information about who would like to close a connection, and which connection.\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success - if the provided data is valid\n - EOS_InvalidParameters - if the provided data is invalid\n\n @see EOS_P2P_CloseConnectionOptions"]
18863 pub fn EOS_P2P_CloseConnection(
18864 Handle: EOS_HP2P,
18865 Options: *const EOS_P2P_CloseConnectionOptions,
18866 ) -> EOS_EResult;
18867}
18868unsafe extern "C" {
18869 #[doc = " Close any open Connections for a specific Peer Connection ID.\n\n @param Options Information about who would like to close connections, and by what socket ID\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success - if the provided data is valid\n - EOS_InvalidParameters - if the provided data is invalid\n\n @see EOS_P2P_CloseConnectionsOptions"]
18870 pub fn EOS_P2P_CloseConnections(
18871 Handle: EOS_HP2P,
18872 Options: *const EOS_P2P_CloseConnectionsOptions,
18873 ) -> EOS_EResult;
18874}
18875unsafe extern "C" {
18876 #[doc = " Query the current NAT-type of our connection.\n\n @param Options Information about what version of the EOS_P2P_QueryNATType API is supported\n @param ClientData arbitrary data that is passed back to you in the CompletionDelegate\n @param CompletionDelegate The callback to be fired when we finish querying our NAT type\n\n @see EOS_P2P_QueryNATTypeOptions\n @see EOS_P2P_OnQueryNATTypeCompleteCallback"]
18877 pub fn EOS_P2P_QueryNATType(
18878 Handle: EOS_HP2P,
18879 Options: *const EOS_P2P_QueryNATTypeOptions,
18880 ClientData: *mut ::std::os::raw::c_void,
18881 CompletionDelegate: EOS_P2P_OnQueryNATTypeCompleteCallback,
18882 );
18883}
18884unsafe extern "C" {
18885 #[doc = " Get our last-queried NAT-type, if it has been successfully queried.\n\n @param Options Information about what version of the EOS_P2P_GetNATType API is supported\n @param OutNATType The queried NAT Type, or unknown if unknown\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success - if we have cached data\n - EOS_NotFound - If we do not have queried data cached\n\n @see EOS_P2P_GetNATTypeOptions"]
18886 pub fn EOS_P2P_GetNATType(
18887 Handle: EOS_HP2P,
18888 Options: *const EOS_P2P_GetNATTypeOptions,
18889 OutNATType: *mut EOS_ENATType,
18890 ) -> EOS_EResult;
18891}
18892unsafe extern "C" {
18893 #[doc = " Set how relay servers are to be used. This setting does not immediately apply to existing connections, but may apply to existing\n connections if the connection requires renegotiation.\n\n @param Options Information about relay server config options\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success - if the options were set successfully\n - EOS_InvalidParameters - if the options are invalid in some way\n\n @see EOS_P2P_SetRelayControlOptions\n @see EOS_ERelayControl"]
18894 pub fn EOS_P2P_SetRelayControl(
18895 Handle: EOS_HP2P,
18896 Options: *const EOS_P2P_SetRelayControlOptions,
18897 ) -> EOS_EResult;
18898}
18899unsafe extern "C" {
18900 #[doc = " Get the current relay control setting.\n\n @param Options Information about what version of the EOS_P2P_GetRelayControl API is supported\n @param OutRelayControl The relay control setting currently configured\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success - if the input was valid\n - EOS_InvalidParameters - if the input was invalid in some way\n\n @see EOS_P2P_GetRelayControlOptions\n @see EOS_ERelayControl"]
18901 pub fn EOS_P2P_GetRelayControl(
18902 Handle: EOS_HP2P,
18903 Options: *const EOS_P2P_GetRelayControlOptions,
18904 OutRelayControl: *mut EOS_ERelayControl,
18905 ) -> EOS_EResult;
18906}
18907unsafe extern "C" {
18908 #[doc = " Set configuration options related to network ports.\n\n @param Options Information about network ports config options\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success - if the options were set successfully\n - EOS_InvalidParameters - if the options are invalid in some way\n\n @see EOS_P2P_SetPortRangeOptions"]
18909 pub fn EOS_P2P_SetPortRange(
18910 Handle: EOS_HP2P,
18911 Options: *const EOS_P2P_SetPortRangeOptions,
18912 ) -> EOS_EResult;
18913}
18914unsafe extern "C" {
18915 #[doc = " Get the current chosen port and the amount of other ports to try above the chosen port if the chosen port is unavailable.\n\n @param Options Information about what version of the EOS_P2P_GetPortRange API is supported\n @param OutPort The port that will be tried first\n @param OutNumAdditionalPortsToTry The amount of ports to try above the value in OutPort, if OutPort is unavailable\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success - if the input options were valid\n - EOS_InvalidParameters - if the input was invalid in some way\n\n @see EOS_P2P_GetPortRangeOptions"]
18916 pub fn EOS_P2P_GetPortRange(
18917 Handle: EOS_HP2P,
18918 Options: *const EOS_P2P_GetPortRangeOptions,
18919 OutPort: *mut u16,
18920 OutNumAdditionalPortsToTry: *mut u16,
18921 ) -> EOS_EResult;
18922}
18923unsafe extern "C" {
18924 #[doc = " Sets the maximum packet queue sizes that packets waiting to be sent or received can use. If the packet queue\n size is made smaller than the current queue size while there are packets in the queue that would push this\n packet size over, existing packets are kept but new packets may not be added to the full queue until enough\n packets are sent or received.\n\n @param Options Information about packet queue size\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success - if the input options were valid\n - EOS_InvalidParameters - if the input was invalid in some way\n\n @see EOS_P2P_SetPacketQueueSizeOptions"]
18925 pub fn EOS_P2P_SetPacketQueueSize(
18926 Handle: EOS_HP2P,
18927 Options: *const EOS_P2P_SetPacketQueueSizeOptions,
18928 ) -> EOS_EResult;
18929}
18930unsafe extern "C" {
18931 #[doc = " Gets the current cached information related to the incoming and outgoing packet queues.\n\n @param Options Information about what version of the EOS_P2P_GetPacketQueueInfo API is supported\n @param OutPacketQueueInfo The current information of the incoming and outgoing packet queues\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success - if the input options were valid\n - EOS_InvalidParameters - if the input was invalid in some way\n\n @see EOS_P2P_GetPacketQueueInfoOptions\n @see EOS_P2P_PacketQueueInfo"]
18932 pub fn EOS_P2P_GetPacketQueueInfo(
18933 Handle: EOS_HP2P,
18934 Options: *const EOS_P2P_GetPacketQueueInfoOptions,
18935 OutPacketQueueInfo: *mut EOS_P2P_PacketQueueInfo,
18936 ) -> EOS_EResult;
18937}
18938unsafe extern "C" {
18939 #[doc = " Listen for when our packet queue has become full. This event gives an opportunity to read packets to make\n room for new incoming packets. If this event fires and no packets are read by calling EOS_P2P_ReceivePacket\n or the packet queue size is not increased by EOS_P2P_SetPacketQueueSize, any packets that are received after\n this event are discarded until there is room again in the queue.\n\n @param Options Information about what version of the EOS_P2P_AddNotifyIncomingPacketQueueFull API is supported\n @param ClientData Arbitrary data that is passed back to you in the CompletionDelegate\n @param IncomingPacketQueueFullHandler The callback to be fired when the incoming packet queue is full\n @return A valid notification ID if successfully bound, or EOS_INVALID_NOTIFICATIONID otherwise\n\n @see EOS_P2P_AddNotifyIncomingPacketQueueFullOptions\n @see EOS_P2P_OnIncomingPacketQueueFullCallback"]
18940 pub fn EOS_P2P_AddNotifyIncomingPacketQueueFull(
18941 Handle: EOS_HP2P,
18942 Options: *const EOS_P2P_AddNotifyIncomingPacketQueueFullOptions,
18943 ClientData: *mut ::std::os::raw::c_void,
18944 IncomingPacketQueueFullHandler: EOS_P2P_OnIncomingPacketQueueFullCallback,
18945 ) -> EOS_NotificationId;
18946}
18947unsafe extern "C" {
18948 #[doc = " Stop listening for full incoming packet queue events on a previously bound handler.\n\n @param NotificationId The previously bound notification ID"]
18949 pub fn EOS_P2P_RemoveNotifyIncomingPacketQueueFull(
18950 Handle: EOS_HP2P,
18951 NotificationId: EOS_NotificationId,
18952 );
18953}
18954unsafe extern "C" {
18955 #[doc = " Clear queued incoming and outgoing packets.\n\n @param Options Information about which queues should be cleared\n @return EOS_EResult containing the result of the operation.\n Possible result codes:\n - EOS_Success - if the input options were valid (even if queues were empty and no packets where cleared)\n - EOS_IncompatibleVersion - if wrong API version\n - EOS_InvalidUser - if an invalid/remote user was used\n - EOS_InvalidParameters - if input was invalid in other way\n\n @see EOS_P2P_ClearPacketQueueOptions"]
18956 pub fn EOS_P2P_ClearPacketQueue(
18957 Handle: EOS_HP2P,
18958 Options: *const EOS_P2P_ClearPacketQueueOptions,
18959 ) -> EOS_EResult;
18960}