This file is indexed.

/usr/include/dat2/dat_registry.h is in libdapl-dev 2.1.10.1.f1e05b7a-3.

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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/*
 * Copyright (c) 2002-2006, Network Appliance, Inc. All rights reserved.
 *
 * This Software is licensed under all of the following licenses:
 * 
 * 1) under the terms of the "Common Public License 1.0" a copy of which is
 *    in the file LICENSE.txt in the root directory. The license is also
 *    available from the Open Source Initiative, see 
 *    http://www.opensource.org/licenses/cpl.php.
 * 
 * 2) under the terms of the "The BSD License" a copy of which is in the file
 *    LICENSE2.txt in the root directory. The license is also available from
 *    the Open Source Initiative, see
 *    http://www.opensource.org/licenses/bsd-license.php.
 * 
 * 3) under the terms of the "GNU General Public License (GPL) Version 2" a
 *    copy of which is in the file LICENSE3.txt in the root directory. The
 *    license is also available from the Open Source Initiative, see
 *    http://www.opensource.org/licenses/gpl-license.php.
 * 
 * Licensee has the right to choose one of the above licenses.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * Redistributions of source code must retain both the above copyright
 * notice and one of the license notices.
 * 
 * Redistributions in binary form must reproduce both the above copyright
 * notice, one of the license notices in the documentation
 * and/or other materials provided with the distribution.
 *
 * Neither the name of Network Appliance, Inc. nor the names of other DAT
 * Collaborative contributors may be used to endorse or promote
 * products derived from this software without specific prior written
 * permission.
 */

/****************************************************************
 *
 * HEADER: dat_registry.h
 *
 * PURPOSE: DAT registration API signatures
 *
 * Description: Header file for "DAPL: Direct Access Programming
 *		Library, Version: 2.0"
 *
 * 		Contains registration external reference signatures
 * 		for dat registry functions. This file is *only*
 * 		included by providers, not consumers.
 *
 * Mapping rules:
 * 	All global symbols are prepended with DAT_ or dat_
 * 	All DAT objects have an 'api' tag which, such as 'ep' or 'lmr'
 * 	The method table is in the provider definition structure.
 *
 **********************************************************/
#ifndef _DAT_REGISTRY_H_
#define _DAT_REGISTRY_H_

#ifdef __cplusplus
extern "C"
{
#endif

#if defined(_UDAT_H_)
#include <dat2/udat_redirection.h>
#elif defined(_KDAT_H_)
#include <dat2/kdat_redirection.h>
#else
#error Must include udat.h or kdat.h
#endif

/*
 * dat registration API.
 *
 * Technically the dat_ia_open is part of the registration API. This
 * is so the registration module can map the device name to a provider
 * structure and then call the provider dat_ia_open function.
 * dat_is_close is also part of the registration API so that the
 * registration code can be aware when an ia is no longer in use.
 *
 */

extern DAT_RETURN DAT_API dat_registry_add_provider (
	IN  const DAT_PROVIDER *,               /* provider          */
	IN  const DAT_PROVIDER_INFO* );         /* provider info     */

extern DAT_RETURN DAT_API dat_registry_remove_provider (
	IN  const DAT_PROVIDER *,               /* provider          */
	IN  const DAT_PROVIDER_INFO* );         /* provider info     */

/*
 * Provider initialization APIs.
 *
 * Providers that support being automatically loaded by the Registry must
 * implement these APIs and export them as public symbols.
 */

#define DAT_PROVIDER_INIT_FUNC_NAME  dat_provider_init
#define DAT_PROVIDER_FINI_FUNC_NAME  dat_provider_fini

#define DAT_PROVIDER_INIT_FUNC_STR   "dat_provider_init"
#define DAT_PROVIDER_FINI_FUNC_STR   "dat_provider_fini"

typedef void ( DAT_API *DAT_PROVIDER_INIT_FUNC) (
	IN const DAT_PROVIDER_INFO *,           /* provider info     */
	IN const char *);                       /* instance data     */

typedef void ( DAT_API *DAT_PROVIDER_FINI_FUNC) (
	IN const DAT_PROVIDER_INFO *);          /* provider info     */

typedef enum dat_ha_relationship
{
	DAT_HA_FALSE,		/* two IAs are not related		*/
	DAT_HA_TRUE,		/* two IAs are related			*/
	DAT_HA_UNKNOWN,		/* relationship is not known		*/
	DAT_HA_CONFLICTING,	/* 2 IAs do not agree on the relationship */
	DAT_HA_EXTENSION_BASE
} DAT_HA_RELATIONSHIP;

extern DAT_RETURN DAT_API dat_registry_providers_related (
	IN      const DAT_NAME_PTR,
	IN      const DAT_NAME_PTR,
	OUT     DAT_HA_RELATIONSHIP * );

#ifdef __cplusplus
}
#endif

#endif /* _DAT_REGISTRY_H_ */