root/mmc.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /* mmc.h - header file for mmap cache package
   2 **
   3 ** Copyright (c) 1998,2014 by Jef Poskanzer <jef@mail.acme.com>.
   4 ** Copyright (c) 2023 by Amelia Zabardast Ziabari <ame@psianesia.org>.
   5 ** All rights reserved.
   6 **
   7 ** Redistribution and use in source and binary forms, with or without
   8 ** modification, are permitted provided that the following conditions
   9 ** are met:
  10 ** 1. Redistributions of source code must retain the above copyright
  11 **    notice, this list of conditions and the following disclaimer.
  12 ** 2. Redistributions in binary form must reproduce the above copyright
  13 **    notice, this list of conditions and the following disclaimer in the
  14 **    documentation and/or other materials provided with the distribution.
  15 **
  16 ** THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  17 ** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  18 ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  19 ** ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  20 ** FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  21 ** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  22 ** OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  23 ** HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  24 ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  25 ** OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  26 ** SUCH DAMAGE.
  27 */
  28 
  29 #ifndef _MMC_H_
  30 #define _MMC_H_
  31 
  32 /* Returns an mmap()ed area for the given file, or (void*) 0 on errors.
  33 ** If you have a stat buffer on the file, pass it in, otherwise pass 0.
  34 ** Same for the current time.
  35 */
  36 void* mmc_map( char* filename, struct stat* sbP, struct timeval* nowP );
  37 
  38 /* Done with an mmap()ed area that was returned by mmc_map().
  39 ** If you have a stat buffer on the file, pass it in, otherwise pass 0.
  40 ** Same for the current time.
  41 */
  42 void mmc_unmap( void* addr, struct stat* sbP, struct timeval* nowP );
  43 
  44 /* Clean up the mmc package, freeing any unused storage.
  45 ** This should be called periodically, say every five minutes.
  46 ** If you have the current time, pass it in, otherwise pass 0.
  47 */
  48 void mmc_cleanup( struct timeval* nowP );
  49 
  50 /* Free all storage, usually in preparation for exitting. */
  51 void mmc_term( void );
  52 
  53 /* Generate debugging statistics syslog message. */
  54 void mmc_logstats( long secs );
  55 
  56 #endif /* _MMC_H_ */

/* [previous][next][first][last][top][bottom][index][help] */