MCPcopy Create free account
hub / github.com/devkitPro/libctru / uds_Initialize

Function uds_Initialize

libctru/source/services/uds.c:202–244  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

200}
201
202static Result uds_Initialize(u32 sharedmem_size, const char *username)
203{
204 Result ret=0;
205 udsNodeInfo nodeinfo;
206
207 ret = udsGenerateNodeInfo(&nodeinfo, username);
208 if (R_FAILED(ret))return ret;
209
210 __uds_sharedmem_size = sharedmem_size;
211 __uds_sharedmem_handle = 0;
212
213 __uds_sharedmem_addr = memalign(0x1000, __uds_sharedmem_size);
214 if(__uds_sharedmem_addr==NULL)ret = -1;
215
216 if (R_SUCCEEDED(ret))
217 {
218 memset(__uds_sharedmem_addr, 0, __uds_sharedmem_size);
219 ret = svcCreateMemoryBlock(&__uds_sharedmem_handle, (u32)__uds_sharedmem_addr, __uds_sharedmem_size, 0x0, MEMPERM_READ | MEMPERM_WRITE);
220 }
221
222 if (R_SUCCEEDED(ret))ret = udsipc_InitializeWithVersion(&nodeinfo, __uds_sharedmem_handle, __uds_sharedmem_size, &__uds_connectionstatus_event);
223
224 if (R_FAILED(ret) && __uds_sharedmem_handle)
225 {
226 svcCloseHandle(__uds_sharedmem_handle);
227 __uds_sharedmem_handle = 0;
228 __uds_sharedmem_size = 0;
229 }
230
231 if(R_FAILED(ret) && __uds_sharedmem_addr)
232 {
233 free(__uds_sharedmem_addr);
234 __uds_sharedmem_addr = NULL;
235 }
236
237 if(R_FAILED(ret) && __uds_connectionstatus_event)
238 {
239 svcCloseHandle(__uds_connectionstatus_event);
240 __uds_connectionstatus_event = 0;
241 }
242
243 return ret;
244}
245
246Result udsCreateNetwork(const udsNetworkStruct *network, const void *passphrase, size_t passphrase_size, udsBindContext *context, u8 data_channel, u32 recv_buffer_size)
247{

Callers 1

udsInitFunction · 0.85

Calls 2

udsGenerateNodeInfoFunction · 0.85

Tested by

no test coverage detected