]> Chaos Git - corbenik/ctrulib.git/commitdiff
Added FSUSER_GetMediaType
authorsmea <smealum@gmail.com>
Sat, 3 Oct 2015 06:05:30 +0000 (23:05 -0700)
committersmea <smealum@gmail.com>
Sat, 3 Oct 2015 06:05:30 +0000 (23:05 -0700)
libctru/include/3ds/services/fs.h
libctru/source/services/fs.c

index 2f7b4dddf2c074184a924c045020a2c4beff97e0..acac55aac8c6bd2a76dee10221c64d69e54b3f21 100644 (file)
@@ -150,6 +150,7 @@ Result FSUSER_GetSdmcArchiveResource(Handle *handle, u32 *sectorSize, u32 *clust
 Result FSUSER_GetNandArchiveResource(Handle *handle, u32 *sectorSize, u32 *clusterSize, u32 *numClusters, u32 *freeClusters);
 Result FSUSER_IsSdmcDetected(Handle *handle, u8 *detected);
 Result FSUSER_IsSdmcWritable(Handle *handle, u8 *writable);
+Result FSUSER_GetMediaType(Handle *handle, u8* mediatype);
 
 Result FSFILE_Close(Handle handle);
 Result FSFILE_Read(Handle handle, u32 *bytesRead, u64 offset, void *buffer, u32 size);
index 157583e53e327bec50ca2f3193e7517d7ecb0c87..8043fcd712dba704c025e082b908e3b0405a7aab 100644 (file)
@@ -1051,6 +1051,49 @@ FSUSER_IsSdmcDetected(Handle *handle,
        return cmdbuf[1];
 }
 
+/*! Close an open file
+ *
+ *  @param[in]  handle   fs:USER handle
+ *  @param[out] mediatype Output curent process mediatype
+ *
+ *  @returns error
+ *
+ *  @internal
+ *
+ *  #### Request
+ *
+ *  Index Word | Description
+ *  -----------|-------------------------
+ *  0          | Header code [0x08680000]
+ *
+ *  #### Response
+ *
+ *  Index Word | Description
+ *  -----------|-------------------------
+ *  0          | Header code
+ *  1          | Result code
+ */
+Result
+FSUSER_GetMediaType(Handle *handle,
+                                       u8* mediatype)
+{
+       if(!handle)
+               handle = &fsuHandle;
+
+       u32* cmdbuf = getThreadCommandBuffer();
+
+       cmdbuf[0] = 0x08680000;
+
+       Result ret = 0;
+       if((ret = svcSendSyncRequest(*handle)))
+               return ret;
+
+       if(mediatype)
+               *mediatype = cmdbuf[2];
+
+       return cmdbuf[1];
+}
+
 /*! Check if SD card is writable
  *
  *  @param[in]  handle   fs:USER handle