1250003Sadrian/*- 2250003Sadrian * Copyright (c) 1988, 1989, 1990, 1993 3250003Sadrian * The Regents of the University of California. All rights reserved. 4250003Sadrian * Copyright (c) 1988, 1989 by Adam de Boor 5250003Sadrian * Copyright (c) 1989 by Berkeley Softworks 6250003Sadrian * All rights reserved. 7250003Sadrian * 8250003Sadrian * This code is derived from software contributed to Berkeley by 9250003Sadrian * Adam de Boor. 10250003Sadrian * 11250003Sadrian * Redistribution and use in source and binary forms, with or without 12250003Sadrian * modification, are permitted provided that the following conditions 13250003Sadrian * are met: 14250003Sadrian * 1. Redistributions of source code must retain the above copyright 15250003Sadrian * notice, this list of conditions and the following disclaimer. 16250003Sadrian * 2. Redistributions in binary form must reproduce the above copyright 17250003Sadrian * notice, this list of conditions and the following disclaimer in the 18250003Sadrian * documentation and/or other materials provided with the distribution. 19250003Sadrian * 3. All advertising materials mentioning features or use of this software 20250003Sadrian * must display the following acknowledgement: 21250003Sadrian * This product includes software developed by the University of 22250003Sadrian * California, Berkeley and its contributors. 23250003Sadrian * 4. Neither the name of the University nor the names of its contributors 24250003Sadrian * may be used to endorse or promote products derived from this software 25250003Sadrian * without specific prior written permission. 26250003Sadrian * 27250003Sadrian * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 28250003Sadrian * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 29250003Sadrian * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 30250003Sadrian * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 31250003Sadrian * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 32250003Sadrian * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 33250003Sadrian * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 34250003Sadrian * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 35250003Sadrian * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 36250003Sadrian * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 37250003Sadrian * SUCH DAMAGE. 38250003Sadrian * 39250003Sadrian * @(#)job.h 8.1 (Berkeley) 6/6/93 40250003Sadrian * $FreeBSD: releng/10.2/usr.bin/make/job.h 186559 2008-12-29 10:26:02Z obrien $ 41250003Sadrian */ 42250003Sadrian 43250003Sadrian#ifndef job_h_4678dfd1 44250003Sadrian#define job_h_4678dfd1 45250003Sadrian 46250003Sadrian/*- 47250003Sadrian * job.h -- 48250003Sadrian * Definitions pertaining to the running of jobs in parallel mode. 49250003Sadrian */ 50250003Sadrian 51250003Sadrian#include <stdio.h> 52250003Sadrian 53250003Sadrian#include "util.h" 54250003Sadrian 55250003Sadrianstruct Buffer; 56250003Sadrianstruct GNode; 57250003Sadrianstruct Lst; 58250003Sadrian 59250003Sadrianvoid Job_Touch(struct GNode *, Boolean); 60250003SadrianBoolean Job_CheckCommands(struct GNode *, void (*abortProc)(const char *, ...)); 61250003Sadrianvoid Job_CatchChildren(Boolean); 62250003Sadrianvoid Job_CatchOutput(int flag); 63250003Sadrianvoid Job_Make(struct GNode *); 64250003Sadrianvoid Job_Init(int); 65250003SadrianBoolean Job_Full(void); 66250003SadrianBoolean Job_Empty(void); 67250003Sadrianvoid Job_Finish(void); 68250003Sadrianvoid Job_Wait(void); 69250003Sadrianvoid Job_AbortAll(void); 70250003Sadrianvoid Job_SetPrefix(void); 71250003Sadrian 72250003Sadrianvoid Proc_Init(void); 73250003Sadrian 74250003Sadrianstruct Buffer *Cmd_Exec(const char *, const char **); 75250003Sadrian 76250003Sadrianint Compat_Make(struct GNode *gn, struct GNode *pgn); 77250003Sadrianvoid Compat_InstallSignalHandlers(void); 78250003Sadrianvoid Compat_Run(struct Lst *); 79250003Sadrian 80250003Sadrian#endif /* job_h_4678dfd1 */ 81250003Sadrian