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
/*
============================================================================
Name : hev-task-cio-socket.h
Author : hev <r@hev.cc>
Copyright : Copyright (c) 2024 hev.
Description : Task Chain I/O Socket
============================================================================
*/
#ifndef __HEV_TASK_CIO_SOCKET_H__
#define __HEV_TASK_CIO_SOCKET_H__
#include <hev-task-cio.h>
#ifdef __cplusplus
extern "C" {
#endif
#define HEV_TASK_CIO_SOCKET(p) ((HevTaskCIOSocket *)p)
#define HEV_TASK_CIO_SOCKET_CLASS(p) ((HevTaskCIOSocketClass *)p)
#define HEV_TASK_CIO_SOCKET_TYPE (hev_task_cio_socket_class ())
typedef struct _HevTaskCIOSocket HevTaskCIOSocket;
typedef struct _HevTaskCIOSocketClass HevTaskCIOSocketClass;
struct _HevTaskCIOSocket
{
HevTaskCIO base;
int alen;
int fd;
};
struct _HevTaskCIOSocketClass
{
HevTaskCIOClass base;
};
/**
* hev_task_cio_socket_class:
*
* Get the class of #HevTaskCIOSocket.
*
* Returns: a new #HeObjectClass.
*
* Since: 5.3
*/
HevObjectClass *hev_task_cio_socket_class (void);
/**
* hev_task_cio_socket_construct:
* @self: a #HevTaskCIO
* @family: socket family
* @fd: socket file descriptor
*
* Construct a new #HevTaskCIOSocket.
*
* Returns: When successful, returns zero. otherwise, returns -1.
*
* Since: 5.3
*/
int hev_task_cio_socket_construct (HevTaskCIOSocket *self, int family, int fd);
/**
* hev_task_cio_socket_new:
* @family: socket family
* @fd: socket file descriptor
*
* Create a new #HevTaskCIOSocket.
*
* Returns: a #HevTaskCIOSocket
*
* Since: 5.3
*/
HevTaskCIOSocket *hev_task_cio_socket_new (int family, int fd);
#ifdef __cplusplus
}
#endif
#endif /* __HEV_TASK_CIO_SOCKET_H__ */