# HG changeset patch # User Michael Spacefalcon # Date 1402289612 0 # Node ID 754e72d134a0535c524a0de062a675727dc7df27 # Parent 1319bd1d5ac3c13de9131d08ef7aaa118f016781 os_mem_fl.c: os_GetPartitionPoolStatus() done diff -r 1319bd1d5ac3 -r 754e72d134a0 gsm-fw/gpf/osl/os_mem_fl.c --- a/gsm-fw/gpf/osl/os_mem_fl.c Mon Jun 09 04:10:07 2014 +0000 +++ b/gsm-fw/gpf/osl/os_mem_fl.c Mon Jun 09 04:53:32 2014 +0000 @@ -194,3 +194,32 @@ } return (const ULONG *) &pool->pcb; } + +GLOBAL LONG +os_GetPartitionPoolStatus(ULONG size, OS_HANDLE gr_hndl, + USHORT *m_free, USHORT *m_alloc) +{ + T_OS_PART_POOL *pool; + UNSIGNED dummy, allocated, available; + CHAR Name[8]; + + for (pool = PartGrpTable[gr_hndl].grp_head; pool; pool = pool->next) { + if (!size) + break; + if (size > pool->size) + continue; + if (NU_Partition_Pool_Information(&pool->pcb, Name, + (VOID **)&dummy, &dummy, + &dummy, &available, + &allocated, (OPTION *)&dummy, + &dummy, (NU_TASK **)&dummy) + != NU_SUCCESS) + break; + *m_alloc = allocated; + *m_free = available; + return(OS_OK); + } + *m_alloc = 0; + *m_free = 0; + return(OS_ERROR); +}