This file is indexed.

/usr/include/sda.h is in libion-dev 3.2.1+dfsg-1.

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
/*
 *	sda.h:	definitions supporting the implementation of SDA Service
 *		Data Aggregation (SDA) functionality.
 *
 *	Copyright (c) 2013, California Institute of Technology.
 *	ALL RIGHTS RESERVED.  U.S. Government Sponsorship acknowledged.
 *
 *	Author: Scott Burleigh, JPL
 */

#include "ltp.h"

#ifndef _SDA_H_
#define _SDA_H_

#ifdef __cplusplus
extern "C" {
#endif

typedef vast	(*SdaDelimiterFn)(unsigned int clientId,
			unsigned char *buffer,
			vast bufferLength);
		/*	An SDA delimiter function inspects the client
		 *	service data bytes in "buffer" - the first
		 *	"bufferLength" bytes of the as-yet unprocessed
		 *	remnant of an LTP service data block - to
		 *	determine the length of the client data unit
		 *	at the start of the buffer; the "clientID" of
		 *	the client data unit is provided to aid in
		 *	this determination.  It returns that length
		 *	if the determination was successful, zero if
		 *	there is no valid client service data unit
		 *	at the start of the buffer, -1 on any other
		 *	failure.					*/

typedef int	(*SdaHandlerFn)(uvast sourceEngineId,
			unsigned int clientId,
			Object clientServiceData);	/*	ZCO	*/
		/*	An SDA handler function applies application
		 *	processing to the client service data unit
		 *	for client "clientID" that is identified by
		 *	clientServiceData.  It returns -1 on any
		 *	system error, otherwise zero.			*/

/*	*	*	SDA data transmission	*	*	*	*/

extern int	sda_send(uvast destinationEngineId,
			unsigned int clientId,
			Object clientServiceData);
		/*	clientServiceData must be a "zero-copy object"
	 	 *	reference as returned by zco_create().  Note
		 *	that SDA will privately make and destroy its
		 *	own reference to the client service data; the
		 *	application is free to destroy its reference
		 *	at any time.   Note that the client service
		 *	data unit will be sent reliably (i.e., "red").	*/

/*	*	*	SDA data reception	*	*	*	*/

extern int	sda_run(SdaDelimiterFn delimiter, SdaHandlerFn handler);
		/*	sda_run executes an infinite loop that receives
		 *	client service data blocks, calls "delimiter"
		 *	to determine the length of each client service
		 *	data item in each block, and passes those client
		 *	service data items to the handler function.  To
		 *	terminate the loop, call sda_interrupt().  Note
		 *	that sda_send() can only be executed while the
		 *	sda_run loop is still executing.		*/

extern void	sda_interrupt();

#ifdef __cplusplus
}
#endif

#endif