view test/testtypes.c @ 715:de0351c47596

Date: Mon, 01 Sep 2003 15:37:52 +0900 From: SUGIMOTO Sadahiro Subject: [SDL] [PATCH] bsd joystick Hi, on FreeBSD systems, I had troubles using a USB joystick with SDL. There are two problems in src/joystick/bsd/SDL_sysjoystick.c . 1. The macro __FreeBSD_version is compared to inappropriate numbers. According to http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/lib/libusbhid/usbhid.h http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/lib/libusbhid/Attic/libusb.h http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/lib/libusbhid/Attic/libusbhid.h the APIs of USB HID are common in each following groups of OS versions, a. 4.1-4.5 b. 4.6-4.8, and 5.0 c. 5.1 2. open() error $ uname -sr FreeBSD 5.1-RELEASE $ ls -l /dev/uhid0 crw-r--r-- 1 root operator 122, 0 8 3 14:06 /dev/uhid0 Then, open("/dev/uhid0", O_RDWR) fails. It seems that this device file does not need to be writable, so O_RDONLY may be suitable.
author Sam Lantinga <slouken@libsdl.org>
date Fri, 05 Sep 2003 15:20:47 +0000
parents 45b1c4303f87
children d93862a3d821
line wrap: on
line source


#include <stdio.h>
#include "SDL_main.h"
#include "SDL_types.h"

int main(int argc, char *argv[])
{
	int error = 0;
	int verbose = 1;

	if ( argv[1] && (strcmp(argv[1], "-q") == 0) )
		verbose = 0;

	if ( sizeof(Uint8) != 1 ) {
		if ( verbose )
			printf("sizeof(Uint8) != 1, instead = %d\n",
								sizeof(Uint8));
		++error;
	}
	if ( sizeof(Uint16) != 2 ) {
		if ( verbose )
			printf("sizeof(Uint16) != 2, instead = %d\n",
								sizeof(Uint16));
		++error;
	}
	if ( sizeof(Uint32) != 4 ) {
		if ( verbose )
			printf("sizeof(Uint32) != 4, instead = %d\n",
								sizeof(Uint32));
		++error;
	}
#ifdef SDL_HAS_64BIT_TYPE
	if ( sizeof(Uint64) != 8 ) {
		if ( verbose )
			printf("sizeof(Uint64) != 8, instead = %d\n",
								sizeof(Uint64));
		++error;
	}
#else
	if ( verbose ) {
		printf("WARNING: No 64-bit datatype on this platform\n");
	}
#endif
	if ( verbose && ! error )
		printf("All data types are the expected size.\n");

	return( error ? 1 : 0 );
}