/*
Copyright (c) 1993 Xerox Corporation.  All rights reserved.
*/
/*
$Id$

$Date$
 *
 */
/* Chauser, October 28, 1993 3:39 pm PDT */


#ifndef ←←PCR←DbgNubMarshall←h
#   define ←←PCR←DbgNubMarshall←h 1

#include <config/PCR←StdDefs.h>
#include <config/PCR←Arch.h>

 
/*
    A DbgNubProc Foo is declared like

        PCR←ERes Foo(int argc, void **args);

    Foo is invoked as a result of a message from the other side.
    The calling procedure and Foo must agree on the number and types
        of arguments.
    Foo returns results by calling the marshalling procedures (below)
        and returning the appropriate PCR←ERes value.
*/


/*
 * Marshalling procs.
 * If one of these returns a value other than PCR←DbgNubProtocol←Res←okay,
 *   the invoking CirioNubProc should return that same value.
 */


extern PCR←ERes
PCR←DbgNubMarshall←PutCard32(unsigned long n);

extern PCR←ERes
PCR←DbgNubMarshall←PutInt32(long n);

extern PCR←ERes
PCR←DbgNubMarshall←PutString(char *s);

extern PCR←ERes
PCR←DbgNubMarshall←PutBlock8(char *b, int nBytes);

extern PCR←ERes
PCR←DbgNubMarshall←PutBlock16(short *b, int nBytes);

extern PCR←ERes
PCR←DbgNubMarshall←PutBlock32(long *b, int nBytes);

#endif /* ←←PCR←DbgNubMarshall←h */