atomicio.h (761efaa70c2ed8d35722b7bc234a46bf2457f876) atomicio.h (4a421b6336e5e0c2ff27024c30fe32c6f71dcf3d)
1/* $OpenBSD: atomicio.h,v 1.10 2006/08/03 03:34:41 deraadt Exp $ */
1/* $OpenBSD: atomicio.h,v 1.11 2010/09/22 22:58:51 djm Exp $ */
2
3/*
4 * Copyright (c) 2006 Damien Miller. All rights reserved.
5 * Copyright (c) 1995,1999 Theo de Raadt. All rights reserved.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions

--- 17 unchanged lines hidden (view full) ---

27 */
28
29#ifndef _ATOMICIO_H
30#define _ATOMICIO_H
31
32/*
33 * Ensure all of data on socket comes through. f==read || f==vwrite
34 */
2
3/*
4 * Copyright (c) 2006 Damien Miller. All rights reserved.
5 * Copyright (c) 1995,1999 Theo de Raadt. All rights reserved.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions

--- 17 unchanged lines hidden (view full) ---

27 */
28
29#ifndef _ATOMICIO_H
30#define _ATOMICIO_H
31
32/*
33 * Ensure all of data on socket comes through. f==read || f==vwrite
34 */
35size_t
36atomicio6(ssize_t (*f) (int, void *, size_t), int fd, void *_s, size_t n,
37 int (*cb)(void *, size_t), void *);
35size_t atomicio(ssize_t (*)(int, void *, size_t), int, void *, size_t);
36
37#define vwrite (ssize_t (*)(int, void *, size_t))write
38
39/*
40 * ensure all of data on socket comes through. f==readv || f==writev
41 */
38size_t atomicio(ssize_t (*)(int, void *, size_t), int, void *, size_t);
39
40#define vwrite (ssize_t (*)(int, void *, size_t))write
41
42/*
43 * ensure all of data on socket comes through. f==readv || f==writev
44 */
45size_t
46atomiciov6(ssize_t (*f) (int, const struct iovec *, int), int fd,
47 const struct iovec *_iov, int iovcnt, int (*cb)(void *, size_t), void *);
42size_t atomiciov(ssize_t (*)(int, const struct iovec *, int),
43 int, const struct iovec *, int);
44
45#endif /* _ATOMICIO_H */
48size_t atomiciov(ssize_t (*)(int, const struct iovec *, int),
49 int, const struct iovec *, int);
50
51#endif /* _ATOMICIO_H */