Mercurial > sdl-ios-xcode
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 ); }