2 * driver-stream.h: entry points for stream drivers
4 * Copyright (C) 2006-2014 Red Hat, Inc.
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library. If not, see
18 * <http://www.gnu.org/licenses/>.
23 #ifndef __VIR_DRIVER_H_INCLUDES___
24 # error "Don't include this file directly, only use driver.h"
28 (*virDrvStreamSend
)(virStreamPtr st
,
33 (*virDrvStreamRecv
)(virStreamPtr st
,
38 (*virDrvStreamRecvFlags
)(virStreamPtr st
,
44 (*virDrvStreamSendHole
)(virStreamPtr st
,
49 (*virDrvStreamRecvHole
)(virStreamPtr st
,
54 (*virDrvStreamInData
)(virStreamPtr st
,
59 (*virDrvStreamEventAddCallback
)(virStreamPtr stream
,
61 virStreamEventCallback cb
,
66 (*virDrvStreamEventUpdateCallback
)(virStreamPtr stream
,
70 (*virDrvStreamEventRemoveCallback
)(virStreamPtr stream
);
73 (*virDrvStreamFinish
)(virStreamPtr st
);
76 (*virDrvStreamAbort
)(virStreamPtr st
);
78 typedef struct _virStreamDriver virStreamDriver
;
79 struct _virStreamDriver
{
80 virDrvStreamSend streamSend
;
81 virDrvStreamRecv streamRecv
;
82 virDrvStreamRecvFlags streamRecvFlags
;
83 virDrvStreamSendHole streamSendHole
;
84 virDrvStreamRecvHole streamRecvHole
;
85 virDrvStreamInData streamInData
;
86 virDrvStreamEventAddCallback streamEventAddCallback
;
87 virDrvStreamEventUpdateCallback streamEventUpdateCallback
;
88 virDrvStreamEventRemoveCallback streamEventRemoveCallback
;
89 virDrvStreamFinish streamFinish
;
90 virDrvStreamAbort streamAbort
;