11.25Schristos/*	$NetBSD: extern.h,v 1.25 2022/01/14 23:56:35 christos Exp $	*/
21.4Scgd
31.1Sglass/*-
41.3Smycroft * Copyright (c) 1991, 1993, 1994
51.3Smycroft *	The Regents of the University of California.  All rights reserved.
61.1Sglass *
71.1Sglass * This code is derived from software contributed to Berkeley by
81.1Sglass * Keith Muller of the University of California, San Diego and Lance
91.1Sglass * Visser of Convex Computer Corporation.
101.1Sglass *
111.1Sglass * Redistribution and use in source and binary forms, with or without
121.1Sglass * modification, are permitted provided that the following conditions
131.1Sglass * are met:
141.1Sglass * 1. Redistributions of source code must retain the above copyright
151.1Sglass *    notice, this list of conditions and the following disclaimer.
161.1Sglass * 2. Redistributions in binary form must reproduce the above copyright
171.1Sglass *    notice, this list of conditions and the following disclaimer in the
181.1Sglass *    documentation and/or other materials provided with the distribution.
191.15Sagc * 3. Neither the name of the University nor the names of its contributors
201.1Sglass *    may be used to endorse or promote products derived from this software
211.1Sglass *    without specific prior written permission.
221.1Sglass *
231.1Sglass * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
241.1Sglass * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
251.1Sglass * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
261.1Sglass * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
271.1Sglass * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
281.1Sglass * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
291.1Sglass * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
301.1Sglass * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
311.1Sglass * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
321.1Sglass * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
331.1Sglass * SUCH DAMAGE.
341.1Sglass *
351.4Scgd *	@(#)extern.h	8.3 (Berkeley) 4/2/94
361.1Sglass */
371.1Sglass
381.1Sglass#include <sys/cdefs.h>
391.1Sglass
401.20Sjoerg#ifdef NO_CONV
411.20Sjoerg__dead void block(void);
421.20Sjoerg__dead void block_close(void);
431.20Sjoerg__dead void unblock(void);
441.20Sjoerg__dead void unblock_close(void);
451.20Sjoerg#else
461.11Slukemvoid block(void);
471.11Slukemvoid block_close(void);
481.20Sjoergvoid unblock(void);
491.20Sjoergvoid unblock_close(void);
501.20Sjoerg#endif
511.22Sjym
521.22Sjym#ifndef NO_MSGFMT
531.22Sjymint dd_write_msg(const char *, int);
541.22Sjym#endif
551.22Sjym
561.11Slukemvoid dd_out(int);
571.11Slukemvoid def(void);
581.11Slukemvoid def_close(void);
591.11Slukemvoid jcl(char **);
601.11Slukemvoid pos_in(void);
611.11Slukemvoid pos_out(void);
621.11Slukemvoid summary(void);
631.11Slukemvoid summaryx(int);
641.19Sjoerg__dead void terminate(int);
651.11Slukemvoid unblock(void);
661.11Slukemvoid unblock_close(void);
671.18Spookassize_t bwrite(IO *, const void *, size_t);
681.1Sglass
691.12Slukemextern IO		in, out;
701.12Slukemextern STAT		st;
711.12Slukemextern void		(*cfunc)(void);
721.13Slukemextern uint64_t		cpy_cnt;
731.13Slukemextern uint64_t		cbsz;
741.12Slukemextern u_int		ddflags;
751.23Smanu#ifndef NO_IOFLAG
761.23Smanuextern u_int		iflag;
771.23Smanuextern u_int		oflag;
781.23Smanu#endif /* NO_IOFLAG */
791.12Slukemextern u_int		files_cnt;
801.17Sapbextern uint64_t		progress;
811.12Slukemextern const u_char	*ctab;
821.12Slukemextern const u_char	a2e_32V[], a2e_POSIX[];
831.12Slukemextern const u_char	e2a_32V[], e2a_POSIX[];
841.25Schristosextern const u_char	a2ibm[];
851.12Slukemextern u_char		casetab[];
861.21Sjymextern const char	*msgfmt;
871.24Smrg
881.24Smrgvoid dd_swab(const void *, void *, ssize_t len);
89