mempool-system.c revision dd0fd94add215d793a6869215c0509308b94c877
c25356d5978632df6203437e1953bcb29e0c736fTimo Sirainen/* Copyright (c) 2002-2003 Timo Sirainen */
c0a708fa3f7b8f4fbca32052da5faf7a0125189dTimo Sirainen/* @UNSAFE: whole file */
cd94aeaa294f7cc507206b4b2075852f00e14d61Timo Sirainenstatic const char *pool_system_get_name(pool_t pool);
b55f914c0ade77252cfd798ea8eb9a84bda56315Timo Sirainenstatic void *pool_system_malloc(pool_t pool, size_t size);
b55f914c0ade77252cfd798ea8eb9a84bda56315Timo Sirainenstatic void pool_system_free(pool_t pool, void *mem);
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainenstatic void *pool_system_realloc(pool_t pool, void *mem,
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainenstatic size_t pool_system_get_max_easy_alloc_size(pool_t pool);
9f627b360ed38fdc54cb02ec5e67246c3f0d5b0fTimo Sirainenstatic const char *pool_system_get_name(pool_t pool __attr_unused__)
9f627b360ed38fdc54cb02ec5e67246c3f0d5b0fTimo Sirainen return "system";
9f627b360ed38fdc54cb02ec5e67246c3f0d5b0fTimo Sirainenstatic void pool_system_ref(pool_t pool __attr_unused__)
9f627b360ed38fdc54cb02ec5e67246c3f0d5b0fTimo Sirainenstatic void pool_system_unref(pool_t pool __attr_unused__)
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainenstatic void *pool_system_malloc(pool_t pool __attr_unused__, size_t size)
2598b2f36365b52d9754b9348a5be29569293e46Timo Sirainen i_panic("Trying to allocate %"PRIuSIZE_T" bytes", size);
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen "pool_system_malloc(): Out of memory");
9f627b360ed38fdc54cb02ec5e67246c3f0d5b0fTimo Sirainenstatic void pool_system_free(pool_t pool __attr_unused__,
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainenstatic void *pool_system_realloc(pool_t pool __attr_unused__, void *mem,
9f627b360ed38fdc54cb02ec5e67246c3f0d5b0fTimo Sirainen i_panic("Trying to allocate %"PRIuSIZE_T" bytes", new_size);
ad004e44be109684521494b5af2ad1da39b8bb27Timo Sirainen "pool_system_realloc(): Out of memory");
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen /* clear new data */
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen memset((char *) mem + old_size, 0, new_size - old_size);
009217abb57a24a4076092e8e4e165545747839eStephan Boschstatic void pool_system_clear(pool_t pool __attr_unused__)
97db4761382024093f441e4bc78ba8b6a056504dTimo Sirainen i_panic("pool_system_clear() must not be called");