/usr/include/ncbi/connect/ncbi_comm.h is in libncbi6-dev 6.1.20120620-8.
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 | #ifndef CONNECT___NCBI_COMM__H
#define CONNECT___NCBI_COMM__H
/* $Id: ncbi_comm.h,v 6.19 2012/06/19 19:45:59 kazimird Exp $
* ===========================================================================
*
* PUBLIC DOMAIN NOTICE
* National Center for Biotechnology Information
*
* This software/database is a "United States Government Work" under the
* terms of the United States Copyright Act. It was written as part of
* the author's official duties as a United States Government employee and
* thus cannot be copyrighted. This software/database is freely available
* to the public for use. The National Library of Medicine and the U.S.
* Government have not placed any restriction on its use or reproduction.
*
* Although all reasonable efforts have been taken to ensure the accuracy
* and reliability of the software and data, the NLM and the U.S.
* Government do not and cannot warrant the performance or results that
* may be obtained by using this software or data. The NLM and the U.S.
* Government disclaim all warranties, express or implied, including
* warranties of performance, merchantability or fitness for any particular
* purpose.
*
* Please cite the author in any work or product based on this material.
*
* ===========================================================================
*
* Author: Anton Lavrentiev
*
* File Description:
* Common part of internal communication protocol used by both sides
* (client and server) of firewall daemon and service dispatcher.
*
*/
#define NCBID_WEBPATH "/Service/ncbid.cgi"
#define HTTP_CONNECTION_INFO "Connection-Info:"
#define HTTP_NCBI_SID "NCBI-SID:"
#define HTTP_DISP_FAILURES "Dispatcher-Failures:"
#define HTTP_DISP_MESSAGES "Dispatcher-Messages:"
#define HTTP_NCBI_MESSAGE "NCBI-Message:"
#define LBSM_DEFAULT_TIME 30 /* Default expiration time, in seconds */
#define LBSM_DEFAULT_RATE 1000.0 /* For SLBSM_Service::info::rate */
#define DISPATCHER_CFGPATH "/etc/lbsmd/"
#define DISPATCHER_CFGFILE "servrc.cfg"
#define DISP_PROTOCOL_VERSION "1.1"
#define DISPD_MESSAGE_FILE ".dispd.msg"
#define CONN_FWD_PORT_MIN 5860
#define CONN_FWD_PORT_MAX 5870
#ifdef __cplusplus
extern "C" {
#endif
typedef unsigned int ticket_t;
/* This structure is assumed packed */
typedef struct {
unsigned int host; /* must be in network byte order */
unsigned short port; /* see note about byte flag byte order below */
unsigned short flag; /* FWDaemon control information, see below */
ticket_t ticket; /* connection ticket (raw binary data, n.b.o.) */
unsigned int client; /* expected host to call back (nbo, logging only) */
char text[1];/* name requested (for statistics purposes only) */
} SFWDRequestReply;
/* Maximal accepted request/reply size */
#define FWD_MAX_RR_SIZE 128
/*
* Currently, bit 0 (if set) of FWDaemon control information (flag) is used to
* indicate that the client is a true firewall client. If the bit is clear,
* it means that the client is a relay client (and should use a secondary
* -not an official firewall- port of the daemon, if available).
* Non-zero bit 0 in response indicates that the true firewall mode (via DMZ)
* is available (acknowledged when requested) and is being used by FWDaemon.
*
* Byte order for port and flag fields:
* When FWDaemon is contacted via INET socket, these two fields must be
* in network byte order.
* When FWDaemon is contacted via UNIX socket, these two fields are assumed
* to be in host byte order, unless 0xF000 is ORed with input "flag" value
* and both fields are then converted (or not) into network byte order: in
* this case the byte order can be auto-detected, and the values returned
* in both fields in the response are going to use that very same byte order.
* NOTE: 0xF000 can also be used with INET socket, but conversion to and
* from network byte order is still mandatory.
* NOTE: 0xF000 is ORed in reply flag field only if it has been present
* in the request.
* NOTE: This is a transitional interface; future revisions will
* require both flag and port to always be in network byte order.
*/
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CONNECT___NCBI_COMM__H */
|