]> git.saurik.com Git - apple/boot.git/blame - i386/nasm/outform.c
boot-132.tar.gz
[apple/boot.git] / i386 / nasm / outform.c
CommitLineData
14c7c974
A
1/*
2 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
4f6e3300
A
6 * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7 * Reserved. This file contains Original Code and/or Modifications of
8 * Original Code as defined in and that are subject to the Apple Public
9 * Source License Version 1.1 (the "License"). You may not use this file
10 * except in compliance with the License. Please obtain a copy of the
11 * License at http://www.apple.com/publicsource and read it before using
12 * this file.
14c7c974
A
13 *
14 * The Original Code and all software distributed under the License are
4f6e3300 15 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14c7c974
A
16 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
4f6e3300
A
18 * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the
19 * License for the specific language governing rights and limitations
20 * under the License.
14c7c974
A
21 *
22 * @APPLE_LICENSE_HEADER_END@
23 */
24/* outform.c manages a list of output formats, and associates
25 * them with their relevant drivers. Also has a
26 * routine to find the correct driver given a name
27 * for it
28 *
29 * The Netwide Assembler is copyright (C) 1996 Simon Tatham and
30 * Julian Hall. All rights reserved. The software is
31 * redistributable under the licence given in the file "Licence"
32 * distributed in the NASM archive.
33 */
34
35#include <stdio.h>
36#include <string.h>
37#include "outform.h"
38
39static struct ofmt *drivers[MAX_OUTPUT_FORMATS];
40static int ndrivers = 0;
41
42struct ofmt *ofmt_find(char *name) /* find driver */
43{
44 int i;
45
46 for (i=0; i<ndrivers; i++)
47 if (!strcmp(name,drivers[i]->shortname))
48 return drivers[i];
49
50 return NULL;
51}
52
53void ofmt_list(struct ofmt *deffmt, FILE *fp)
54{
55 int i;
56 for (i=0; i<ndrivers; i++)
57 fprintf(fp, " %c %-7s%s\n",
58 drivers[i] == deffmt ? '*' : ' ',
59 drivers[i]->shortname,
60 drivers[i]->fullname);
61}
62
63void ofmt_register (struct ofmt *info) {
64 drivers[ndrivers++] = info;
65}