This file is indexed.

/usr/include/sfi/sficomport.hh is in libbse-dev 0.7.8-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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
#ifndef __SFI_COM_PORT_H__
#define __SFI_COM_PORT_H__
#include <sfi/sfitypes.hh>
#include <sfi/sfiring.hh>
G_BEGIN_DECLS
#define	SFI_COM_PORT_MAGIC	(0x42534500 /* "BSE\0" */)
typedef struct _SfiComPortLink SfiComPortLink;
typedef struct _SfiComPort     SfiComPort;
typedef void (*SfiComPortClosedFunc)	(SfiComPort	*port,
					 gpointer	 close_data);
struct _SfiComPort {
  gchar    *ident;
  guint     ref_count;
  GPollFD   pfd[2];	/* 0 = remote in, 1 = remote out */
  guint	    connected : 1;
  guint	    reaped : 1;
  guint	    sigterm_sent : 1;
  guint	    sigkill_sent : 1;
  guint	    exit_signal_sent : 1;
  guint	    dumped_core : 1;
  SfiComPortLink *link;
  struct {
    guint   n;
    guint8 *data;
    guint   allocated;
  }         wbuffer;	/* output buffer */
  struct {
    guint   hlen;
    guint8  header[8];
    guint   dlen;
    guint   n;
    guint8 *data;
    guint   allocated;
  }         rbuffer;	/* input buffer */
  SfiRing  *rvalues;
  GScanner *scanner;
  SfiComPortClosedFunc close_func;
  gpointer	       close_data;
  gint	    remote_pid;
  gint	    exit_code;
  gint	    exit_signal;
};
struct _SfiComPortLink
{
  BirnetMutex    mutex;
  guint       ref_count;
  SfiComPort *port1;
  BirnetThread  *thread1;
  SfiComPort *port2;
  BirnetThread  *thread2;
  SfiRing    *p1queue;
  SfiRing    *p2queue;
  gboolean    waiting;
  BirnetCond     wcond;
};
/* create ports */
SfiComPort*	sfi_com_port_from_pipe		(const gchar	*ident,
						 gint		 remote_input,
						 gint		 remote_output);
SfiComPort*	sfi_com_port_from_child		(const gchar	*ident,
						 gint		 remote_input,
						 gint		 remote_output,
						 gint		 remote_pid);
/* create linked ports */
void		sfi_com_port_create_linked	(const gchar	*ident1,
						 BirnetThread	*thread1,
						 SfiComPort    **port1,
						 const gchar	*ident2,
						 BirnetThread	*thread2,
						 SfiComPort    **port2);
SfiComPort*	sfi_com_port_ref		(SfiComPort	*port);
void		sfi_com_port_unref		(SfiComPort	*port);
/* remote I/O */
void		sfi_com_port_send		(SfiComPort	*port,
						 const GValue	*value);
void		sfi_com_port_send_bulk		(SfiComPort	*port,
						 SfiRing        *value_ring);
GValue*		sfi_com_port_recv		(SfiComPort	*port);
GValue*		sfi_com_port_recv_blocking	(SfiComPort	*port);
/* I/O handling */
GPollFD*	sfi_com_port_get_poll_fds	(SfiComPort	*port,
						 guint		*n_pfds);
gboolean	sfi_com_port_io_pending		(SfiComPort	*port);
void		sfi_com_port_process_io		(SfiComPort	*port);
/* shutdown */
void		sfi_com_port_set_close_func	(SfiComPort	*port,
						 SfiComPortClosedFunc func,
						 gpointer	 close_data);
void		sfi_com_port_close_remote	(SfiComPort	*port,
						 gboolean	 terminate_child);
void		sfi_com_port_reap_child 	(SfiComPort	*port,
						 gboolean	 kill_child);
gboolean	sfi_com_port_test_reap_child 	(SfiComPort	*port);
G_END_DECLS
#endif /* __SFI_COM_PORT_H__ */