123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- #include "ff.h"
- #if FF_USE_LFN == 3
- void* ff_memalloc (
- UINT msize
- )
- {
- return malloc(msize);
- }
- void ff_memfree (
- void* mblock
- )
- {
- free(mblock);
- }
- #endif
- #if FF_FS_REENTRANT
- int ff_cre_syncobj (
- BYTE vol,
- FF_SYNC_t* sobj
- )
- {
-
- *sobj = CreateMutex(NULL, FALSE, NULL);
- return (int)(*sobj != INVALID_HANDLE_VALUE);
-
-
-
-
- }
- int ff_del_syncobj (
- FF_SYNC_t sobj
- )
- {
-
- return (int)CloseHandle(sobj);
-
-
-
-
- }
- int ff_req_grant (
- FF_SYNC_t sobj
- )
- {
-
- return (int)(WaitForSingleObject(sobj, FF_FS_TIMEOUT) == WAIT_OBJECT_0);
-
-
-
-
- }
- void ff_rel_grant (
- FF_SYNC_t sobj
- )
- {
-
- ReleaseMutex(sobj);
-
-
-
-
- }
- #endif
|