version 1.6.2.1, 2006/10/06 03:19:32 |
version 1.7, 2006/03/25 22:22:42 |
|
|
/* $OpenBSD$ */ |
/* $OpenBSD$ */ |
|
|
/* |
/* |
* Copyright (c) 2006 Damien Miller. All rights reserved. |
|
* Copyright (c) 1995,1999 Theo de Raadt. All rights reserved. |
* Copyright (c) 1995,1999 Theo de Raadt. All rights reserved. |
* All rights reserved. |
* All rights reserved. |
* |
* |
|
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
*/ |
|
|
#ifndef _ATOMICIO_H |
|
#define _ATOMICIO_H |
|
|
|
/* |
/* |
* Ensure all of data on socket comes through. f==read || f==vwrite |
* Ensure all of data on socket comes through. f==read || f==vwrite |
*/ |
*/ |
size_t atomicio(ssize_t (*)(int, void *, size_t), int, void *, size_t); |
size_t atomicio(ssize_t (*)(int, void *, size_t), int, void *, size_t); |
|
|
#define vwrite (ssize_t (*)(int, void *, size_t))write |
#define vwrite (ssize_t (*)(int, void *, size_t))write |
|
|
/* |
|
* ensure all of data on socket comes through. f==readv || f==writev |
|
*/ |
|
size_t atomiciov(ssize_t (*)(int, const struct iovec *, int), |
|
int, const struct iovec *, int); |
|
|
|
#endif /* _ATOMICIO_H */ |
|