10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe#ifndef _MKSH_MISC_H
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe#define _MKSH_MISC_H
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe/*
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe * CDDL HEADER START
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe *
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe * The contents of this file are subject to the terms of the
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe * Common Development and Distribution License (the "License").
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe * You may not use this file except in compliance with the License.
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe *
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe * or http://www.opensolaris.org/os/licensing.
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe * See the License for the specific language governing permissions
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe * and limitations under the License.
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe *
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe * When distributing Covered Code, include this CDDL HEADER in each
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe * If applicable, add the following below this CDDL HEADER, with the
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe * fields enclosed by brackets "[]" replaced with your own identifying
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe * information: Portions Copyright [yyyy] [name of copyright owner]
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe *
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe * CDDL HEADER END
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe */
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe/*
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe * Use is subject to license terms.
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe */
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe#include <mksh/defs.h>
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern void append_char(wchar_t from, register String to);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern Property append_prop(register Name target, register Property_id type);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern void append_string(register wchar_t *from, register String to, register int length);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern void enable_interrupt(register void (*handler) (int));
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern char *errmsg(int errnum);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern void fatal_mksh(const char *message, ...);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern void fatal_reader_mksh(const char *pattern, ...);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern char *get_current_path_mksh(void);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern Property get_prop(register Property start, register Property_id type);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern char *getmem(register int size);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern Name getname_fn(wchar_t *name, register int len, register Boolean dont_enter, register Boolean * foundp = NULL);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern void store_name(Name name);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern void free_name(Name name);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern void handle_interrupt_mksh(int);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern Property maybe_append_prop(register Name target, register Property_id type);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern void retmem(wchar_t *p);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern void retmem_mb(caddr_t p);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern void setup_char_semantics(void);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern void setup_interrupt(register void (*handler) (int));
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern void warning_mksh(char * message, ...);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern void append_string(register char *from, register String to, register int length);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Loweextern wchar_t *get_wstring(char * from);
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe
10d63b7db37a83b39c7f511cf9426c9d03ea0760Richard Lowe#endif