Mercurial > sdl-ios-xcode
comparison src/joystick/bsd/SDL_sysjoystick.c @ 407:173909e17b7f
API changes on OpenBSD and FreeBSD...
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Wed, 12 Jun 2002 03:32:01 +0000 |
parents | b5de7389a0a5 |
children | 33712e5d1ec8 |
comparison
equal
deleted
inserted
replaced
406:9916da315b0d | 407:173909e17b7f |
---|---|
27 * Maintainer: <vedge at csoft.org> | 27 * Maintainer: <vedge at csoft.org> |
28 */ | 28 */ |
29 | 29 |
30 #ifdef SAVE_RCSID | 30 #ifdef SAVE_RCSID |
31 static char rcsid = | 31 static char rcsid = |
32 "@(#) $Id $"; | 32 "@(#) $Id$"; |
33 #endif | 33 #endif |
34 | 34 |
35 #include <stdio.h> | 35 #include <stdio.h> |
36 #include <stdlib.h> | 36 #include <stdlib.h> |
37 #include <unistd.h> | 37 #include <unistd.h> |
208 SDL_SetError("%s: Input report descriptor has invalid length", | 208 SDL_SetError("%s: Input report descriptor has invalid length", |
209 hw->path); | 209 hw->path); |
210 goto usberr; | 210 goto usberr; |
211 } | 211 } |
212 | 212 |
213 #ifdef USBHID_NEW | |
214 hdata = hid_start_parse(hw->repdesc, 1 << hid_input, rep->rid); | |
215 #else | |
213 hdata = hid_start_parse(hw->repdesc, 1 << hid_input); | 216 hdata = hid_start_parse(hw->repdesc, 1 << hid_input); |
217 #endif | |
214 if (hdata == NULL) { | 218 if (hdata == NULL) { |
215 SDL_SetError("%s: Cannot start HID parser", hw->path); | 219 SDL_SetError("%s: Cannot start HID parser", hw->path); |
216 goto usberr; | 220 goto usberr; |
217 } | 221 } |
218 joy->naxes = 0; | 222 joy->naxes = 0; |
294 rep = &joy->hwdata->inreport; | 298 rep = &joy->hwdata->inreport; |
295 | 299 |
296 if (read(joy->hwdata->fd, REP_BUF_DATA(rep), rep->size) != rep->size) { | 300 if (read(joy->hwdata->fd, REP_BUF_DATA(rep), rep->size) != rep->size) { |
297 return; | 301 return; |
298 } | 302 } |
303 #ifdef USBHID_NEW | |
304 hdata = hid_start_parse(joy->hwdata->repdesc, 1 << hid_input, rep->rid); | |
305 #else | |
299 hdata = hid_start_parse(joy->hwdata->repdesc, 1 << hid_input); | 306 hdata = hid_start_parse(joy->hwdata->repdesc, 1 << hid_input); |
307 #endif | |
300 if (hdata == NULL) { | 308 if (hdata == NULL) { |
301 fprintf(stderr, "%s: Cannot start HID parser\n", | 309 fprintf(stderr, "%s: Cannot start HID parser\n", |
302 joy->hwdata->path); | 310 joy->hwdata->path); |
303 return; | 311 return; |
304 } | 312 } |
398 static int | 406 static int |
399 report_alloc(struct report *r, struct report_desc *rd, int repind) | 407 report_alloc(struct report *r, struct report_desc *rd, int repind) |
400 { | 408 { |
401 int len; | 409 int len; |
402 | 410 |
411 #ifdef USBHID_NEW | |
412 len = hid_report_size(rd, repinfo[repind].kind, r->rid); | |
413 #else | |
403 len = hid_report_size(rd, repinfo[repind].kind, &r->rid); | 414 len = hid_report_size(rd, repinfo[repind].kind, &r->rid); |
415 #endif | |
404 if (len < 0) { | 416 if (len < 0) { |
405 SDL_SetError("Negative HID report size"); | 417 SDL_SetError("Negative HID report size"); |
406 return (-1); | 418 return (-1); |
407 } | 419 } |
408 r->size = len; | 420 r->size = len; |