OSDN Git Service

(LibGoblin)
[drdeamon64/drdeamon64.git] / deamon / drd64_server_recvstatus.h
index d135e94..4837619 100644 (file)
@@ -49,17 +49,23 @@ Comment:
 #define        DRD64_SERVER_RECVSTATUS_STATUS_RESUME   0x02
 #define        DRD64_SERVER_RECVSTATUS_STATUS_ERROR    0xff
 
+#define        DRD64_SERVER_CMDSTATUS_STATUS_NORMAL    0x00
+
 
 typedef struct {
+       int             i_recvstatus_id;
        int             i_fds_id;
        void    *pv_buf;
        void    *pv_resume;
        int             i_remain_bytes;
        int             i_read_phase;
 
-       int             i_child_fds_id;
        Byte    b_recv_status;
        int             i_command_status;       /* Cmd Proc. Use Area - for Cmd Status */
+
+       void    *pv_recv_before;
+       void    *pv_recv_next;
+       void    *pv_cinfo_connection;
 } Drd64_Server_RecvStatus;
 
 #ifdef DRD64_SRC_SERVER_RECVSTATUS
@@ -86,28 +92,68 @@ EXTERN_SERVER_RECVSTATUS
 
 EXTERN_SERVER_RECVSTATUS
        void
-               Drd64_Server_RecvStatus_FreeRecvStatus(
+               Drd64_Server_RecvStatus_CloseRecvStatus(
                        int i_fds );
 
+
+EXTERN_SERVER_RECVSTATUS
+       int     
+               Drd64_Server_RecvStatus_PushResumeChain(
+                       int     i_fds,
+                       int     i_alloc_units );
+
+EXTERN_SERVER_RECVSTATUS
+       int
+               Drd64_Server_RecvStatus_DeleteResumeChain(
+                       int     i_recv_id );
+
+EXTERN_SERVER_RECVSTATUS
+       int
+               Drd64_Server_RecvStatus_AddSocketsChain(
+                       Drd64_Server_RecvStatus *p_recv );
+
+EXTERN_SERVER_RECVSTATUS
+       int
+               Drd64_Server_RecvStatus_DeleteSocketsChain(
+                       Drd64_Server_RecvStatus *p_recv );
+
+
+EXTERN_SERVER_RECVSTATUS
+       void
+               Drd64_Server_RecvStatus_InitRecvStatus(
+                       Drd64_Server_RecvStatus *p_recv,
+                       int     i_socket );
+
+EXTERN_SERVER_RECVSTATUS
+       int
+               Drd64_Server_RecvStatus_SetConnectionInfoPointer(
+                       Drd64_Server_RecvStatus *p_recv_now,
+                       void    *pv_cinfo );
+
 EXTERN_SERVER_RECVSTATUS
        Drd64_Server_RecvStatus *
                Drd64_Server_RecvStatus_GetRecvStatus(
-                       int     i_fds );
+                       int     i_recv_id );
+
+EXTERN_SERVER_RECVSTATUS
+       int
+               Drd64_Server_RecvStatus_GetSocketID(
+                       int     i_recv_id );
 
 EXTERN_SERVER_RECVSTATUS
        int
                Drd64_Server_RecvStatus_GetPacketStatus(
-               int     i_fds );
+               int     i_recv_id );
 
 EXTERN_SERVER_RECVSTATUS
        int
        Drd64_Server_RecvStatus_GetCmdStatus(
-               int     i_fds );
+               int     i_recv_id );
 
 EXTERN_SERVER_RECVSTATUS
        int
        Drd64_Server_RecvStatus_SetCmdStatus(
-               int     i_fds,
+               int     i_recv_id,
                int     i_packet_status );
 
 
@@ -116,6 +162,17 @@ EXTERN_SERVER_RECVSTATUS
                Drd64_Server_RecvStatus_GetRecvStatMax(
                        void );
 
+EXTERN_SERVER_RECVSTATUS
+       Drd64_Server_RecvStatus *
+               Drd64_Server_RecvStatus_GetResumeChainStart(
+                       void );
+
+EXTERN_SERVER_RECVSTATUS
+       Drd64_Server_RecvStatus *
+               Drd64_Server_RecvStatus_GetSocketsChainStart(
+                       void );
+
+
 
 #endif /* DRD64_HEADER_XXX */