struct SilcSocketStreamStruct {
const SilcStreamOps *ops;
SilcSchedule schedule;
- int sock;
+ SilcSocket sock;
char *hostname;
char *ip;
SilcUInt16 port;
SilcSocketQos qos;
SilcStreamNotifier notifier;
void *notifier_context;
- unsigned int ipv6 : 1;
+ unsigned int ipv6 : 1; /* UDP IPv6 */
+ unsigned int connected : 1; /* UDP connected state */
};
+#define SILC_IS_SOCKET_STREAM(s) (s->ops == &silc_socket_stream_ops)
+#define SILC_IS_SOCKET_STREAM_UDP(s) (s->ops == &silc_socket_udp_stream_ops)
+
+extern const SilcStreamOps silc_socket_stream_ops;
+extern const SilcStreamOps silc_socket_udp_stream_ops;
+
#endif /* SILCSOCKETSTREAM_I_H */