This file is indexed.

/usr/include/sphde/sasmsync.h is in libsphde-dev 1.3.0-1+b1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
/*
 * Copyright (c) 2009-2014 IBM Corporation.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors:
 *     IBM Corporation, Steven Munroe - initial API and implementation
 */

#ifndef __SAS_MSYNC_H
#define __SAS_MSYNC_H

/**! \file sasmsync.h
*  \brief API to manage the resources of the Shared Address Space.
*
*  Manage the real memory and persistent state of the backing files
*  associated with the SAS Region.
*
**/

/** \brief SAS msync asynchronous option.  **/
#define SAS_ASYNC 1
/** \brief SAS msync synchronous option.  **/
#define SAS_SYNC 0

/** \brief ignore this macro behind the curtain **/
#ifdef __cplusplus
#define __C__ "C"
#else
#define __C__
#endif

/** \brief Write a range of pages to persistent storage and inform the
*   kernel that those pages can be removed from real memory.
*
*   Write (msync) any changed pages in range then mark all pages in range
*   MADV_DONTNEED.
*
*	@param startAddr starting address of the purge range.
*	@param size of the purge range.
*	@param asyncBool Flag for asynchronous action if true.
*	@return Zero on success and ERRNO otherwise.
*/
extern __C__ int sasMsyncPurge(void *startAddr, size_t size, int asyncBool);

/** \brief Inform the kernel that those pages can be removed from
*   real memory.
*
*   Mark all pages in range MADV_DONTNEED.
*
*	@param startAddr starting address of the purge range.
*	@param size of the purge range.
*	@return Zero on success and ERRNO otherwise.
*/
extern __C__ int sasMsyncRelease(void *startAddr, size_t size);

/** \brief Inform the kernel that those pages will be needed soon.
*
*   Mark all pages in range MADV_WILLNEED.
*
*	@param startAddr starting address of the purge range.
*	@param size of the purge range.
*	@return Zero on success and ERRNO otherwise.
*/
extern __C__ int sasMsyncBring(void *startAddr, size_t size);

/** \brief Inform the kernel that those pages will be needed soon
*   and will be accessed in sequential order.
*
*   Mark all pages in range MADV_SEQUENTIAL.
*
*	@param startAddr starting address of the purge range.
*	@param size of the purge range.
*	@return Zero on success and ERRNO otherwise.
*/
extern __C__ int sasMsyncSequential(void *startAddr, size_t size);

/** \brief Inform the kernel that those pages will be needed soon
*   and will be accessed in random order.
*
*   Mark all pages in range MADV_RANDOM.
*
*	@param startAddr starting address of the purge range.
*	@param size of the purge range.
*	@return Zero on success and ERRNO otherwise.
*/
extern __C__ int sasMsyncRandom(void *startAddr, size_t size);

/** \brief Write a range of pages to persistent storage.
*
*   Write (msync) any changed pages in range.
*
*	@param startAddr starting address of the purge range.
*	@param size of the purge range.
*	@param asyncBool Flag for asynchronous action if true.
*	@return Zero on success and ERRNO otherwise.
*/
extern __C__ int sasMsyncWrite(void *startAddr, size_t size, int asyncBool);

#endif