1247606Spjd/*-
2247606Spjd * Copyright (c) 2012 The FreeBSD Foundation
3247606Spjd * All rights reserved.
4247606Spjd *
5247606Spjd * This software was developed by Pawel Jakub Dawidek under sponsorship from
6247606Spjd * the FreeBSD Foundation.
7247606Spjd *
8247606Spjd * Redistribution and use in source and binary forms, with or without
9247606Spjd * modification, are permitted provided that the following conditions
10247606Spjd * are met:
11247606Spjd * 1. Redistributions of source code must retain the above copyright
12247606Spjd *    notice, this list of conditions and the following disclaimer.
13247606Spjd * 2. Redistributions in binary form must reproduce the above copyright
14247606Spjd *    notice, this list of conditions and the following disclaimer in the
15247606Spjd *    documentation and/or other materials provided with the distribution.
16247606Spjd *
17247606Spjd * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
18247606Spjd * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19247606Spjd * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20247606Spjd * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
21247606Spjd * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22247606Spjd * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23247606Spjd * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24247606Spjd * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25247606Spjd * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26247606Spjd * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27247606Spjd * SUCH DAMAGE.
28247606Spjd *
29247606Spjd * $FreeBSD$
30247606Spjd */
31247606Spjd
32247606Spjd#ifndef _MISC_H_
33247606Spjd#define	_MISC_H_
34247606Spjd
35247606Spjd#define	OK()	do {							\
36247606Spjd	int _serrno = errno;						\
37247606Spjd	printf("ok # line %u\n", __LINE__);				\
38247606Spjd	fflush(stdout);							\
39247606Spjd	errno = _serrno;						\
40247606Spjd} while (0)
41247606Spjd#define	NOK()	do {							\
42247606Spjd	int _serrno = errno;						\
43247606Spjd	printf("not ok # line %u\n", __LINE__);				\
44247606Spjd	fflush(stdout);							\
45247606Spjd	errno = _serrno;						\
46247606Spjd} while (0)
47247606Spjd#define	CHECK(cond)	do {						\
48247606Spjd	if ((cond))							\
49247606Spjd		OK();							\
50247606Spjd	else								\
51247606Spjd		NOK();							\
52247606Spjd} while (0)
53247606Spjd
54247606Spjd/*
55247606Spjd * This can be removed once pdwait4(2) is implemented.
56247606Spjd */
57247606Spjdint pdwait(int pfd);
58247606Spjd
59247606Spjdint descriptor_send(int sock, int fd);
60247606Spjdint descriptor_recv(int sock, int *fdp);
61247606Spjd
62247606Spjd#endif	/* !_MISC_H_ */
63