You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.3 KiB
73 lines
2.3 KiB
/*
|
|
** Copyright 1995-2095, Silicon Graphics, Inc.
|
|
** All Rights Reserved.
|
|
**
|
|
** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
|
|
** the contents of this file may not be disclosed to third parties, copied or
|
|
** duplicated in any form, in whole or in part, without the prior written
|
|
** permission of Silicon Graphics, Inc.
|
|
**
|
|
** RESTRICTED RIGHTS LEGEND:
|
|
** Use, duplication or disclosure by the Government is subject to restrictions
|
|
** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
|
|
** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
|
|
** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
|
|
** rights reserved under the Copyright Laws of the United States.
|
|
*/
|
|
|
|
#include <GL/gls.h>
|
|
#include <stdlib.h>
|
|
|
|
#if __GLS_PLATFORM_WIN32
|
|
#include <fcntl.h>
|
|
#include <io.h>
|
|
#define __MAIN_LINKAGE __cdecl
|
|
#else /* !__GLS_PLATFORM_WIN32 */
|
|
#define __MAIN_LINKAGE
|
|
#endif /* __GLS_PLATFORM_WIN32 */
|
|
|
|
static void configStdio(void) {
|
|
setbuf(stdout, GLS_NONE);
|
|
#if __GLS_PLATFORM_WIN32
|
|
_setmode(_fileno(stdout), _O_BINARY);
|
|
_setmode(_fileno(stderr), _O_BINARY);
|
|
#endif /* __GLS_PLATFORM_WIN32 */
|
|
}
|
|
|
|
GLint __MAIN_LINKAGE main(const GLsizei inArgc, const GLubyte *inArgv[]) {
|
|
GLubyte *array;
|
|
size_t count;
|
|
GLSenum streamType;
|
|
|
|
configStdio();
|
|
if (inArgc != 2) {
|
|
fprintf(stderr, "usage: %s <streamName>\n", inArgv[0]);
|
|
exit(EXIT_FAILURE);
|
|
}
|
|
glsContext(glsGenContext());
|
|
streamType = glsGetStreamType(inArgv[1]);
|
|
if (!streamType) {
|
|
fprintf(stderr, "%s: invalid stream %s\n", inArgv[0], inArgv[1]);
|
|
exit(EXIT_FAILURE);
|
|
}
|
|
count = glsGetStreamSize(inArgv[1]);
|
|
if (!count) {
|
|
fprintf(
|
|
stderr,
|
|
"%s: could not determine size of stream %s\n",
|
|
inArgv[0],
|
|
inArgv[1]
|
|
);
|
|
exit(EXIT_FAILURE);
|
|
}
|
|
array = (GLubyte *)malloc(count);
|
|
if (!array) {
|
|
fprintf(stderr, "%s: malloc(%u) failed\n", inArgv[0], count);
|
|
exit(EXIT_FAILURE);
|
|
}
|
|
fread(array, 1, count, fopen((const char *)inArgv[1], "rb"));
|
|
glsBeginCapture(glsCSTR(""), GLS_TEXT, GLS_NONE);
|
|
glsCallArray(streamType, count, array);
|
|
glsEndCapture();
|
|
return EXIT_SUCCESS;
|
|
}
|