Exemplo n.º 1
0
gceSTATUS
gcfDump(
    IN gcoOS Os,
    IN gctCONST_STRING Message,
    ...
    )
{

    gctUINT offset = 0;
    gctARGUMENTS args;
    char buffer[80];

    if (!setDumpFlag)
        return gcvSTATUS_OK;

#if gcdDUMP_IN_KERNEL
    gcsHAL_INTERFACE ioctl;

    gcmARGUMENTS_START(args, Message);
    gcmVERIFY_OK(gcoOS_PrintStrVSafe(ioctl.u.Debug.message,
                                     gcmSIZEOF(ioctl.u.Debug.message),
                                     &offset,
                                     Message, args));
    gcmARGUMENTS_END(args);

    ioctl.command     = gcvHAL_DEBUG;
    ioctl.u.Debug.set = gcvFALSE;
#if gcdDUMP
    ioctl.u.Debug.type = gcvMESSAGE_TEXT;
#else
    ioctl.u.Debug.type = gcvMESSAGE_DUMP;
#endif
    ioctl.u.Debug.messageSize = (gctUINT32)gcmSIZEOF(ioctl.u.Debug.message);

    gcmVERIFY_OK(gcoOS_DeviceControl(Os,
                                     IOCTL_GCHAL_INTERFACE,
                                     &ioctl, gcmSIZEOF(ioctl),
                                     &ioctl, gcmSIZEOF(ioctl)));
#else

    gcmARGUMENTS_START(args, Message);
    gcmVERIFY_OK(gcoOS_PrintStrVSafe(buffer, gcmSIZEOF(buffer),
                                     &offset,
                                     Message, args));
    gcmARGUMENTS_END(args);

    gcoOS_Print("%s", buffer);
#endif

    return gcvSTATUS_OK;
}
Exemplo n.º 2
0
static gceSTATUS
_Print(
	_VGContext * Context,
	gctCONST_STRING Format,
	...
	)
{
	char buffer[256];
	gctUINT offset = 0;
	gceSTATUS status;

	gcmONERROR(
		gcoOS_PrintStrVSafe(buffer, gcmSIZEOF(buffer),
							&offset,
							Format,
							(gctPOINTER) (&Format + 1)));

	gcmONERROR(
		gcoPROFILER_Write(Context->hal,
                          offset,
                          buffer));

	return gcvSTATUS_OK;

OnError:
	return status;
}