Choco OS  V.0.16.9.0
Join to the chocolate world
oc_tcp.h
1 
31 #ifndef SYSTEM_CORE_INC_NET_PROTOCOLS_TCP_OC_TCP_H_
32 #define SYSTEM_CORE_INC_NET_PROTOCOLS_TCP_OC_TCP_H_
33 
34 #include <oc_errors.h>
35 #include <oc_time.h>
36 #include <oc_net.h>
37 #include <oc_process.h>
38 #include <oc_debug.h>
39 #include <oc_debug_cfg.h>
40 
46 #define _________________________________________MACROS_SECTION_____________________________________________________________________________
47 
48 #if CFG_ENABLE_TCP_LOGS == ON
49 # define tcplog( LogType, ... ) kdebuglog(LogType, __VA_ARGS__)
50 #else
51 # define tcplog( LogType, ... )
52 #endif
53 
54 #undef _________________________________________MACROS_SECTION_____________________________________________________________________________
55 
56 
57 
58 
64 #define _________________________________________TYPES_SECTION______________________________________________________________________________
65 
70 //==========================================================================================================================================
74 //==========================================================================================================================================
75 typedef enum
76 {
78  oC_Tcp_Port_MAX = UINT16_MAX ,
84 
86 
88 
97 
101 
106 
176 
177 
184 
196 
212 
214 
216 
218 
219 
221 
222 
224 
228 
240 
241 
243  oC_Tcp_Port_9P = 564 ,
244 
250 
276 
284 
286 
288 
289 
292 
325 
330 
331  oC_Tcp_Port_NumberOfSpecialPorts = 1024 ,
332 } oC_Tcp_Port_t;
333 
334 //==========================================================================================================================================
338 //==========================================================================================================================================
340 
341 //==========================================================================================================================================
347 //==========================================================================================================================================
348 typedef struct
349 {
350 #ifdef LITTLE_ENDIAN
351  uint16_t SourcePort;
352  uint16_t DestinationPort;
353  uint32_t SequenceNumber;
354  uint32_t AcknowledgmentNumber;
355  uint32_t DataOffset:4;
356  uint32_t Reserved:3;
357  uint32_t NS:1;
358  union PACKED
359  {
360  struct PACKED
361  {
362  uint32_t CWR:1;
363  uint32_t ECE:1;
364  uint32_t URG:1;
365  uint32_t ACK:1;
366  uint32_t PSH:1;
367  uint32_t RST:1;
368  uint32_t SYN:1;
369  uint32_t FIN:1;
370  };
371  struct PACKED
372  {
373  uint32_t FIN:1;
374  uint32_t SYN:1;
375  uint32_t RST:1;
376  uint32_t PSH:1;
377  uint32_t ACK:1;
378  uint32_t URG:1;
379  uint32_t ECE:1;
380  uint32_t CWR:1;
381  } NetworkOrder;
382  uint8_t Flags;
383  };
384  uint16_t WindowSize;
385  uint16_t Checksum;
386  uint16_t UrgentPointer;
387 #elif !defined(BIG_ENDIAN)
388 # error Structure is not defined for BIG_ENDIAN
389 #else
390 # error Endianess is not defined
391 #endif
393 
394 typedef union
395 {
396  oC_Net_Packet_t Packet;
397 
398  struct
399  {
400  oC_Net_Ipv4PacketHeader_t IpHeader;
401  oC_Tcp_Header_t TcpHeader;
402  uint8_t Data[4];
403  } IPv4;
404 
405  struct
406  {
407  oC_Net_Ipv6PacketHeader_t IpHeader;
408  oC_Tcp_Header_t TcpHeader;
409  uint8_t Data[4];
410  } IPv6;
412 
413 //==========================================================================================================================================
420 //==========================================================================================================================================
421 typedef struct Server_t * oC_Tcp_Server_t;
422 
423 typedef enum
424 {
425  oC_Tcp_OptionKind_End = 0x00 ,
426  oC_Tcp_OptionKind_Nop = 0x01 ,
427  oC_Tcp_OptionKind_MaxSegmentSize = 0x02 ,
428  oC_Tcp_OptionKind_WindowScale = 0x03 ,
429  oC_Tcp_OptionKind_SackPermitted = 0x04 ,
430  oC_Tcp_OptionKind_Sack = 0x05 ,
431  oC_Tcp_OptionKind_Echo = 0x06 ,
432  oC_Tcp_OptionKind_EchoReplay = 0x07 ,
433  oC_Tcp_OptionKind_Timestamps = 0x08 ,
434  oC_Tcp_OptionKind_PartialOrderConnectionPermitted = 0x09 ,
435  oC_Tcp_OptionKind_PartialOrderServiceProfile = 0x0A ,
436  oC_Tcp_OptionKind_CC = 0x0B ,
437  oC_Tcp_OptionKind_CCNew = 0x0C ,
438  oC_Tcp_OptionKind_CCEcho = 0x0D ,
439  oC_Tcp_OptionKind_TcpAlternateChecksumRequest = 0x0E ,
440  oC_Tcp_OptionKind_TcpAlternateChecksumData = 0x0F ,
441  oC_Tcp_OptionKind_Skeeter = 0x10 ,
442  oC_Tcp_OptionKind_Bubba = 0x11 ,
443  oC_Tcp_OptionKind_TrailerChecksum = 0x12 ,
444  oC_Tcp_OptionKind_Md5Signature = 0x13 ,
445  oC_Tcp_OptionKind_ScpsCapabilities = 0x14 ,
446  oC_Tcp_OptionKind_SelectiveNegativeAcknowledgements = 0x15 ,
447  oC_Tcp_OptionKind_RecordBoundaries = 0x16 ,
448  oC_Tcp_OptionKind_CorruptionExperencied = 0x17 ,
449  oC_Tcp_OptionKind_Snap = 0x18 ,
450  oC_Tcp_OptionKind_TcpCompressionFilter = 0x1A ,
451  oC_Tcp_OptionKind_QuickStartResponse = 0x1B ,
452  oC_Tcp_OptionKind_UserTimeout = 0x1C ,
453  oC_Tcp_OptionKind_TcpAuthentication = 0x1D ,
454  oC_Tcp_OptionKind_MultipathTcp = 0x1E ,
455  oC_Tcp_OptionKind_FastOpenCookie = 0x22 ,
456  oC_Tcp_OptionKind_Max = 0xFF ,
457 } oC_Tcp_OptionKind_t;
458 
459 typedef void (*oC_Tcp_ConnectionFinishedFunction_t)(oC_Tcp_Connection_t Connection , void * Parameter );
460 
461 typedef struct
462 {
463  uint32_t InitialSequenceNumber;
464  uint32_t InitialAcknowledgeNumber;
465  uint16_t LocalWindowSize;
466  uint8_t LocalWindowScale;
467  oC_Time_t ConfirmationTimeout;
468  oC_Time_t ExpirationTimeout;
469  oC_Time_t SendingAcknowledgeTimeout;
470  oC_Time_t ReadSegmentTimeout;
471  oC_Time_t ReceiveTimeout;
472  oC_Net_Address_t LocalAddress;
473  oC_Net_Address_t RemoteAddress;
474  oC_MemorySize_t PacketSize;
475  oC_Tcp_ConnectionFinishedFunction_t ConnectionFinishedFunction;
478 
480 #undef _________________________________________TYPES_SECTION______________________________________________________________________________
481 
487 #define _________________________________________FUNCTIONS_SECTION__________________________________________________________________________
488 
493 extern oC_ErrorCode_t oC_Tcp_TurnOn ( oC_Time_t Timeout );
494 extern oC_ErrorCode_t oC_Tcp_TurnOff ( oC_Time_t Timeout );
495 extern oC_ErrorCode_t oC_Tcp_CloseProcess ( oC_Process_t Process , oC_Time_t Timeout );
496 extern oC_ErrorCode_t oC_Tcp_ReservePort ( oC_Tcp_Port_t * Port , oC_Time_t Timeout );
497 extern oC_ErrorCode_t oC_Tcp_ReleasePort ( oC_Tcp_Port_t Port , oC_Time_t Timeout );
498 extern bool oC_Tcp_IsPortReserved ( oC_Tcp_Port_t Port );
499 extern bool oC_Tcp_IsPortReservedBy ( oC_Tcp_Port_t Port , oC_Process_t Process );
500 
501 extern oC_ErrorCode_t oC_Tcp_Connect ( const oC_Net_Address_t * Destination , oC_Tcp_Port_t LocalPort , oC_Tcp_Connection_t * outConnection , oC_Time_t Timeout );
502 extern oC_ErrorCode_t oC_Tcp_Disconnect ( oC_Tcp_Connection_t * Connection , oC_Time_t Timeout );
503 extern oC_ErrorCode_t oC_Tcp_Listen ( const oC_Net_Address_t * Source , oC_Tcp_Server_t * outServer , uint32_t MaxConnections , oC_Time_t Timeout );
504 extern oC_ErrorCode_t oC_Tcp_StopListen ( oC_Tcp_Server_t * Server , oC_Time_t Timeout );
505 extern oC_ErrorCode_t oC_Tcp_Accept ( oC_Tcp_Server_t Server , oC_Tcp_Connection_t * outConnection , oC_Time_t Timeout );
506 extern oC_ErrorCode_t oC_Tcp_Send ( oC_Tcp_Connection_t Connection, const void * Buffer, oC_MemorySize_t Size, oC_Time_t Timeout );
507 extern oC_ErrorCode_t oC_Tcp_Receive ( oC_Tcp_Connection_t Connection, void * outBuffer, oC_MemorySize_t Size, oC_Time_t Timeout );
508 
509 extern oC_Tcp_Server_t oC_Tcp_Server_New ( const oC_Net_Address_t * ListenAddress , uint32_t MaxConnections );
510 extern bool oC_Tcp_Server_Delete ( oC_Tcp_Server_t * Server , oC_Time_t Timeout );
511 extern bool oC_Tcp_Server_IsCorrect ( oC_Tcp_Server_t Server );
512 extern bool oC_Tcp_Server_IsRunning ( oC_Tcp_Server_t Server );
513 extern oC_ErrorCode_t oC_Tcp_Server_SetConnectionConfig ( oC_Tcp_Server_t Server , const oC_Tcp_Connection_Config_t * Config );
514 extern oC_ErrorCode_t oC_Tcp_Server_Run ( oC_Tcp_Server_t Server );
515 extern oC_ErrorCode_t oC_Tcp_Server_Stop ( oC_Tcp_Server_t Server );
516 extern oC_ErrorCode_t oC_Tcp_Server_WaitForConnection ( oC_Tcp_Server_t Server , oC_Tcp_Connection_t * outConnection , oC_Time_t Timeout );
517 extern bool oC_Tcp_Server_ContainsConnection ( oC_Tcp_Server_t Server , oC_Tcp_Connection_t Connection );
518 extern oC_ErrorCode_t oC_Tcp_Server_AcceptConnection ( oC_Tcp_Server_t Server , oC_Tcp_Connection_t Connection , oC_Time_t Timeout );
519 extern oC_ErrorCode_t oC_Tcp_Server_RejectConnection ( oC_Tcp_Server_t Server , oC_Tcp_Connection_t Connection , oC_Time_t Timeout );
520 extern oC_ErrorCode_t oC_Tcp_Server_AddConnection ( oC_Tcp_Server_t Server , oC_Tcp_Connection_t Connection , oC_Time_t Timeout );
521 extern oC_ErrorCode_t oC_Tcp_Server_RemoveConnection ( oC_Tcp_Server_t Server , oC_Tcp_Connection_t Connection );
522 extern oC_Process_t oC_Tcp_Server_GetProcess ( oC_Tcp_Server_t Server );
523 extern oC_Tcp_Port_t oC_Tcp_Server_GetPort ( oC_Tcp_Server_t Server );
524 extern oC_ErrorCode_t oC_Tcp_Server_SetConnectionFinished ( oC_Tcp_Server_t Server , oC_Tcp_ConnectionFinishedFunction_t Function , void * Parameter );
525 
526 extern oC_Tcp_Packet_t * oC_Tcp_Packet_New ( const oC_Net_Address_t * Source, const oC_Net_Address_t * Destination, uint16_t HeaderSize , const void * Data , uint16_t Size );
527 extern bool oC_Tcp_Packet_Delete ( oC_Tcp_Packet_t ** outPacket );
528 extern oC_ErrorCode_t oC_Tcp_Packet_SetData ( oC_Tcp_Packet_t * Packet , const void * Data , uint16_t Size );
529 extern oC_ErrorCode_t oC_Tcp_Packet_ReadData ( oC_Tcp_Packet_t * Packet , void * outData , oC_MemorySize_t Size );
530 extern void oC_Tcp_Packet_SetSize ( oC_Tcp_Packet_t * Packet , uint16_t Size );
531 extern void * oC_Tcp_Packet_GetDataReference ( oC_Tcp_Packet_t * Packet );
532 extern uint16_t oC_Tcp_Packet_GetDataSize ( oC_Tcp_Packet_t * Packet );
533 extern bool oC_Tcp_Packet_AddOption ( oC_Tcp_Packet_t * Packet , oC_Tcp_OptionKind_t OptionKind , const void * Data , uint8_t Size );
534 extern oC_ErrorCode_t oC_Tcp_Packet_ReadOption ( oC_Tcp_Packet_t * Packet , oC_Tcp_OptionKind_t OptionKind , void * outData , uint8_t * Size );
535 extern bool oC_Tcp_Packet_ClearOptions ( oC_Tcp_Packet_t * Packet );
536 extern uint16_t oC_Tcp_Packet_CalculateChecksum ( oC_Tcp_Packet_t * Packet );
540 
541 extern oC_Tcp_Connection_t oC_Tcp_Connection_New ( const oC_Tcp_Connection_Config_t * Config );
542 extern bool oC_Tcp_Connection_Delete ( oC_Tcp_Connection_t * Connection , oC_Time_t Timeout );
543 extern bool oC_Tcp_Connection_AreTheSame ( oC_Tcp_Connection_t ConnectionA, oC_Tcp_Connection_t ConnectionB );
544 extern bool oC_Tcp_Connection_IsCorrect ( oC_Tcp_Connection_t Connection );
545 extern oC_Thread_t oC_Tcp_Connection_GetThread ( oC_Tcp_Connection_t Connection );
546 extern bool oC_Tcp_Connection_IsConnected ( oC_Tcp_Connection_t Connection );
547 extern oC_Process_t oC_Tcp_Connection_GetProcess ( oC_Tcp_Connection_t Connection );
548 extern const char * oC_Tcp_Connection_GetName ( oC_Tcp_Connection_t Connection );
549 extern oC_ErrorCode_t oC_Tcp_Connection_Connect ( oC_Tcp_Connection_t Connection , oC_Time_t Timeout );
550 extern oC_ErrorCode_t oC_Tcp_Connection_Disconnect ( oC_Tcp_Connection_t Connection , oC_Time_t Timeout );
551 extern oC_ErrorCode_t oC_Tcp_Connection_WaitForConnection ( oC_Tcp_Connection_t Connection , oC_Time_t Timeout );
552 extern oC_ErrorCode_t oC_Tcp_Connection_Accept ( oC_Tcp_Connection_t Connection , oC_Time_t Timeout );
553 extern oC_ErrorCode_t oC_Tcp_Connection_Reject ( oC_Tcp_Connection_t Connection , oC_Time_t Timeout );
554 extern oC_ErrorCode_t oC_Tcp_Connection_ReadRemote ( oC_Tcp_Connection_t Connection , oC_Net_Address_t * outAddress );
555 extern oC_ErrorCode_t oC_Tcp_Connection_ReadLocal ( oC_Tcp_Connection_t Connection , oC_Net_Address_t * outAddress );
556 extern oC_ErrorCode_t oC_Tcp_Connection_Send ( oC_Tcp_Connection_t Connection , const void * Buffer , oC_MemorySize_t Size , oC_Time_t Timeout );
557 extern oC_ErrorCode_t oC_Tcp_Connection_Receive ( oC_Tcp_Connection_t Connection , void * outBuffer , oC_MemorySize_t Size , oC_Time_t Timeout );
558 
560 #undef _________________________________________FUNCTIONS_SECTION__________________________________________________________________________
561 
562 #endif /* SYSTEM_CORE_INC_NET_PROTOCOLS_TCP_OC_TCP_H_ */
Previously netstat service.
Definition: oc_tcp.h:87
SNMP multiplexing protocol.
Definition: oc_tcp.h:161
Route Access Protocol.
Definition: oc_tcp.h:99
Remote Mail Checking Protocol.
Definition: oc_tcp.h:105
bool oC_Tcp_Packet_AddOption(oC_Tcp_Packet_t *Packet, oC_Tcp_OptionKind_t OptionKind, const void *Data, uint8_t Size)
Adds TCP option to the packet.
Microsoft EPMAP , also known as DCE/RPC Locator service, used to remotely manage services including D...
Definition: oc_tcp.h:146
BIND remote name daemon control.
Definition: oc_tcp.h:317
oC_ErrorCode_t oC_Tcp_StopListen(oC_Tcp_Server_t *Server, oC_Time_t Timeout)
stops listen at the given TCP port
Definition: oc_tcp.c:693
Uninterruptible power supply.
Definition: oc_tcp.h:191
PKIX Time Stamp Protocol.
Definition: oc_tcp.h:175
HTTP RPC Ep Map, Remote procedure call over Hypertext Transfer Protocol, often used by Distributed Co...
Definition: oc_tcp.h:247
Digital Imaging and Communications in Medicine.
Definition: oc_tcp.h:130
RLZ DBase.
Definition: oc_tcp.h:254
oC_Tcp_Server_t oC_Tcp_Server_New(const oC_Net_Address_t *ListenAddress, uint32_t MaxConnections)
creates TCP server
NETCONF for SOAP over BEEP.
Definition: oc_tcp.h:302
Simple Network Paging Protocol , RFC 1568.
Definition: oc_tcp.h:197
OWAMP control.
Definition: oc_tcp.h:308
FILE__DESCRIPTION
Bootstrap Protocol client; also used by Dynamic Host Configuration Protocol.
Definition: oc_tcp.h:115
Formerly Unisys Unitary Login, renamed by Unisys to NXEdit.
Definition: oc_tcp.h:144
TACACS+ Login Host protocol.
Definition: oc_tcp.h:104
FileMaker 6.0 Web Sharing.
Definition: oc_tcp.h:246
File Transfer Protocol data transfer.
Definition: oc_tcp.h:92
oC_Process_t oC_Tcp_Server_GetProcess(oC_Tcp_Server_t Server)
returns process associated with the server
kerberos_master, Kerberos authentication
Definition: oc_tcp.h:285
Authenticated SMTP over TLS/SSL.
Definition: oc_tcp.h:203
connection.
Definition: oc_tcp.h:138
IBM Endpoint Manager Remote Control.
Definition: oc_tcp.h:312
oC_ErrorCode_t oC_Tcp_Server_Run(oC_Tcp_Server_t Server)
starts the TCP server
Remote job entry.
Definition: oc_tcp.h:80
FirstClass Protocol , used by FirstClass client/server groupware system.
Definition: oc_tcp.h:210
Structured Query Language Service.
Definition: oc_tcp.h:153
Hypertext Transfer Protocol.
Definition: oc_tcp.h:122
Registry Registrar Protocol.
Definition: oc_tcp.h:261
Kerberos Change/Set password.
Definition: oc_tcp.h:201
Ident, authentication service/identification protocol, used by IRC servers to identify users...
Definition: oc_tcp.h:137
NETCONF over BEEP.
Definition: oc_tcp.h:300
Post Office Protocol, version 3.
Definition: oc_tcp.h:135
bool oC_Tcp_Packet_ConvertToNetworkEndianess(oC_Tcp_Packet_t *Packet)
converts packet to network endianess
stores TCP connection data
bool oC_Tcp_Server_ContainsConnection(oC_Tcp_Server_t Server, oC_Tcp_Connection_t Connection)
checks if the server contains the connection
DHCPv6 server.
Definition: oc_tcp.h:235
Citadel, multiservice protocol for dedicated clients for the Citadel groupware system.
Definition: oc_tcp.h:209
MS Exchange Routing.
Definition: oc_tcp.h:273
klogin, Kerberos login
Definition: oc_tcp.h:231
rsync file synchronization protocol
Definition: oc_tcp.h:310
SpamAssassin spamd daemon.
Definition: oc_tcp.h:295
UUCP Mapping Project.
Definition: oc_tcp.h:140
TUNNEL profile, a protocol for BEEP peers to form an application layer tunnel.
Definition: oc_tcp.h:249
new-rwho, new-who
Definition: oc_tcp.h:237
PointCast.
Definition: oc_tcp.h:126
Character Generator Protocol.
Definition: oc_tcp.h:91
NNSP, part of Network News Transfer Protocol.
Definition: oc_tcp.h:193
Any private terminal access.
Definition: oc_tcp.h:112
OSIsoft PI , OSISoft PI Server Client Access.
Definition: oc_tcp.h:233
Certificate Management Protocol.
Definition: oc_tcp.h:298
DHCP Failover protocol.
Definition: oc_tcp.h:260
NETCONF for SOAP over HTTPS.
Definition: oc_tcp.h:301
SupportSoft Nexus Remote Command , a proxy gateway connecting remote control traffic.
Definition: oc_tcp.h:263
Remote HTTPS management for firewall devices running embedded Check Point VPN-1 software.
Definition: oc_tcp.h:318
A Remote Network Server System.
Definition: oc_tcp.h:187
oC_ErrorCode_t oC_Tcp_Server_RemoveConnection(oC_Tcp_Server_t Server, oC_Tcp_Connection_t Connection)
removes connection from server&#39;s connections list
oC_ErrorCode_t oC_Tcp_Server_AcceptConnection(oC_Tcp_Server_t Server, oC_Tcp_Connection_t Connection, oC_Time_t Timeout)
accepts TCP connection
Post Office Protocol 3 over TLS/SSL.
Definition: oc_tcp.h:327
http-mgmt
Definition: oc_tcp.h:171
Gopher protocol.
Definition: oc_tcp.h:117
bool oC_Tcp_Packet_ConvertFromNetworkEndianess(oC_Tcp_Packet_t *Packet)
converts packet from network endianess
Lightweight Directory Access Protocol.
Definition: oc_tcp.h:189
cddbp, CD DataBase protocol
Definition: oc_tcp.h:311
Message posting protocol.
Definition: oc_tcp.h:166
oC_ErrorCode_t oC_Tcp_TurnOn(oC_Time_t Timeout)
turns on TCP module
Definition: oc_tcp.c:118
bool oC_Tcp_Server_IsRunning(oC_Tcp_Server_t Server)
checks if the TCP server is already running
Configuration of the debug functions.
Internet Message Access Protocol , management of electronic mail messages on a server.
Definition: oc_tcp.h:150
Reverse Routing Header.
Definition: oc_tcp.h:287
ThinLinc Web Access.
Definition: oc_tcp.h:172
Application Configuration Access Protocol.
Definition: oc_tcp.h:270
oC_Tcp_Connection_t oC_Tcp_Connection_New(const oC_Tcp_Connection_Config_t *Config)
allocates memory for a new TCP connection object
Post Office Protocol, version 2.
Definition: oc_tcp.h:134
Bootstrap Protocol server; also used by Dynamic Host Configuration Protocol.
Definition: oc_tcp.h:114
oC_ErrorCode_t oC_Tcp_Disconnect(oC_Tcp_Connection_t *Connection, oC_Time_t Timeout)
disconnects TCP connection
Definition: oc_tcp.c:532
Any private Remote job entry.
Definition: oc_tcp.h:120
Topology Broadcast based on Reverse-Path Forwarding routing protocol.
Definition: oc_tcp.h:282
Tinc VPN daemon.
Definition: oc_tcp.h:265
Trivial File Transfer Protocol.
Definition: oc_tcp.h:116
uint16_t oC_Tcp_Packet_CalculateChecksum(oC_Tcp_Packet_t *Packet)
calculates checksum for TCP packet
IRIS over BEEP.
Definition: oc_tcp.h:279
Domain Name System.
Definition: oc_tcp.h:109
oC_Tcp_Packet_t * oC_Tcp_Packet_New(const oC_Net_Address_t *Source, const oC_Net_Address_t *Destination, uint16_t HeaderSize, const void *Data, uint16_t Size)
Allocates memory for a TCP packet.
Definition: oc_tcp_packet.c:98
Velneo Application Transfer Protocol.
Definition: oc_tcp.h:272
Linux-HA high-availability heartbeat.
Definition: oc_tcp.h:274
Dantz Retrospect.
Definition: oc_tcp.h:206
Echo Protocol.
Definition: oc_tcp.h:81
stores network address
Definition: oc_net.h:441
ClearCase albd.
Definition: oc_tcp.h:185
oC_Tcp_Port_t
stores TCP port
Definition: oc_tcp.h:75
The library with time definitions.
Internet Security Association and Key Management Protocol / Internet Key Exchange.
Definition: oc_tcp.h:207
Message Send Protocol.
Definition: oc_tcp.h:90
CCSO Nameserver.
Definition: oc_tcp.h:131
Distributed Mail System Protocol.
Definition: oc_tcp.h:154
TorPark onion routing.
Definition: oc_tcp.h:123
Telnet protocol over TLS/SSL.
Definition: oc_tcp.h:323
MATIP type B.
Definition: oc_tcp.h:179
Hypertext Transfer Protocol over TLS/SSL.
Definition: oc_tcp.h:195
Internet Relay Chat.
Definition: oc_tcp.h:160
oC_ErrorCode_t oC_Tcp_ReservePort(oC_Tcp_Port_t *Port, oC_Time_t Timeout)
reserves TCP port
Definition: oc_tcp.c:319
NetBIOS Session Service.
Definition: oc_tcp.h:149
Remote procedure call.
Definition: oc_tcp.h:225
oC_Process_t Process
Process assiociated with the server.
Definition: oc_tcp_server.c:71
Kerberos administration.
Definition: oc_tcp.h:283
WIP message protocol.
Definition: oc_tcp.h:127
struct Tcp_Connection_t * oC_Tcp_Connection_t
stores TCP connection data
Definition: oc_tcp.h:339
ScimoreDB Database System.
Definition: oc_tcp.h:328
Well known Slither.io port.
Definition: oc_tcp.h:198
AOL Instant Messenger.
Definition: oc_tcp.h:226
On-Demand Mail Relay.
Definition: oc_tcp.h:181
FTPS Protocol , FTP over TLS/SSL.
Definition: oc_tcp.h:320
oC_ErrorCode_t oC_Tcp_Accept(oC_Tcp_Server_t Server, oC_Tcp_Connection_t *outConnection, oC_Time_t Timeout)
waits for new connection and accepts it
Definition: oc_tcp.c:759
bool oC_Tcp_IsPortReservedBy(oC_Tcp_Port_t Port, oC_Process_t Process)
checks if the port is reserved by the given process
Definition: oc_tcp.c:406
Telnet protocol—unencrypted text communications.
Definition: oc_tcp.h:95
Digital Equipment Corporation DECnet over TCP/IP.
Definition: oc_tcp.h:190
struct Server_t * oC_Tcp_Server_t
stores TCP server object data
Definition: oc_tcp.h:421
Mac OS X Server administration, version 10.4 and earlier.
Definition: oc_tcp.h:267
Xerox Network Systems clearinghouse.
Definition: oc_tcp.h:110
Label Distribution Protocol , a routing protocol used in MPLS networks.
Definition: oc_tcp.h:259
Active Users.
Definition: oc_tcp.h:83
NetBIOS Datagram Service.
Definition: oc_tcp.h:148
ISO Transport Service Access Point Class 0 protocol;.
Definition: oc_tcp.h:129
REALM-RUSD.
Definition: oc_tcp.h:271
airserv-ng, aircrack-ng&#39;s server for remote-controlling wireless devices
Definition: oc_tcp.h:269
bool oC_Tcp_IsPortReserved(oC_Tcp_Port_t Port)
checks if the port is reserved
Definition: oc_tcp.c:396
oC_ErrorCode_t oC_Tcp_Server_AddConnection(oC_Tcp_Server_t Server, oC_Tcp_Connection_t Connection, oC_Time_t Timeout)
adds connection to server&#39;s connections list
tell send
Definition: oc_tcp.h:290
Internet Printing Protocol.
Definition: oc_tcp.h:252
uint32_t MaxConnections
Maximum number of connections that server can handle.
Definition: oc_tcp_server.c:79
Rexec, Remote Process Execution.
Definition: oc_tcp.h:211
bool oC_Tcp_Packet_ClearOptions(oC_Tcp_Packet_t *Packet)
clears options in the TCP packet
oC_ErrorCode_t oC_Tcp_Server_WaitForConnection(oC_Tcp_Server_t Server, oC_Tcp_Connection_t *outConnection, oC_Time_t Timeout)
Waits for new TCP connection.
Host Name Server Protocol.
Definition: oc_tcp.h:102
Line Printer Daemon , print service.
Definition: oc_tcp.h:217
Internet Message Access Protocol , version 3.
Definition: oc_tcp.h:167
oC_ErrorCode_t oC_Tcp_CloseProcess(oC_Process_t Process, oC_Time_t Timeout)
closes all objects related with the process
Definition: oc_tcp.c:261
Simple Network Management Protocol Trap.
Definition: oc_tcp.h:156
Internet Relay Chat over TLS/SSL.
Definition: oc_tcp.h:326
Efficient Short Remote Operations.
Definition: oc_tcp.h:168
stores network packet
Definition: oc_net.h:302
Microsoft-DS Active Directory, Windows shares.
Definition: oc_tcp.h:199
void * ConnectionFinishedParameter
Parameter to give to the connection finished function.
Definition: oc_tcp_server.c:77
void oC_Tcp_Packet_SetSize(oC_Tcp_Packet_t *Packet, uint16_t Size)
sets size of the TCP packet
Remote Shell, used to execute non-interactive commands on a remote system.
Definition: oc_tcp.h:215
NNTP over TLS/SSL.
Definition: oc_tcp.h:242
MSDP, Multicast Source Discovery Protocol.
Definition: oc_tcp.h:256
Lightweight Directory Access Protocol over TLS/SSL.
Definition: oc_tcp.h:255
Xerox Network Systems authentication.
Definition: oc_tcp.h:111
Time Protocol.
Definition: oc_tcp.h:98
stores TCP header
Definition: oc_tcp.h:348
krbupdate , Kerberos registration
Definition: oc_tcp.h:293
Brocade SMI-S RPC SSL.
Definition: oc_tcp.h:314
NETRJS protocol.
Definition: oc_tcp.h:118
Resource Location Protocol —used for determining the location of higher level services from hosts on...
Definition: oc_tcp.h:100
Port Sharing Service.
Definition: oc_tcp.h:297
Conserver serial-console management server.
Definition: oc_tcp.h:294
Adobe Flash.
Definition: oc_tcp.h:303
Modbus Protocol.
Definition: oc_tcp.h:208
Special value for marks port as not filled.
Definition: oc_tcp.h:77
oC_Tcp_Port_t oC_Tcp_Server_GetPort(oC_Tcp_Server_t Server)
returns local port of the server
Extensible Provisioning Protocol , a protocol for communication between domain name registries and re...
Definition: oc_tcp.h:277
oC_ErrorCode_t oC_Tcp_Packet_ReadData(oC_Tcp_Packet_t *Packet, void *outData, oC_MemorySize_t Size)
reads data of the TCP packet
GO-Global remote access and application publishing software.
Definition: oc_tcp.h:205
Secure Shell , secure logins, file transfers and port forwarding.
Definition: oc_tcp.h:94
Simple Network Management Protocol.
Definition: oc_tcp.h:155
krb5_prop, Kerberos v5 slave propagation
Definition: oc_tcp.h:291
Common Unix Printing System administration console.
Definition: oc_tcp.h:253
DHCPv6 client.
Definition: oc_tcp.h:234
Xerox Network Systems Mail.
Definition: oc_tcp.h:113
Novastor Online Backup.
Definition: oc_tcp.h:173
cloanto-net-1
Definition: oc_tcp.h:180
efs, extended file name server
Definition: oc_tcp.h:220
HP data alarm manager.
Definition: oc_tcp.h:186
Quick Mail Transfer Protocol.
Definition: oc_tcp.h:163
Group Domain Of Interpretation protocol.
Definition: oc_tcp.h:305
WHOIS protocol.
Definition: oc_tcp.h:103
Background File Transfer Program.
Definition: oc_tcp.h:151
Mapping of Airline Traffic over Internet Protocol type A.
Definition: oc_tcp.h:178
SANity.
Definition: oc_tcp.h:258
maximum number of ports
Definition: oc_tcp.h:78
NetBIOS Name Service, used for name registration and resolution.
Definition: oc_tcp.h:147
oC_ErrorCode_t oC_Tcp_Server_SetConnectionConfig(oC_Tcp_Server_t Server, const oC_Tcp_Connection_Config_t *Config)
sets connection configuration
uint8_t Data[IPv4_MAXIMUM_DATA_LENGTH]
Data of the packet.
Definition: oc_net.h:277
Network News Transfer Protocol , retrieval of newsgroup messages.
Definition: oc_tcp.h:142
dnsix Securit Attribute Token Map
Definition: oc_tcp.h:125
bool oC_Tcp_Server_IsCorrect(oC_Tcp_Server_t Server)
checks if the TCP server object is correct
oC_Net_Ipv6_t Source
Source IP address.
Definition: oc_net.h:257
Remotefs, RFS, rfs_server.
Definition: oc_tcp.h:239
oC_ErrorCode_t oC_Tcp_Packet_SetData(oC_Tcp_Packet_t *Packet, const void *Data, uint16_t Size)
sets data in the TCP packet
kshell, Kerberos Remote shell
Definition: oc_tcp.h:232
oC_ErrorCode_t oC_Tcp_Send(oC_Tcp_Connection_t Connection, const void *Buffer, oC_MemorySize_t Size, oC_Time_t Timeout)
sends data by using TCP connection
Definition: oc_tcp.c:819
File Transfer Protocol control.
Definition: oc_tcp.h:93
Brocade SMI-S RPC.
Definition: oc_tcp.h:313
uint32_t Checksum
Header checksum - number used for errors detection.
Definition: oc_net.h:230
Quote of the Day.
Definition: oc_tcp.h:89
oC_ErrorCode_t oC_Tcp_Server_Stop(oC_Tcp_Server_t Server)
stops the TCP server
Apple Filing Protocol over TCP.
Definition: oc_tcp.h:236
Service Location Protocol.
Definition: oc_tcp.h:192
FTPS Protocol , FTP over TLS/SSL.
Definition: oc_tcp.h:321
Mac OS X Server Admin.
Definition: oc_tcp.h:174
Structured Query Language Services.
Definition: oc_tcp.h:141
oC_Tcp_Header_t * oC_Tcp_Packet_GetHeaderReference(oC_Tcp_Packet_t *Packet)
returns TCP header reference
TWAMP control.
Definition: oc_tcp.h:309
IBM Systems Network Architecture gateway access server.
Definition: oc_tcp.h:133
NIC host name.
Definition: oc_tcp.h:128
The file with interface for process mechanism.
SupportSoft Nexus Remote Command , a proxy gateway connecting remote control traffic.
Definition: oc_tcp.h:257
AppleTalk Routing Maintenance.
Definition: oc_tcp.h:162
Link Management Protocol , a protocol that runs between a pair of nodes and is used to manage traffic...
Definition: oc_tcp.h:278
Simple Gateway Monitoring Protocol , a protocol for remote inspection and alteration of gateway manag...
Definition: oc_tcp.h:152
stores TCP server data
Definition: oc_tcp_server.c:67
Border Gateway Protocol , used to exchange routing and reachability information among autonomous syst...
Definition: oc_tcp.h:159
DNS over TLS.
Definition: oc_tcp.h:306
codaauth2, Coda authentication server
Definition: oc_tcp.h:183
Internetwork Packet Exchange.
Definition: oc_tcp.h:165
Reliable Syslog Service — used for system logging.
Definition: oc_tcp.h:248
Mobile IP Agent.
Definition: oc_tcp.h:194
oC_ErrorCode_t oC_Tcp_Listen(const oC_Net_Address_t *Source, oC_Tcp_Server_t *outServer, uint32_t MaxConnections, oC_Time_t Timeout)
starts a server that listen at the given address
Definition: oc_tcp.c:615
Media Management System Media Management Protocol.
Definition: oc_tcp.h:264
Remote User Telnet Service.
Definition: oc_tcp.h:132
oC_ErrorCode_t oC_Tcp_Connect(const oC_Net_Address_t *Destination, oC_Tcp_Port_t LocalPort, oC_Tcp_Connection_t *outConnection, oC_Time_t Timeout)
connects to the remote TCP server
Definition: oc_tcp.c:443
Microsoft Windows SBS SharePoint.
Definition: oc_tcp.h:319
URL Rendezvous Directory for SSM.
Definition: oc_tcp.h:202
Previously Interface Message Processor logical address management.
Definition: oc_tcp.h:107
Border Gateway Multicast Protocol.
Definition: oc_tcp.h:170
oC_ErrorCode_t oC_Tcp_Packet_ReadOption(oC_Tcp_Packet_t *Packet, oC_Tcp_OptionKind_t OptionKind, void *outData, uint8_t *Size)
reads option from the TCP packet
Finger protocol.
Definition: oc_tcp.h:121
DCE endpoint resolution.
Definition: oc_tcp.h:145
File with interface for the NET module.
oC_ErrorCode_t oC_Tcp_ReleasePort(oC_Tcp_Port_t Port, oC_Time_t Timeout)
releases TCP port
Definition: oc_tcp.c:371
Microsoft-DS SMB file sharing.
Definition: oc_tcp.h:200
ANSI Z39.50.
Definition: oc_tcp.h:164
Print server.
Definition: oc_tcp.h:157
Simple Mail Transfer Protocol , used for e-mail routing between mail servers.
Definition: oc_tcp.h:96
Daytime Protocol.
Definition: oc_tcp.h:85
Internet Message Access Protocol over TLS/SSL.
Definition: oc_tcp.h:324
void * oC_Tcp_Packet_GetDataReference(oC_Tcp_Packet_t *Packet)
returns pointer to the data inside the packet
Open Directory Proxy.
Definition: oc_tcp.h:251
Xerox Network Systems Time Protocol.
Definition: oc_tcp.h:108
X Display Manager Control Protocol , used for remote logins to an X Display Manager server...
Definition: oc_tcp.h:158
oC_ErrorCode_t oC_Tcp_Server_SetConnectionFinished(oC_Tcp_Server_t Server, oC_Tcp_ConnectionFinishedFunction_t Function, void *Parameter)
sets a pointer for &#39;connection finished function&#39;
uint16_t oC_Tcp_Packet_GetDataSize(oC_Tcp_Packet_t *Packet)
returns size of data section inside TCP packet
Simple File Transfer Protocol.
Definition: oc_tcp.h:139
Discard Protocol.
Definition: oc_tcp.h:82
Secure Internet Live Conferencing.
Definition: oc_tcp.h:280
oC_ErrorCode_t oC_Tcp_TurnOff(oC_Time_t Timeout)
turns off TCP module
Definition: oc_tcp.c:185
Cisco Tag Distribution Protocol—being replaced by the MPLS Label Distribution Protocol.
Definition: oc_tcp.h:281
NETCONF over SSH.
Definition: oc_tcp.h:299
IEEE Media Management System over SSL.
Definition: oc_tcp.h:275
IBM RMC protocol, used by System p5 AIX Integrated Virtualization Manager and Hardware Management Con...
Definition: oc_tcp.h:266
bool oC_Tcp_Packet_Delete(oC_Tcp_Packet_t **outPacket)
releases memory allocated for a packet
ThinLinc web-based administration interface.
Definition: oc_tcp.h:329
Rpc2portmap.
Definition: oc_tcp.h:182
Network Time Protocol , used for time synchronization.
Definition: oc_tcp.h:143
mdbs-daemon
Definition: oc_tcp.h:296
Unix-to-Unix Copy Protocol.
Definition: oc_tcp.h:229
Arcisdms.
Definition: oc_tcp.h:169
oC_ErrorCode_t oC_Tcp_Receive(oC_Tcp_Connection_t Connection, void *outBuffer, oC_MemorySize_t Size, oC_Time_t Timeout)
receives data by using TCP connection
Definition: oc_tcp.c:858
IEEE-MMS.
Definition: oc_tcp.h:262
NetWare Core Protocol is used for a variety things such as access to primary NetWare server resources...
Definition: oc_tcp.h:223
Any private dial out service.
Definition: oc_tcp.h:119
tcpnethaspsrv, Aladdin Knowledge Systems Hasp services
Definition: oc_tcp.h:204
Kerberos authentication system.
Definition: oc_tcp.h:124
oC_ErrorCode_t oC_Tcp_Server_RejectConnection(oC_Tcp_Server_t Server, oC_Tcp_Connection_t Connection, oC_Time_t Timeout)
rejects TCP connection
oC_Net_Ipv6_t Destination
Destination IP address.
Definition: oc_net.h:258
ConnFinishedFunction_t ConnectionFinishedFunction
Pointer to the function to call when the connection has finished.
Definition: oc_tcp_server.c:76
bool oC_Tcp_Server_Delete(oC_Tcp_Server_t *Server, oC_Time_t Timeout)
deletes TCP server
uint32_t Flags
Flags of the message, look at oC_Dhcp_Flags_t type for more.
Definition: oc_dhcp.h:218
Open Network Computing Remote Procedure Call.
Definition: oc_tcp.h:136
is specified.
Definition: oc_tcp.h:79
Doom, first online first-person shooter.
Definition: oc_tcp.h:268
e-mail message submission
Definition: oc_tcp.h:245
DHCP Failover protocol.
Definition: oc_tcp.h:304
stores IPv6 address
Definition: oc_net.h:142
Real Time Streaming Protocol.
Definition: oc_tcp.h:238
Netnews Administration System.
Definition: oc_tcp.h:322