4aac33d31b41cc7e3ac6fb66747ff2cae63d08cfjbeck * Copyright (c) 2005-2007 Sendmail, Inc. and its suppliers.
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck * All rights reserved.
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck * By using this file, you agree to the terms and conditions set
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck * forth in the LICENSE file which can be found at the top level of
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck * the sendmail distribution.
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck#pragma ident "%Z%%M% %I% %E% SMI"
4aac33d31b41cc7e3ac6fb66747ff2cae63d08cfjbeckSM_RCSID("@(#)$Id: memstat.c,v 1.6 2007/03/20 23:26:12 ca Exp $")
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** SM_MEMSTAT_OPEN -- open memory statistics
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** Parameters:
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** errno as error code, 0: ok
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** SM_MEMSTAT_CLOSE -- close memory statistics
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** Parameters:
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** errno as error code, 0: ok
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** SM_MEMSTAT_GET -- get memory statistics
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** Parameters:
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** resource -- resource to look up
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** pvalue -- (pointer to) memory statistics value (output)
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** 0: success
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** !=0: error
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck if (r == -1)
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** SM_MEMSTAT_OPEN -- open memory statistics
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** Parameters:
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** errno as error code, 0: ok
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** SM_MEMSTAT_CLOSE -- close memory statistics
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** Parameters:
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** errno as error code, 0: ok
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck if (r != 0)
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** SM_MEMSTAT_GET -- get memory statistics
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** Parameters:
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** resource -- resource to look up
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** pvalue -- (pointer to) memory statistics value (output)
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** 0: success
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** !=0: error
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck total: used: free: shared: buffers: cached:
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckMem: 261468160 252149760 9318400 0 3854336 109813760
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckSwap: 1052794880 62185472 990609408
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckMemTotal: 255340 kB
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckMemFree: 9100 kB
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckMemShared: 0 kB
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckBuffers: 3764 kB
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckCached: 107240 kB
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckActive: 104340 kB
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckInact_dirty: 4220 kB
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckInact_clean: 2444 kB
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckInact_target: 4092 kB
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckHighTotal: 0 kB
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckHighFree: 0 kB
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckLowTotal: 255340 kB
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckLowFree: 9100 kB
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckSwapTotal: 1028120 kB
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeckSwapFree: 967392 kB
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** SM_MEMSTAT_OPEN -- open memory statistics
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** Parameters:
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** errno as error code, 0: ok
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** SM_MEMSTAT_CLOSE -- close memory statistics
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** Parameters:
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** errno as error code, 0: ok
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** SM_MEMSTAT_GET -- get memory statistics
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** Parameters:
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** resource -- resource to look up
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** pvalue -- (pointer to) memory statistics value (output)
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** 0: success
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** !=0: error
4aac33d31b41cc7e3ac6fb66747ff2cae63d08cfjbeck if (l >= sizeof(buf))
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck return (r > 0) ? 0 : -1;
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck#else /* USEPROCMEMINFO */
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** SM_MEMSTAT_OPEN -- open memory statistics
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** Parameters:
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** errno as error code, 0: ok
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** SM_MEMSTAT_CLOSE -- close memory statistics
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** Parameters:
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** errno as error code, 0: ok
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** SM_MEMSTAT_GET -- get memory statistics
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** Parameters:
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** resource -- resource to look up
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** pvalue -- (pointer to) memory statistics value (output)
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** 0: success
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck** !=0: error
058561cbaa119a6f2659bc27ef343e1b47266bb2jbeck#endif /* USEKSTAT */