libcom_tcp.h

来自「SRI international 发布的OAA框架软件」· C头文件 代码 · 共 80 行

H
80
字号
/******************************************************************************
%   File    : libcom_tcp.h
%   ------------------------------------------------------------------------
%   Unpublished-rights reserved under the copyright laws of the United States.
%
%      This data and information is proprietary to, and a valuable trade
%      secret of, SRI International.  It is given in confidence by SRI
%      International. Its use, duplication, or disclosure is subject to the
%      restrictions set forth in the License Agreement under which it has
%      been distributed.
%
%   Unpublished Copyright (c) 1993-98, SRI International.
%   "Open Agent Architecture" and "OAA" are Trademarks of SRI International.
%   ------------------------------------------------------------------------
%
%*/


/* Make sure only loaded once... */
#ifndef _LIBCOMTCP_H_INCLUDED
#define _LIBCOMTCP_H_INCLUDED

#ifdef __cplusplus
extern "C" {
#endif

#ifdef IS_DLL
#define EXTERN __declspec(dllexport)
#else
#define EXTERN extern
#endif

#ifndef MAX
#define MAX(a,b) ((a) > (b) ? (a) : (b))
#endif

  /* Requires libicl.h */
#include "libicl.h"

#ifndef _WINDOWS
  typedef int SOCKET;
#else
#include <winsock.h>
#endif

  EXTERN SOCKET com_Connect(char *ConnectionId, ICLTerm *Address);
  EXTERN SOCKET	comConnectFormat(char* ConnectionId, ICLTerm* Params,
                               ICLTerm* Address, int format);
  EXTERN int	com_Disconnect(char *ConnectionId);
  EXTERN int	com_ListenAt(char *ConnectionId, ICLTerm *Params, ICLTerm *Address);
  EXTERN int	com_SendData(char *ConnectionId, char *Data, int size);
  EXTERN int	com_SendTerm(char *ConnectionId, ICLTerm* term);
  EXTERN int	com_Select(char *ConnectionId, double TimeOut);
  EXTERN int	com_AddInfo(char *ConnectionId, ICLTerm *NewInfo);
  EXTERN int	com_GetInfo(char *ConnectionId, ICLTerm *GInfo,
                            ICLTerm **Result);
  EXTERN int      com_GetConnectionFromInfo(ICLTerm *Info, char** connectionName);

  EXTERN SOCKET com_Connected(char* ConnectionId);
  EXTERN int      com_GetAllValidConnections(ICLTerm** result);

  EXTERN int  com_GetConnectionId(char **ConnectionId, ICLTerm *GInfo);
  EXTERN char *com_GetDefaultConnectionId();
  EXTERN int com_SelectEvent(char* ConnectionId, double timeout, ICLTerm **event);

  EXTERN void cnx_CanonicalAddress(ICLTerm *address, SOCKET socket, ICLTerm **result);

  EXTERN int COM_BEST_FORMAT;
  EXTERN int COM_STRING_FORMAT;
  EXTERN int COM_BINARY_FORMAT;

  EXTERN int com_GetEventFromConnection(char *ConnectionId, double timeout, ICLTerm **event);
  EXTERN int com_SelectEventFromAllIds(double timeout, ICLTerm **event);

#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?