unfinished changes in ISC
[public/netxms.git] / include / netxms_isc.h
1 /*
2 ** NetXMS - Network Management System
3 ** Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Victor Kirhenshtein
4 **
5 ** This program is free software; you can redistribute it and/or modify
6 ** it under the terms of the GNU General Public License as published by
7 ** the Free Software Foundation; either version 2 of the License, or
8 ** (at your option) any later version.
9 **
10 ** This program is distributed in the hope that it will be useful,
11 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 ** GNU General Public License for more details.
14 **
15 ** You should have received a copy of the GNU General Public License
16 ** along with this program; if not, write to the Free Software
17 ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 **
19 ** File: netxms_isc.h
20 **
21 **/
22
23 #ifndef _netxms_isc_h_
24 #define _netxms_isc_h_
25
26
27 //
28 // Default port number
29 //
30
31 #define NETXMS_ISC_PORT 4702
32
33
34 //
35 // Well-known ISC services
36 //
37
38 #define ISC_SERVICE_EVENT_FORWARDER ((DWORD)1)
39 #define ISC_SERVICE_OBJECT_SYNC ((DWORD)2)
40 #define ISC_SERVICE_LICENSE_SERVER ((DWORD)3)
41
42 #define ISC_SERVICE_CUSTOM_1 ((DWORD)100000)
43
44
45 //
46 // ISC error codes
47 //
48
49
50 #define ISC_ERR_SUCCESS ((DWORD)0)
51 #define ISC_ERR_UNKNOWN_SERVICE ((DWORD)1)
52 #define ISC_ERR_REQUEST_OUT_OF_STATE ((DWORD)2)
53 #define ISC_ERR_SERVICE_DISABLED ((DWORD)3)
54 #define ISC_ERR_ENCRYPTION_REQUIRED ((DWORD)4)
55 #define ISC_ERR_CONNECTION_BROKEN ((DWORD)5)
56 #define ISC_ERR_ALREADY_CONNECTED ((DWORD)6)
57 #define ISC_ERR_SOCKET_ERROR ((DWORD)7)
58 #define ISC_ERR_CONNECT_FAILED ((DWORD)8)
59 #define ISC_ERR_INVALID_NXCP_VERSION ((DWORD)9)
60 #define ISC_ERR_REQUEST_TIMEOUT ((DWORD)10)
61 #define ISC_ERR_NOT_IMPLEMENTED ((DWORD)11)
62 #define ISC_ERR_NO_CIPHERS ((DWORD)12)
63 #define ISC_ERR_INVALID_PUBLIC_KEY ((DWORD)13)
64 #define ISC_ERR_INVALID_SESSION_KEY ((DWORD)14)
65 #define ISC_ERR_INTERNAL_ERROR ((DWORD)15)
66 #define ISC_ERR_SESSION_SETUP_FAILED ((DWORD)16)
67
68
69 //
70 // ISC service definition
71 //
72
73 typedef struct
74 {
75 DWORD id; // Service ID
76 const TCHAR *name; // Name
77 const TCHAR *enableParameter; // Server parameter to be set to enable service
78 void *(*setupSession)(CSCPMessage *); // Session setup handler
79 void (*closeSession)(void *); // Session close handler
80 BOOL (*processMsg)(void *, CSCPMessage *, CSCPMessage *);
81 } ISC_SERVICE;
82
83
84 #endif