Blame dc1394/platform.h

Packit 713213
/*
Packit 713213
 * 1394-Based Digital Camera Control Library
Packit 713213
 *
Packit 713213
 * Platform specific headers
Packit 713213
 *
Packit 713213
 * Written by David Moore <dcm@acm.org>
Packit 713213
 *
Packit 713213
 * This library is free software; you can redistribute it and/or
Packit 713213
 * modify it under the terms of the GNU Lesser General Public
Packit 713213
 * License as published by the Free Software Foundation; either
Packit 713213
 * version 2.1 of the License, or (at your option) any later version.
Packit 713213
 *
Packit 713213
 * This library is distributed in the hope that it will be useful,
Packit 713213
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 713213
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 713213
 * Lesser General Public License for more details.
Packit 713213
 *
Packit 713213
 * You should have received a copy of the GNU Lesser General Public
Packit 713213
 * License along with this library; if not, write to the Free Software
Packit 713213
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
Packit 713213
 */
Packit 713213
Packit 713213
#ifndef __DC1394_PLATFORM_H__
Packit 713213
#define __DC1394_PLATFORM_H__
Packit 713213
Packit 713213
#include <stdint.h>
Packit 713213
#include <dc1394/camera.h>
Packit 713213
Packit 713213
#include "config.h"
Packit 713213
Packit 713213
#ifdef HAVE_MACOSX
Packit 713213
#include <CoreFoundation/CoreFoundation.h>
Packit 713213
#endif
Packit 713213
Packit 713213
typedef struct _platform_t platform_t;
Packit 713213
typedef struct _platform_device_t platform_device_t;
Packit 713213
typedef struct _platform_camera_t platform_camera_t;
Packit 713213
Packit 713213
typedef struct _platform_device_list_t {
Packit 713213
    platform_t * p;
Packit 713213
    platform_device_t ** devices;
Packit 713213
    int num_devices;
Packit 713213
} platform_device_list_t;
Packit 713213
Packit 713213
typedef struct _platform_dispatch_t {
Packit 713213
    platform_t * (*platform_new)(void);
Packit 713213
    void (*platform_free)(platform_t *);
Packit 713213
Packit 713213
    platform_device_list_t * (*get_device_list)(platform_t *);
Packit 713213
    void (*free_device_list)(platform_device_list_t *);
Packit 713213
    int (*device_get_config_rom)(platform_device_t *, uint32_t *, int *);
Packit 713213
Packit 713213
    platform_camera_t * (*camera_new)(platform_t *, platform_device_t *,
Packit 713213
            uint32_t);
Packit 713213
    void (*camera_free)(platform_camera_t *);
Packit 713213
    void (*camera_set_parent)(platform_camera_t *, dc1394camera_t *);
Packit 713213
Packit 713213
    dc1394error_t (*camera_read)(platform_camera_t *, uint64_t,
Packit 713213
            uint32_t *, int);
Packit 713213
    dc1394error_t (*camera_write)(platform_camera_t *, uint64_t,
Packit 713213
            const uint32_t *, int);
Packit 713213
Packit 713213
    dc1394error_t (*reset_bus)(platform_camera_t *);
Packit 713213
    dc1394error_t (*read_cycle_timer)(platform_camera_t *, uint32_t *,
Packit 713213
            uint64_t *);
Packit 713213
    dc1394error_t (*camera_get_node)(platform_camera_t *, uint32_t *,
Packit 713213
            uint32_t *);
Packit 713213
    dc1394error_t (*camera_print_info)(platform_camera_t *, FILE *);
Packit 713213
    dc1394error_t (*set_broadcast)(platform_camera_t *, dc1394bool_t);
Packit 713213
    dc1394error_t (*get_broadcast)(platform_camera_t *, dc1394bool_t *);
Packit 713213
Packit 713213
    dc1394error_t (*capture_setup)(platform_camera_t *, uint32_t, uint32_t);
Packit 713213
    dc1394error_t (*capture_stop)(platform_camera_t *);
Packit 713213
Packit 713213
    dc1394error_t (*capture_dequeue)(platform_camera_t *,
Packit 713213
            dc1394capture_policy_t, dc1394video_frame_t **);
Packit 713213
    dc1394error_t (*capture_enqueue)(platform_camera_t *,
Packit 713213
            dc1394video_frame_t *);
Packit 713213
Packit 713213
    int (*capture_get_fileno)(platform_camera_t *);
Packit 713213
    dc1394bool_t (*capture_is_frame_corrupt)(platform_camera_t *,
Packit 713213
            dc1394video_frame_t *);
Packit 713213
Packit 713213
    dc1394error_t (*iso_set_persist)(platform_camera_t *);
Packit 713213
    dc1394error_t (*iso_allocate_channel)(platform_camera_t *, uint64_t,
Packit 713213
            int *);
Packit 713213
    dc1394error_t (*iso_release_channel)(platform_camera_t *, int);
Packit 713213
    dc1394error_t (*iso_allocate_bandwidth)(platform_camera_t *, int);
Packit 713213
    dc1394error_t (*iso_release_bandwidth)(platform_camera_t *, int);
Packit 713213
    dc1394error_t (*capture_set_callback)(platform_camera_t * , dc1394capture_callback_t , void * );
Packit 713213
Packit 713213
#ifdef HAVE_MACOSX
Packit 713213
    dc1394error_t (*capture_schedule_with_runloop)(platform_camera_t * , CFRunLoopRef , CFStringRef);
Packit 713213
#else
Packit 713213
    dc1394error_t (*capture_schedule_with_runloop)(platform_camera_t *);
Packit 713213
Packit 713213
#endif
Packit 713213
Packit 713213
} platform_dispatch_t;
Packit 713213
Packit 713213
Packit 713213
#endif