This file is indexed.

/usr/include/osp/osptnprobe.h is in libosptk-dev 4.13.0-1build1.

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
/**************************************************************************
*** COPYRIGHT (c) 2002 by TransNexus, Inc.                              ***
***                                                                     ***
*** This software is property of TransNexus, Inc.                       ***
*** This software is freely available under license from TransNexus.    ***
*** The license terms and conditions for free use of this software by   ***
*** third parties are defined in the OSP Toolkit Software License       ***
*** Agreement (LICENSE.txt).  Any use of this software by third         ***
*** parties, which does not comply with the terms and conditions of the ***
*** OSP Toolkit Software License Agreement is prohibited without        ***
*** the prior, express, written consent of TransNexus, Inc.             ***
***                                                                     ***
*** Thank you for using the OSP ToolKit(TM).  Please report any bugs,   ***
*** suggestions or feedback to support@transnexus.com                   ***
***                                                                     ***
**************************************************************************/

/*
 * osptnprobe.h - structures and prototypes for functions that probe
 *             response time to different systems
 */
/*
 * To call OSPPTNProbe, fill in the IpAddr field of an array of OSPT_TN_PROBE
 * structures and indicating the size of the array. The function will
 * return by filling in the Time field for each element with the
 * number of milliseconds the system took to respond to a message sent
 * to its echo/udp service.
 *
 * The uMaxWait parameter indicates the maximum number of milliseconds
 * to wait before giving up.
 *
 * The function works by sending a small UDP datagram to each remote
 * host and measuring the time that elapses until the reply. There
 * are advantages and disadvantages to this approach:
 *
 * Good:
 *   -  cleaner, easier to port code (compared to ICMP echo)
 *   -  closer simulation of voice traffic (which uses RTP/UDP)
 *      especially since many routers will treat ICMP special
 *
 * Bad:
 *   -  not all hosts (e.g. WinNT 4.0) automatically install
 *      deamons on the echo port (for WinNT 4.0, it's part of
 *      the optionally installed Simple TCP/IP Services)
 *
 * Enhancements:
 *   -  currently, the function only sends a single datagram to each
 *      host. With next hop caching in routers, as well as problems
 *      sending back-to-back packets in some OSs (e.g. Win95), it
 *      might be better to send several datagrams to each host,
 *      ignore the first reply (which establishes the routers' caches),
 *      and average the remainder.
 */

#ifndef _OSPTNPROBE_H
#define _OSPTNPROBE_H

#include "osp/osp.h"

typedef struct {        /* structure to pass probe information */
    OSPTIPADDR IpAddr;
    unsigned long Time; /* 0xFFFFFFFF = unreachable */
    int Socket;         /* only used internally */
    unsigned Status;    /* only used internally */
    unsigned Ref;       /* Initial order in list */
} OSPT_TN_PROBE;

#define OSPC_TN_PROBE_UNREACHABLE 0xFFFFFFFF

#define OSPC_ERR_TNPROBE_ERROR  0x01
#define OSPC_ERR_TNPROBE_NORMAL 0x00

#define OSPC_TNPROBE_MAXTIMER   0xFFFF
#define OSPC_TNPROBE_MAXWAIT    500
#define OSPC_TNPROBE_TIMERMOD   10000000
#define OSPC_TNPROBE_TIMERMULT  1000

/* Function Prototypes */
#ifdef __cplusplus
extern "C" {
#endif

    int OSPPTNProbe(OSPT_TN_PROBE *pProbeList, unsigned uNumHosts, unsigned uMaxWait);
    /* 0 - maxFD ; !0 - error code */
    int  OSPPTNProbeInit(OSPT_TN_PROBE *pProbeList,     /* list to initialize */
            unsigned *lpNumHosts,                       /* number of hosts */
            fd_set *pSocketSet,                         /* socket set */
            int *nMinFd);                               /*pointer to min val for socket fds */
    /* 0 - socket descriptor; !0 - error code */
    int OSPPTNProbeConnect(OSPTIPADDR ipAddr);          /* remote address to connect */
    /* no return values */
    void OSPPTNProbeCleanup(OSPT_TN_PROBE *pProbeList,  /* list to cleanup */
            unsigned uNumHosts);                        /* number of hosts */
    /* no return value */
    void OSPPTNProbeEcho(fd_set *pSockets,              /* sockets to probe */
            OSPT_TN_PROBE *pProbeList,                  /* place to store results */
            unsigned uNumHosts,                         /* number of hosts to probe */
            unsigned uMaxWait,                          /* max ms to wait */
            int nMaxFd,                                 /* max fd number for sockets */
            int nMinFd);                                /* min fd number for sockets */
    int OSPPTNProbeCompare(const void *, const void *);
    unsigned long OSPPTNProbeTimerMS(void);
    void OSPPTNProbePruneList(OSPTLIST *, OSPT_TN_PROBE *, unsigned, unsigned *);
    void OSPPTNProbeArrangeList(OSPTLIST *, OSPT_TN_PROBE *, unsigned);

#ifdef __cplusplus
}
#endif

#endif /* _OSPTNPROBE_H */