BigW Consortium Gitlab

Commit 0b15385e by cnwzhjs

Merge pull request #4 from cnwzhjs/master

Add usermode SDK
parents 69327d33 514c5466
# Compiled Object files
*.slo
*.lo
*.o
# Compiled Dynamic libraries
*.so
*.dylib
# Compiled Static libraries
*.lai
*.la
*.a
# kernel intermedate files
*.o.cmd
*.ko
modules.order
Module.symvers
.tmp_versions
# Compiled Object files
*.slo
*.lo
*.o
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# kernel intermedate files
*.o.cmd
*.ko
modules.order
Module.symvers
.tmp_versions
# Mac os DS_Store
.DS_Store
# Visual Studio user related project files
*.opensdf
*.sdf
*.suo
*.tlog
*.log
*.user
# XCode user related project files
xcshareddata
xcuserdata
# Build result
Debug
Release
build
doc
\ No newline at end of file
/*
* RoboPeak Project
* Copyright 2009 - 2013
*
* RP USB Display
* Protocol Def
*
* Initial Version by Shikai Chen
*/
#pragma once
#define RPUSBDISP_DISP_CHANNEL_MAX_SIZE 64 //64bytes
#define RPUSBDISP_STATUS_CHANNEL_MAX_SIZE 32 //32bytes
// -- Display Packets
#define RPUSBDISP_DISPCMD_NOPE 0
#define RPUSBDISP_DISPCMD_FILL 1
#define RPUSBDISP_DISPCMD_BITBLT 2
#define RPUSBDISP_DISPCMD_RECT 3
#define RPUSBDISP_DISPCMD_COPY_AREA 4
#define RPUSBDISP_DISPCMD_BITBLT_RLE 5
#define RPUSBDISP_OPERATION_COPY 0
#define RPUSBDISP_OPERATION_XOR 1
#define RPUSBDISP_OPERATION_OR 2
#define RPUSBDISP_OPERATION_AND 3
#if defined(_WIN32) || defined(__ICCARM__)
#pragma pack(1)
#endif
#define RPUSBDISP_CMD_MASK (0x3F)
#define RPUSBDISP_CMD_FLAG_CLEARDITY (0x1<<6)
#define RPUSBDISP_CMD_FLAG_START (0x1<<7)
typedef struct _rpusbdisp_disp_packet_header_t {
#if 0
_u8 cmd:6;
_u8 cleardirty:1;
_u8 start:1;
#else
_u8 cmd_flag;
#endif
} __attribute__((packed)) rpusbdisp_disp_packet_header_t;
typedef struct _rpusbdisp_disp_fill_packet_t {
rpusbdisp_disp_packet_header_t header;
_u16 color_565;
} __attribute__((packed)) rpusbdisp_disp_fill_packet_t;
typedef struct _rpusbdisp_disp_bitblt_packet_t {
rpusbdisp_disp_packet_header_t header;
_u16 x;
_u16 y;
_u16 width;
_u16 height;
_u8 operation;
} __attribute__((packed)) rpusbdisp_disp_bitblt_packet_t;
typedef struct _rpusbdisp_disp_fillrect_packet_t {
rpusbdisp_disp_packet_header_t header;
_u16 left;
_u16 top;
_u16 right;
_u16 bottom;
_u16 color_565;
_u8 operation;
} __attribute__((packed)) rpusbdisp_disp_fillrect_packet_t;
typedef struct _rpusbdisp_disp_copyarea_packet_t {
rpusbdisp_disp_packet_header_t header;
_u16 sx;
_u16 sy;
_u16 dx;
_u16 dy;
_u16 width;
_u16 height;
} __attribute__((packed)) rpusbdisp_disp_copyarea_packet_t;
#if defined(_WIN32) || defined(__ICCARM__)
#pragma pack()
#endif
// RLE Packet Define
#define RPUSBDISP_RLE_BLOCKFLAG_COMMON_BIT 0x80
#define RPUSBDISP_RLE_BLOCKFLAG_SIZE_BIT 0x7f
// -- Status Packets
#define RPUSBDISP_STATUS_TYPE_NORMAL 0
#define RPUSBDISP_DISPLAY_STATUS_DIRTY_FLAG 0x80 //a full screen transfer is required
#define RPUSBDISP_TOUCH_STATUS_NO_TOUCH 0
#define RPUSBDISP_TOUCH_STATUS_PRESSED 1
#if defined(_WIN32) || defined(__ICCARM__)
#pragma pack(1)
#endif
typedef struct _rpusbdisp_status_packet_header_t {
_u8 packet_type;
} __attribute__((packed)) rpusbdisp_status_packet_header_t;
typedef struct _rpusbdisp_status_normal_packet_t {
rpusbdisp_status_packet_header_t header;
_u8 display_status;
_u8 touch_status;
_s32 touch_x;
_s32 touch_y;
} __attribute__((packed)) rpusbdisp_status_normal_packet_t;
#if defined(_WIN32) || defined(__ICCARM__)
#pragma pack()
#endif
/*
* RoboPeak Project
* Copyright 2009 - 2013
*
* RP USB Display
* Protocol Def
*
* Initial Version by Shikai Chen
*/
#pragma once
#define RPUSBDISP_DISP_CHANNEL_MAX_SIZE 64 //64bytes
#define RPUSBDISP_STATUS_CHANNEL_MAX_SIZE 32 //32bytes
// -- Display Packets
#define RPUSBDISP_DISPCMD_NOPE 0
#define RPUSBDISP_DISPCMD_FILL 1
#define RPUSBDISP_DISPCMD_BITBLT 2
#define RPUSBDISP_DISPCMD_RECT 3
#define RPUSBDISP_DISPCMD_COPY_AREA 4
#define RPUSBDISP_DISPCMD_BITBLT_RLE 5
#define RPUSBDISP_OPERATION_COPY 0
#define RPUSBDISP_OPERATION_XOR 1
#define RPUSBDISP_OPERATION_OR 2
#define RPUSBDISP_OPERATION_AND 3
#if defined(_WIN32) || defined(__ICCARM__)
#pragma pack(1)
#endif
#define RPUSBDISP_CMD_MASK (0x3F)
#define RPUSBDISP_CMD_FLAG_CLEARDITY (0x1<<6)
#define RPUSBDISP_CMD_FLAG_START (0x1<<7)
typedef struct _rpusbdisp_disp_packet_header_t {
#if 0
_u8 cmd:6;
_u8 cleardirty:1;
_u8 start:1;
#else
_u8 cmd_flag;
#endif
} __attribute__((packed)) rpusbdisp_disp_packet_header_t;
typedef struct _rpusbdisp_disp_fill_packet_t {
rpusbdisp_disp_packet_header_t header;
_u16 color_565;
} __attribute__((packed)) rpusbdisp_disp_fill_packet_t;
typedef struct _rpusbdisp_disp_bitblt_packet_t {
rpusbdisp_disp_packet_header_t header;
_u16 x;
_u16 y;
_u16 width;
_u16 height;
_u8 operation;
} __attribute__((packed)) rpusbdisp_disp_bitblt_packet_t;
typedef struct _rpusbdisp_disp_fillrect_packet_t {
rpusbdisp_disp_packet_header_t header;
_u16 left;
_u16 top;
_u16 right;
_u16 bottom;
_u16 color_565;
_u8 operation;
} __attribute__((packed)) rpusbdisp_disp_fillrect_packet_t;
typedef struct _rpusbdisp_disp_copyarea_packet_t {
rpusbdisp_disp_packet_header_t header;
_u16 sx;
_u16 sy;
_u16 dx;
_u16 dy;
_u16 width;
_u16 height;
} __attribute__((packed)) rpusbdisp_disp_copyarea_packet_t;
#if defined(_WIN32) || defined(__ICCARM__)
#pragma pack()
#endif
// RLE Packet Define
#define RPUSBDISP_RLE_BLOCKFLAG_COMMON_BIT 0x80
#define RPUSBDISP_RLE_BLOCKFLAG_SIZE_BIT 0x7f
// -- Status Packets
#define RPUSBDISP_STATUS_TYPE_NORMAL 0
#define RPUSBDISP_DISPLAY_STATUS_DIRTY_FLAG 0x80 //a full screen transfer is required
#define RPUSBDISP_TOUCH_STATUS_NO_TOUCH 0
#define RPUSBDISP_TOUCH_STATUS_PRESSED 1
#if defined(_WIN32) || defined(__ICCARM__)
#pragma pack(1)
#endif
typedef struct _rpusbdisp_status_packet_header_t {
_u8 packet_type;
} __attribute__((packed)) rpusbdisp_status_packet_header_t;
typedef struct _rpusbdisp_status_normal_packet_t {
rpusbdisp_status_packet_header_t header;
_u8 display_status;
_u8 touch_status;
_s32 touch_x;
_s32 touch_y;
} __attribute__((packed)) rpusbdisp_status_normal_packet_t;
#if defined(_WIN32) || defined(__ICCARM__)
#pragma pack()
#endif
menuconfig FB_RPUSBDISP
tristate "Robopeak USB Display"
depends on FB && m
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
select FB_SYS_FILLRECT
select FB_SYS_COPYAREA
select FB_SYS_IMAGEBLIT
select FB_SYS_FOPS
select FB_MODE_HELPER
select FB_DEFERRED_IO
help
Frame buffer driver for RoboPeak usb display
The module will be called rp_usbdisplay.
config RPUSBDISP_FPS
int "display frame rate"
default 16
depends on FB_RPUSBDISP
help
Specify the frame rate used by the FB_DEFERRED_IO to update
the display content
This value can be overridden by the modprobe
with the fps parameter
menuconfig FB_RPUSBDISP
tristate "Robopeak USB Display"
depends on FB && m
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
select FB_SYS_FILLRECT
select FB_SYS_COPYAREA
select FB_SYS_IMAGEBLIT
select FB_SYS_FOPS
select FB_MODE_HELPER
select FB_DEFERRED_IO
help
Frame buffer driver for RoboPeak usb display
The module will be called rp_usbdisplay.
config RPUSBDISP_FPS
int "display frame rate"
default 16
depends on FB_RPUSBDISP
help
Specify the frame rate used by the FB_DEFERRED_IO to update
the display content
This value can be overridden by the modprobe
with the fps parameter
######################################
#
# RoboPeak USB LCD Display Linux Driver
#
# Copyright (C) 2009 - 2013 RoboPeak Team
# This file is licensed under the GPL. See LICENSE in the package.
#
# http://www.robopeak.net
#
# Author Shikai Chen
#
######################################
DRIVER_NAME := rp_usbdisplay
EXTRA_CFLAGS += -I$(PWD)/src -I$(PWD)/../common
obj-$(CONFIG_FB_RPUSBDISP) := $(DRIVER_NAME).o
DRIVER_FILES := src/main.o \
src/usbhandlers.o \
src/fbhandlers.o \
src/touchhandlers.o
$(DRIVER_NAME)-objs:= $(DRIVER_FILES)
######################################
#
# RoboPeak USB LCD Display Linux Driver
#
# Copyright (C) 2009 - 2013 RoboPeak Team
# This file is licensed under the GPL. See LICENSE in the package.
#
# http://www.robopeak.net
#
# Author Shikai Chen
#
######################################
DRIVER_NAME := rp_usbdisplay
EXTRA_CFLAGS += -I$(PWD)/src -I$(PWD)/../common
obj-$(CONFIG_FB_RPUSBDISP) := $(DRIVER_NAME).o
DRIVER_FILES := src/main.o \
src/usbhandlers.o \
src/fbhandlers.o \
src/touchhandlers.o
$(DRIVER_NAME)-objs:= $(DRIVER_FILES)
/*
* RoboPeak USB LCD Display Linux Driver
*
* Copyright (C) 2009 - 2013 RoboPeak Team
* This file is licensed under the GPL. See LICENSE in the package.
*
* http://www.robopeak.net
*
* Author Shikai Chen
*
* ----------------------------------------------------------------------
* Common Includes
*
*/
#ifndef _COMMON_INCLUDE_H
#define _COMMON_INCLUDE_H
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/errno.h>
#include <linux/mutex.h>
#include <asm/uaccess.h>
#include <linux/usb.h>
#include <linux/list.h>
#include <linux/kthread.h>
#include <linux/platform_device.h>
#include <linux/string.h>
#include <linux/delay.h>
#include <linux/fb.h>
#include <linux/mm.h>
#include <linux/vmalloc.h>
#include <linux/input.h>
#include "inc/types.h"
#include "inc/drvconf.h"
#include "inc/devconf.h"
#include "inc/protocol.h"
extern int fps;
// object predefine
struct rpusbdisp_dev;
#ifndef err
#define err(format,arg...) printk(KERN_ERR format, ## arg)
#endif
#ifndef info
#define info(format,arg...) printk(KERN_ERR format, ## arg)
#endif
#endif
/*
* RoboPeak USB LCD Display Linux Driver
*
* Copyright (C) 2009 - 2013 RoboPeak Team
* This file is licensed under the GPL. See LICENSE in the package.
*
* http://www.robopeak.net
*
* Author Shikai Chen
*
* ----------------------------------------------------------------------
* Common Includes
*
*/
#ifndef _COMMON_INCLUDE_H
#define _COMMON_INCLUDE_H
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/errno.h>
#include <linux/mutex.h>
#include <asm/uaccess.h>
#include <linux/usb.h>
#include <linux/list.h>
#include <linux/kthread.h>
#include <linux/platform_device.h>
#include <linux/string.h>
#include <linux/delay.h>
#include <linux/fb.h>
#include <linux/mm.h>
#include <linux/vmalloc.h>
#include <linux/input.h>
#include "inc/types.h"
#include "inc/drvconf.h"
#include "inc/devconf.h"
#include "inc/protocol.h"
extern int fps;
// object predefine
struct rpusbdisp_dev;
#ifndef err
#define err(format,arg...) printk(KERN_ERR format, ## arg)
#endif
#ifndef info
#define info(format,arg...) printk(KERN_ERR format, ## arg)
#endif
#endif
/*
* RoboPeak USB LCD Display Linux Driver
*
* Copyright (C) 2009 - 2013 RoboPeak Team
* This file is licensed under the GPL. See LICENSE in the package.
*
* http://www.robopeak.net
*
* Author Shikai Chen
*
* ---------------------------------------------------
* Device Configurations
*/
#ifndef _DEVICE_CONF_H
#define _DEVICE_CONF_H
#define RP_DISP_DRIVER_NAME "rp-usbdisp"
#define RP_DISP_USB_VENDOR_ID 0xFCCF // RP Pseudo vendor id
#define RP_DISP_USB_PRODUCT_ID 0xA001
#define RP_DISP_DEFAULT_HEIGHT 240
#define RP_DISP_DEFAULT_WIDTH 320
#define RP_DISP_DEFAULT_PIXEL_BITS 16
typedef _u16 pixel_type_t;
#define RP_DISP_FEATURE_RLE_FWVERSION 0x0104
#endif
/*
* RoboPeak USB LCD Display Linux Driver
*
* Copyright (C) 2009 - 2013 RoboPeak Team
* This file is licensed under the GPL. See LICENSE in the package.
*
* http://www.robopeak.net
*
* Author Shikai Chen
*
* ---------------------------------------------------
* Device Configurations
*/
#ifndef _DEVICE_CONF_H
#define _DEVICE_CONF_H
#define RP_DISP_DRIVER_NAME "rp-usbdisp"
#define RP_DISP_USB_VENDOR_ID 0xFCCF // RP Pseudo vendor id
#define RP_DISP_USB_PRODUCT_ID 0xA001
#define RP_DISP_DEFAULT_HEIGHT 240
#define RP_DISP_DEFAULT_WIDTH 320
#define RP_DISP_DEFAULT_PIXEL_BITS 16
typedef _u16 pixel_type_t;
#define RP_DISP_FEATURE_RLE_FWVERSION 0x0104
#endif
/*
* RoboPeak USB LCD Display Linux Driver
*
* Copyright (C) 2009 - 2013 RoboPeak Team
* This file is licensed under the GPL. See LICENSE in the package.
*
* http://www.robopeak.net
*
* Author Shikai Chen
*
* ---------------------------------------------------
* Driver Configurations
*/
#ifndef _DRIVER_CONF_H
#define _DRIVER_CONF_H
#define DRIVER_LICENSE_INFO "GPL"
#define DRIVER_VERSION "RoboPeak USB Display Driver Version 1.00"
#define RPUSBDISP_MINOR 300
#define RPUSBDISP_STATUS_QUERY_RETRY_COUNT 4
#define RPUSBDISP_MAX_TRANSFER_SIZE (PAGE_SIZE*16 - 512)
#define RPUSBDISP_MAX_TRANSFER_TICKETS_COUNT 10
#endif
/*
* RoboPeak USB LCD Display Linux Driver
*
* Copyright (C) 2009 - 2013 RoboPeak Team
* This file is licensed under the GPL. See LICENSE in the package.
*
* http://www.robopeak.net
*
* Author Shikai Chen
*
* ---------------------------------------------------
* Driver Configurations
*/
#ifndef _DRIVER_CONF_H
#define _DRIVER_CONF_H
#define DRIVER_LICENSE_INFO "GPL"
#define DRIVER_VERSION "RoboPeak USB Display Driver Version 1.00"
#define RPUSBDISP_MINOR 300
#define RPUSBDISP_STATUS_QUERY_RETRY_COUNT 4
#define RPUSBDISP_MAX_TRANSFER_SIZE (PAGE_SIZE*16 - 512)
#define RPUSBDISP_MAX_TRANSFER_TICKETS_COUNT 10
#endif
/*
* RoboPeak USB LCD Display Linux Driver
*
* Copyright (C) 2009 - 2013 RoboPeak Team
* This file is licensed under the GPL. See LICENSE in the package.
*
* http://www.robopeak.net
*
* Author Shikai Chen
*
*/
#include "inc/common.h"
#include "inc/usbhandlers.h"
#include "inc/fbhandlers.h"
#include "inc/touchhandlers.h"
#if 0
static const struct file_operations lcd_fops = {
.owner = THIS_MODULE,
.read = lcd_read,
.write = lcd_write,
.open = lcd_open,
.unlocked_ioctl = lcd_ioctl,
.release = lcd_release,
.llseek = noop_llseek,
};
/*
* usb class driver info in order to get a minor number from the usb core,
* and to have the device registered with the driver core
*/
static struct usb_class_driver lcd_class = {
.name = "usbdisp%d",
.fops = &lcd_fops,
.minor_base = USBLCD_MINOR,
};
#endif
int fps = 0;
module_param(fps,int,0);
MODULE_PARM_DESC(fps,"Specify the frame rate used to refresh the display (override kernel config)");
static int __init usb_disp_init(void)
{
int result;
if (fps == 0) {
/* frame rate is not set through the modprobe command. Use the value defined in the .config */
#ifdef CONFIG_RPUSBDISP_FPS
fps = CONFIG_RPUSBDISP_FPS;
#else
/* Just in case for background compliance. Maybe the Kconfig file of the driver is not integrated */
fps = 16;
#endif
}
do {
result = register_touch_handler();
if (result) {
err("touch_handler failed. Error number %d", result);
break;
}
result = register_fb_handlers();
if (result) {
err("fb handler register failed. Error number %d", result);
break;
}
result = register_usb_handlers();
if (result) {
err("usb_register failed. Error number %d", result);
break;
}
}while(0);
return result;
}
static void __exit usb_disp_exit(void)
{
unregister_usb_handlers();
unregister_fb_handlers();
unregister_touch_handler();
}
module_init(usb_disp_init);
module_exit(usb_disp_exit);
MODULE_AUTHOR("Shikai Chen <csk@live.com>");
MODULE_DESCRIPTION(DRIVER_VERSION);
MODULE_LICENSE(DRIVER_LICENSE_INFO);
/*
* RoboPeak USB LCD Display Linux Driver
*
* Copyright (C) 2009 - 2013 RoboPeak Team
* This file is licensed under the GPL. See LICENSE in the package.
*
* http://www.robopeak.net
*
* Author Shikai Chen
*
*/
#include "inc/common.h"
#include "inc/usbhandlers.h"
#include "inc/fbhandlers.h"
#include "inc/touchhandlers.h"
#if 0
static const struct file_operations lcd_fops = {
.owner = THIS_MODULE,
.read = lcd_read,
.write = lcd_write,
.open = lcd_open,
.unlocked_ioctl = lcd_ioctl,
.release = lcd_release,
.llseek = noop_llseek,
};
/*
* usb class driver info in order to get a minor number from the usb core,
* and to have the device registered with the driver core
*/
static struct usb_class_driver lcd_class = {
.name = "usbdisp%d",
.fops = &lcd_fops,
.minor_base = USBLCD_MINOR,
};
#endif
int fps = 0;
module_param(fps,int,0);
MODULE_PARM_DESC(fps,"Specify the frame rate used to refresh the display (override kernel config)");
static int __init usb_disp_init(void)
{
int result;
if (fps == 0) {
/* frame rate is not set through the modprobe command. Use the value defined in the .config */
#ifdef CONFIG_RPUSBDISP_FPS
fps = CONFIG_RPUSBDISP_FPS;
#else
/* Just in case for background compliance. Maybe the Kconfig file of the driver is not integrated */
fps = 16;
#endif
}
do {
result = register_touch_handler();
if (result) {
err("touch_handler failed. Error number %d", result);
break;
}
result = register_fb_handlers();
if (result) {
err("fb handler register failed. Error number %d", result);
break;
}
result = register_usb_handlers();
if (result) {
err("usb_register failed. Error number %d", result);
break;
}
}while(0);
return result;
}
static void __exit usb_disp_exit(void)
{
unregister_usb_handlers();
unregister_fb_handlers();
unregister_touch_handler();
}
module_init(usb_disp_init);
module_exit(usb_disp_exit);
MODULE_AUTHOR("Shikai Chen <csk@live.com>");
MODULE_DESCRIPTION(DRIVER_VERSION);
MODULE_LICENSE(DRIVER_LICENSE_INFO);
Win32
Release
Debug
*.ipch
PREFIX:=/usr/lib/
CPPFLAGS:=--std c++11
INFRA_SOURCE=$(wildcard infra/src/util/*.cc)
INFRA_OBJECT=$(patsubst %.cc,%.o,$(INFRA_SOURCE))
LIBUSBX_WRAP_SOURCE=$(wildcard deps-wraps/libusbx_wrap/src/*.cc)
LIBUSBX_WRAP_OBJ=$(patsubst %.cc,%.o,${LIBUSBX_WRAP_SOURCE})
LIBRPUSBDISP_DRV_SOURCE=$(wildcard rpusbdisp-drv/src/*.cc)
LIBRPUSBDISP_DRV_OBJ=$(patsubst %.cc,%.o,${LIBRPUSBDISP_DRV_SOURCE})
RPUSBDISPDEMO_SRC=$(wildcard demo/src/*.cc)
RPUSBDISPDEMO_OBJ=$(patsubst %.cc,%.o,${RPUSBDISPDEMO_SRC})
.phony: all clean distclean document
all: build/rpusbdispdemo
clean:
rm -rf build
distclean:
rm -rf build
find . -name "*.o" | xargs rm -rf
build/libinfra.a: $(INFRA_OBJECT)
mkdir -p build
ar rc $@ $(INFRA_OBJECT)
$(INFRA_OBJECT): $(INFRA_SOURCE)
g++ -c -o $@ $(CPPFLAGS) -Iinfra/include $(patsubst %.o,%.cc,$@)
build/libdeps_wraps.a: build/deps_wraps/libusbxwrap.a
cp $^ $@
build/deps_wraps/libusbxwrap.a: $(LIBUSBX_WRAP_OBJ)
mkdir -p build/deps_wraps
ar rc $@ $(LIBUSBX_WRAP_OBJ)
$(LIBUSBX_WRAP_OBJ):$(LIBUSBX_WRAP_SOURCE)
g++ -c -o $@ $(CPPFLAGS) -Iinfra/include -Ideps-wraps/libusbx_wrap/include -I/usr/local/include/libusb-1.0 -I/usr/include/libusb-1.0 $(patsubst %.o,%.cc,$@)
build/librpusbdisp-drv.a: $(LIBRPUSBDISP_DRV_OBJ)
mkdir -p build
ar rc $@ $(LIBRPUSBDISP_DRV_OBJ)
$(LIBRPUSBDISP_DRV_OBJ): $(LIBRPUSBDISP_DRV_SOURCE)
g++ -c -o $@ $(CPPFLAGS) -Iinfra/include -Ideps-wraps/libusbx_wrap/include -Irpusbdisp-drv/include $(patsubst %.o,%.cc,$@)
build/rpusbdispdemo: ${RPUSBDISPDEMO_OBJ} build/libinfra.a build/libdeps_wraps.a build/librpusbdisp-drv.a
g++ -o $@ ${RPUSBDISPDEMO_OBJ} $(CPPFLAGS) -Lbuild -L/usr/local/lib -L/usr/lib -lrpusbdisp-drv -ldeps_wraps -linfra -lusb-1.0
${RPUSBDISPDEMO_OBJ}: ${RPUSBDISPDEMO_SRC}
g++ -c -o $@ $(CPPFLAGS) -Iinfra/include -Ideps-wraps/libusbx_wrap/include -Irpusbdisp-drv/include $(patsubst %.o,%.cc,$@)
document:
doxygen Doxygen
# Introduction
RoboPeak Mini USB Display is a low cost display module with USB connectivity for
data transmission and designed by RoboPeak Team. It can be convenient used as a
Human Interactive Interface device for various embedded devices and platforms.
# Resources
We provides documents, precompiled ROMs and any related materials at the product
page of our document wiki:
http://www.robopeak.com/docs/doku.php?id=product-rpusbdisp
# User Mode SDK
User mode sdk is a set of libraries and APIs used to enable RoboPeak Mini USB
Display without flashing the firmware of your device or installing driver (Driver
is still needed by Windows platform).
If you are using display with Windows, OS X, please use this SDK.
If you don't or not be allowed to recompile the kernel or install kernel module, please use this SDK.
If you want more control over the display, please use this SDK.
# Build
We provided makefiles as well as IDE project files to easily build the SDK.
## Windows
Please ensure you have Visual Studio 2013 (or Express) installed. Just open
the project file located at workspaces/vs2013, and build like any other visual
studio projects.
After build please copy the libusb-1.0.dll from workspace/vs2013/Win32/[Debug|Release]/dll to workspace/vs2013/rpusbdisp_sdk/[Debug|Release]
On Windows, you need to install a libusb driver for RoboPeak Mini USB Display device.
The simplest way is use zadig's install which is located [here](http://zadig.zkeo.ie), you can use either libusb-win32 driver or libusbk driver, Microsoft WinUSB driver will not work.
## OS X (Mac OS X)
Just open the xcode project in workspaces/xcode with latest Xcode and build.
## Linux
Just run make in this directory, to build the SDK. We use some C++ 11 features
(mutex, thread, functional, memory, and etc.), so you may need GCC 4.8 to build
this SDK.
# APIs
Both C++ and C APIs are provided. You may choose to your own flavour. They provide
the same features.
## C++ APIs
### Headers
```c++
#include <rp/infra_config.h> // The configuration of infra
#include <rp/drivers/display/rpusbdisp/rpusbdisp.h> // The RoboPeak USB Display
// In order to simplify the sample, we use the following namesapces
using namespace std;
using namespace rp::deps::libusbx_wrap;
using namespace rp::drivers::display;
```
### Open Device
Devices need to be open before use.
#### Easy Way
You can just use a shortcut to open the first
available device connected to your computer (this is very useful if you only want
to use one display):
```c++
shared_ptr<RoboPeakUsbDisplayDevice> device = RoboPeakUsbDisplayDevice::openFirstDevice();
```
#### More Flexible Way
You can also enumerate devices and open device by yourself
```c++
// Enumerate devices
vector<shared_ptr<Device>> usbDevices = RoboPeakUsbDisplayDevice::enumDevices();
shared_ptr<Device> usbDevice = pick_device(usbDevices);
shared_ptr<RoboPeakUsbDisplayDevice> device = make_shared<RoboPeakUsbDisplayDevice>(usbDevice->openDevice());
```
### Device Operation APIs
Please refer to the rpusbdisp-drv/include/rp/drivers/display/rpusbdisp/rpusbdisp.h for all paint APIs provided by the SDK
## C APIs
### Headers
```c
#include <rp/infra_config.h>
#include <rp/drivers/display/rpusbdisp/c_interfaces.h>
```
The usage of C APIs is similar to the C++ API, please refer to the rpusbdisp-drv/include/rp/drivers/display/rpusbdisp/c_intefaces.h for detailed information
# Demo
A demo is included in this SDK to demonstrate the usage of the SDK which is organised in the demo directory
//
// main.cc
// RoboPeak Mini USB Display SDK demo
//
// Created by Tony Huang on 12/7/13.
// Copyright (c) 2013 RoboPeak.com. All rights reserved.
//
#include <rp/infra_config.h>
#include <memory>
#include <vector>
#include <stdio.h>
#include <stdlib.h>
#ifdef RP_INFRA_PLATFORM_WINDOWS
# include <io.h>
# include <process.h>
#else
# include <unistd.h>
#endif
#include <math.h>
#include <stdlib.h>
#include <rp/infra_config.h>
#include <rp/deps/libusbx_wrap/libusbx_wrap.h>
#include <rp/drivers/display/rpusbdisp/rpusbdisp.h>
#include <rp/drivers/display/rpusbdisp/c_interface.h>
#undef USE_C_INTERFACE
#ifndef USE_C_INTERFACE
using namespace std;
using namespace rp::util;
using namespace rp::deps::libusbx_wrap;
using namespace rp::drivers::display;
static void onStatusUpdated(const rpusbdisp_status_normal_packet_t& status) {
printf("Status: %02X, Touch: %02X, X: %d, Y: %d\n", status.display_status, status.touch_status, status.touch_x, status.touch_y);
}
static int cPlusPlusInterfaceDemo(void* framebuffer) {
try {
shared_ptr<RoboPeakUsbDisplayDevice> display = RoboPeakUsbDisplayDevice::openFirstDevice();
if (!display) {
fprintf(stderr, "No display found\n");
return -1;
}
printf("Display with S/N %s is chosen\n", display->getDevice()->getSerialNumber().c_str());
display->setStatusUpdatedCallback(onStatusUpdated);
display->enable();
this_thread::sleep_for(chrono::seconds(2));
while (display->isAlive()) {
display->bitblt(0, 0, 320, 240, RoboPeakUsbDisplayBitOperationCopy, framebuffer);
this_thread::sleep_for(chrono::seconds(2));
for (int i = 0; i < 100; i++) {
uint16_t x = rand()%320;
uint16_t y = rand()%240;
uint16_t width = 1+(rand()%320);
uint16_t height = 1+(rand()%240);
uint16_t color = rand()&0xffffu;
RoboPeakUsbDisplayBitOperation bitOperation = (RoboPeakUsbDisplayBitOperation)(rand()%4);
display->fillrect(x, y, x + width, y + height, color, bitOperation);
}
this_thread::sleep_for(chrono::seconds(2));
display->copyArea(0, 0, 160, 120, 160, 120);
this_thread::sleep_for(chrono::seconds(2));
display->fill(0xcb20u);
this_thread::sleep_for(chrono::seconds(2));
}
fprintf(stderr, "Display is disconnected\n");
} catch (Exception& e) {
e.printToConsole();
return e.errorCode();
}
return 0;
}
#else
static void cInterfaceStatusUpdatedCallback(rpusbdisp_status_normal_packet_t* status, void* closure) {
printf("Status: %02X, Touch: %02X, X: %d, Y: %d\n", status->display_status, status->touch_status, status->touch_x, status->touch_y);
}
static int cInterfaceDemo(void* framebuffer) {
RoboPeakUsbDisplayDeviceRef device;
if (!RoboPeakUsbDisplayDriverIsSuccess(RoboPeakUsbDisplayOpenFirstDevice(&device))) {
return -1;
}
if (!device) {
fprintf(stderr, "No display found\n");
return -1;
}
if (!RoboPeakUsbDisplayDriverIsSuccess(RoboPeakUsbDisplaySetStatusUpdatedCallback(device, cInterfaceStatusUpdatedCallback, 0))) {
RoboPeakUsbDisplayDisposeDevice(device);
return -1;
}
if (!RoboPeakUsbDisplayDriverIsSuccess(RoboPeakUsbDisplayEnable(device))) {
RoboPeakUsbDisplayDisposeDevice(device);
return -1;
}
while (true) {
bool alive = false;
if (!RoboPeakUsbDisplayDriverIsSuccess(RoboPeakUsbDisplayIsAlive(device, &alive))) {
break;
}
if (!alive) {
break;
}
if (!RoboPeakUsbDisplayDriverIsSuccess(RoboPeakUsbDisplayBitblt(device, 0, 0, 320, 240, RoboPeakUsbDisplayBitOperationCopy, framebuffer))) {
break;
}
sleep(2);
for (int i = 0; i < 100; i++) {
uint16_t x = rand()%320;
uint16_t y = rand()%240;
uint16_t width = 1+(rand()%320);
uint16_t height = 1+(rand()%240);
uint16_t color = rand()&0xffffu;
RoboPeakUsbDisplayBitOperation bitOperation = (RoboPeakUsbDisplayBitOperation)(rand()%4);
if (!RoboPeakUsbDisplayDriverIsSuccess(RoboPeakUsbDisplayFillRect(device, x, y, x + width, y + height, color, bitOperation))) {
break;
}
}
sleep(2);
if (!RoboPeakUsbDisplayDriverIsSuccess(RoboPeakUsbDisplayCopyArea(device, 0, 0, 160, 120, 160, 120))) {
break;
}
sleep(2);
if (!RoboPeakUsbDisplayDriverIsSuccess(RoboPeakUsbDisplayFill(device, 0xcb20u))) {
break;
}
sleep(2);
}
RoboPeakUsbDisplayDisposeDevice(device);
fprintf(stderr, "Display is disconnected\n");
return 0;
}
#endif
int main(void) {
uint16_t* framebuffer = (uint16_t*)malloc(320*240*2);
uint16_t* p = framebuffer;
for (int y = 0; y < 240; y++) {
for (int x = 0; x < 320; x++, p++) {
if (x == 8 || x == 311 || y == 8 || y == 231) {
*p = 0xffff;
} else {
*p = 0xcb20u;
}
}
}
#ifndef USE_C_INTERFACE
int result = cPlusPlusInterfaceDemo(framebuffer);
#else
int result = cInterfaceDemo(framebuffer);
#endif
free(framebuffer);
return result;
}
//
// context.h
// A C++ wrap for libusbx context
//
// Created by Tony Huang on 12/7/13.
// Copyright (c) 2013 RoboPeak.com. All rights reserved.
//
#pragma once
#include <rp/util/noncopyable.h>
#include <memory>
#include <vector>
namespace rp { namespace deps { namespace libusbx_wrap {
class ContextImpl;
class DeviceList;
class Device;
class Pipeline;
class PipelineImpl;
class Context : public std::enable_shared_from_this<Context>, public rp::util::noncopyable {
private:
Context();
public:
~Context();
std::shared_ptr<DeviceList> getDeviceList();
std::vector<std::shared_ptr<Device> > lookupDevices(uint16_t vid, uint16_t pid);
std::shared_ptr<Pipeline> summonPipeline();
void poll();
static std::shared_ptr<Context> defaultContext();
private:
static void createDefaultContext_();
std::unique_ptr<ContextImpl> impl_;
};
class Pipeline : public std::enable_shared_from_this<Pipeline>, public rp::util::noncopyable {
public:
Pipeline(std::shared_ptr<Context> context);
~Pipeline();
void start();
private:
std::unique_ptr<PipelineImpl> impl_;
};
}}}
\ No newline at end of file
//
// device.h
// A usb device in libusb
//
// Created by Tony Huang on 12/7/13.
// Copyright (c) 2013 RoboPeak.com. All rights reserved.
//
#pragma once
#include <rp/util/noncopyable.h>
#include <memory>
extern "C" {
struct libusb_device;
}
namespace rp { namespace deps { namespace libusbx_wrap {
class DeviceHandle;
class DeviceImpl;
class Device : public std::enable_shared_from_this<Device>, public rp::util::noncopyable {
public:
Device(libusb_device*);
~Device();
std::shared_ptr<DeviceHandle> open();
uint16_t getVid();
uint16_t getPid();
uint8_t getNameIndex();
uint8_t getSerialNumberIndex();
int getMaxPacketSize(uint8_t endpoint);
uint16_t getFirmwareVersion();
private:
std::unique_ptr<DeviceImpl> impl_;
};
}}}
\ No newline at end of file
//
// device_handle.h
// Device handle
//
// Created by Tony Huang on 12/9/13.
// Copyright (c) 2013 RoboPeak.com. All rights reserved.
//
#pragma once
#include <string>
#include <memory>
#include <rp/util/noncopyable.h>
#include <rp/deps/libusbx_wrap/enums.h>
extern "C" {
struct libusb_device_handle;
}
namespace rp { namespace deps { namespace libusbx_wrap {
class DeviceHandleImpl;
class Device;
class Transfer;
class DeviceHandle : public std::enable_shared_from_this<DeviceHandle>, public rp::util::noncopyable {
public:
DeviceHandle(std::shared_ptr<Device> device, libusb_device_handle* deviceHandle);
~DeviceHandle();
std::string getName();
std::string getSerialNumber();
void claimInterface(int usbInterface);
void releaseInterface(int usbInterface);
void clearEndpointHalt(uint8_t endpoint);
std::shared_ptr<Device> getDevice();
std::shared_ptr<Transfer> allocTransfer(EndpointDirection dir, EndpointTransferType type, uint8_t endpoint);
private:
std::unique_ptr<DeviceHandleImpl> impl_;
};
}}}
//
// device_list.h
// Device list
//
// Created by Tony Huang on 12/7/13.
// Copyright (c) 2013 RoboPeak.com. All rights reserved.
//
#pragma once
#include <rp/util/noncopyable.h>
#include <memory>
extern "C" {
struct libusb_device;
}
namespace rp { namespace deps { namespace libusbx_wrap {
class DeviceListImpl;
class Device;
class DeviceList : public rp::util::noncopyable {
public:
DeviceList(size_t, libusb_device**);
~DeviceList();
std::shared_ptr<Device> getDevice(size_t index);
size_t count() const;
private:
std::unique_ptr<DeviceListImpl> impl_;
};
}}}
//
// enums.h
// rpusbdispsdk
//
// Created by Tony Huang on 12/10/13.
// Copyright (c) 2013 RoboPeak.com. All rights reserved.
//
#pragma once
namespace rp { namespace deps { namespace libusbx_wrap {
enum EndpointDirection {
EndpointDirectionIn = 0x80,
EndpointDirectionOut = 0x00
};
enum EndpointTransferType {
EndpointTransferTypeControl = 0,
EndpointTransferTypeIsochronous = 1,
EndpointTransferTypeBulk = 2,
EndpointTransferTypeInterrupt = 3
};
enum TransferStatus {
TransferStatusUnknown = 0,
TransferStatusCompleted = 1,
TransferStatusCancelled = 2,
TransferStatusError = 3,
TransferStatusTimeout = 4,
TransferStatusStall = 5,
TransferStatusDeviceError = 6,
TransferStatusOverflow = 7
};
}}}
//
// libusbx_wrap.h
// Overall header file to make it easier to use
//
// Created by Tony Huang on 12/11/13.
// Copyright (c) 2013 RoboPeak.com. All rights reserved.
//
#pragma once
#include <rp/deps/libusbx_wrap/context.h>
#include <rp/deps/libusbx_wrap/device_list.h>
#include <rp/deps/libusbx_wrap/device.h>
#include <rp/deps/libusbx_wrap/device_handle.h>
#include <rp/deps/libusbx_wrap/scopes.h>
#include <rp/deps/libusbx_wrap/transfer.h>
#include <rp/util/buffer.h>
#include <rp/util/scopes.h>
#include <rp/util/exception.h>
namespace rp { namespace deps { namespace libusbx_wrap {
template<typename T>
static T decodeAs(std::shared_ptr<Transfer> transfer) {
std::shared_ptr<rp::util::Buffer> transferBuffer(new rp::util::Buffer(*transfer->getTransferBuffer()));
rp::util::BufferLockScope lockScope(transferBuffer);
T output;
memcpy(&output, lockScope.getBuffer(), sizeof(T));
return output;
}
}}}
\ No newline at end of file
//
// scopes.h
// Scopes
//
// Created by Tony Huang on 12/10/13.
// Copyright (c) 2013 RoboPeak.com. All rights reserved.
//
#pragma once
#include <memory>
#include <rp/util/noncopyable.h>
namespace rp { namespace deps { namespace libusbx_wrap {
class DeviceHandle;
class InterfaceScopeImpl;
class InterfaceScope : public rp::util::noncopyable {
public:
InterfaceScope(std::shared_ptr<DeviceHandle> device, int usbInterface);
~InterfaceScope();
private:
std::unique_ptr<InterfaceScopeImpl> impl_;
};
}}}
//
// transfer.h
// Wrap of libusb_transfer* apis
//
// Created by Tony Huang on 12/10/13.
// Copyright (c) 2013 RoboPeak.com. All rights reserved.
//
#pragma once
#include <memory>
#include <rp/util/noncopyable.h>
#include <rp/deps/libusbx_wrap/enums.h>
extern "C" {
struct libusb_transfer;
}
namespace rp { namespace util {
class Buffer;
}}
namespace rp { namespace deps { namespace libusbx_wrap {
class DeviceHandle;
class TransferImpl;
class Transfer : public rp::util::noncopyable {
public:
Transfer(std::shared_ptr<DeviceHandle> deviceHandle, libusb_transfer* transfer);
~Transfer();
void setTransferBuffer(std::shared_ptr<rp::util::Buffer> buffer);
std::shared_ptr<rp::util::Buffer> getTransferBuffer();
void submit();
void waitForCompletion();
TransferStatus getStatus();
private:
std::shared_ptr<TransferImpl> impl_;
};
}}}
//
// context.cc
// rpusbdispsdk
//
// Created by Tony Huang on 12/7/13.
// Copyright (c) 2013 RoboPeak.com. All rights reserved.
//
#include <mutex>
#include <atomic>
#include <thread>
#include <functional>
#include <libusb.h>
#include <rp/deps/libusbx_wrap/context.h>
#include <rp/deps/libusbx_wrap/device_list.h>
#include <rp/deps/libusbx_wrap/device.h>
#include <rp/util/exception.h>
using namespace std;
using namespace rp::util;
namespace rp { namespace deps { namespace libusbx_wrap {
class ContextImpl : public noncopyable {
public:
ContextImpl() {
ctx_ = 0;
int result = libusb_init(&ctx_);
if (result) {
throw Exception(result);
}
}
~ContextImpl() {
libusb_exit(ctx_);
ctx_ = 0;
};
shared_ptr<DeviceList> getDeviceList() {
libusb_device** devices;
ssize_t count = libusb_get_device_list(ctx_, &devices);
if (count < 0) {
throw Exception((int)count);
}
return shared_ptr<DeviceList>(new DeviceList((size_t)count, devices));
}
vector<shared_ptr<Device> > lookupDevices(uint16_t vid, uint16_t pid) {
shared_ptr<DeviceList> devices = this->getDeviceList();
vector<shared_ptr<Device>> output;
for (size_t i = 0; i < devices->count(); i++) {
shared_ptr<Device> device = devices->getDevice(i);
if (device->getVid() == vid && device->getPid() == pid) {
output.push_back(device);
}
}
return output;
}
shared_ptr<Pipeline> summonPipeline(shared_ptr<Context> context) {
lock_guard<mutex> guard(pipelineMutex_);
shared_ptr<Pipeline> pipeline = pipeline_.lock();
if (!pipeline) {
shared_ptr<Pipeline> pipeline(new Pipeline(context));
pipeline_ = pipeline;
return pipeline;
} else {
return pipeline;
}
}
void poll() {
timeval timeout;
timeout.tv_sec = 1;
timeout.tv_usec = 0;
if (libusb_handle_events_timeout(ctx_, &timeout)) {
std::this_thread::sleep_for(chrono::microseconds(100));
}
}
private:
mutex pipelineMutex_;
weak_ptr<Pipeline> pipeline_;
libusb_context* ctx_;
};
static shared_ptr<Context> context_;
static once_flag onceFlag_;
Context::Context() : impl_(new ContextImpl()) {}
Context::~Context() {}
shared_ptr<DeviceList> Context::getDeviceList() {
return impl_->getDeviceList();
}
vector<shared_ptr<Device>> Context::lookupDevices(uint16_t vid, uint16_t pid) {
return impl_->lookupDevices(vid, pid);
}
shared_ptr<Pipeline> Context::summonPipeline() {
return impl_->summonPipeline(shared_from_this());
}
void Context::poll() {
impl_->poll();
}
void Context::createDefaultContext_() {
context_ = shared_ptr<Context>(new Context());
}
shared_ptr<Context> Context::defaultContext() {
call_once(onceFlag_, &Context::createDefaultContext_);
return context_;
}
class PipelineImpl : public noncopyable {
public:
PipelineImpl(shared_ptr<Context> context) : context_(context), working_(false) {}
~PipelineImpl() {
if (thread_.joinable()) {
thread_.join();
}
}
void start() {
working_.store(true);
call_once(onceFlag_, bind(&PipelineImpl::startThread_, this));
}
void stop() {
working_.store(false);
}
void workThread() {
while (working_.load()) {
context_->poll();
}
}
private:
void startThread_() {
this->thread_ = move(thread(bind(&PipelineImpl::workThread, this)));
}
once_flag onceFlag_;
thread thread_;
atomic<bool> working_;
shared_ptr<Context> context_;
};
Pipeline::Pipeline(shared_ptr<Context> context) : impl_(new PipelineImpl(context)) {}
Pipeline::~Pipeline() {
impl_->stop();
}
void Pipeline::start() {
impl_->start();
}
}}}
\ No newline at end of file
//
// device.cc
// rpusbdispsdk
//
// Created by Tony Huang on 12/7/13.
// Copyright (c) 2013 RoboPeak.com. All rights reserved.
//
#include <libusb.h>
#include <rp/deps/libusbx_wrap/device.h>
#include <rp/deps/libusbx_wrap/device_handle.h>
#include <rp/util/exception.h>
using namespace std;
using namespace rp::util;
namespace rp { namespace deps { namespace libusbx_wrap {
class DeviceImpl : public rp::util::noncopyable {
public:
DeviceImpl(libusb_device* device) : device_(device) {
libusb_ref_device(device);
}
~DeviceImpl() {
libusb_unref_device(device_);
device_ = nullptr;
}
libusb_device_handle* open() {
libusb_device_handle* handle;
int result = libusb_open(device_, &handle);
if (result < 0) {
throw Exception(result);
}
return handle;
}
uint16_t getVid() {
return getDescriptor().idVendor;
}
uint16_t getPid() {
return getDescriptor().idProduct;
}
uint8_t getNameIndex() {
return getDescriptor().iProduct;
}
uint8_t getSerialNumberIndex() {
return getDescriptor().iSerialNumber;
}
uint16_t getFirmwareVersion() {
return getDescriptor().bcdDevice;
}
int getMaxPacketSize(uint8_t endpoint) {
return libusb_get_max_packet_size(device_, endpoint);
}
private:
libusb_device_descriptor getDescriptor() {
libusb_device_descriptor descriptor;
int result = libusb_get_device_descriptor(device_, &descriptor);
if (result) {
throw Exception(result);
}
return descriptor;
}
libusb_device* device_;
};
Device::Device(libusb_device* device) : impl_(new DeviceImpl(device)) {}
Device::~Device() {}
uint16_t Device::getVid() {
return impl_->getVid();
}
uint16_t Device::getPid() {
return impl_->getPid();
}
uint8_t Device::getNameIndex() {
return impl_->getNameIndex();
}
uint8_t Device::getSerialNumberIndex() {
return impl_->getSerialNumberIndex();
}
int Device::getMaxPacketSize(uint8_t endpoint) {
return impl_->getMaxPacketSize(endpoint);
}
uint16_t Device::getFirmwareVersion() {
return impl_->getFirmwareVersion();
}
shared_ptr<DeviceHandle> Device::open() {
libusb_device_handle* handler = impl_->open();
return shared_ptr<DeviceHandle>(new DeviceHandle(shared_from_this(), handler));
}
}}}
//
// device_handle.cc
// Device Handle
//
// Created by Tony Huang on 12/9/13.
// Copyright (c) 2013 RoboPeak.com. All rights reserved.
//
#include <rp/deps/libusbx_wrap/device_handle.h>
#include <rp/deps/libusbx_wrap/device.h>
#include <rp/deps/libusbx_wrap/transfer.h>
#include <rp/util/exception.h>
#include <libusb.h>
using namespace std;
using namespace rp::util;
namespace rp { namespace deps { namespace libusbx_wrap {
class DeviceHandleImpl : public rp::util::noncopyable {
public:
DeviceHandleImpl(shared_ptr<Device> device, libusb_device_handle* deviceHandle) : device_(device), handle_(deviceHandle) {}
~DeviceHandleImpl() {
libusb_close(handle_);
}
string getName() {
return getStringDescriptorAscii(device_->getNameIndex());
}
string getSerialNumber() {
return getStringDescriptorAscii(device_->getSerialNumberIndex());
}
void claimInterface(int interface) {
int result = libusb_claim_interface(handle_, interface);
if (result) {
throw Exception(result);
}
}
void releaseInterface(int interface) {
int result = libusb_release_interface(handle_, interface);
if (result) {
throw Exception(result);
}
}
void clearEndpointHalt(uint8_t endpoint) {
int result = libusb_clear_halt(handle_, endpoint);
if (result) {
throw Exception(result);
}
}
shared_ptr<Device> getDevice() {
return device_;
}
libusb_transfer* allocTransfer(EndpointDirection dir, EndpointTransferType type, uint8_t endpoint) {
libusb_transfer* transfer = libusb_alloc_transfer(0);
if (!transfer) {
throw Exception(-1);
}
transfer->dev_handle = handle_;
if (dir == EndpointDirectionIn) {
endpoint |= 0x80u;
} else {
endpoint &= 0x0fu;
}
transfer->endpoint = endpoint;
transfer->type = (uint8_t)type;
return transfer;
}
private:
string getStringDescriptorAscii(uint8_t index) {
char stringDescriptor[256];
int read = libusb_get_string_descriptor_ascii(handle_, index, (unsigned char*)stringDescriptor, 256);
if (read < 0) {
throw Exception(read);
} else {
stringDescriptor[read] = 0;
}
return stringDescriptor;
}
shared_ptr<Device> device_;
libusb_device_handle* handle_;
};
DeviceHandle::DeviceHandle(shared_ptr<Device> device, libusb_device_handle* deviceHandle)
: impl_(new DeviceHandleImpl(device, deviceHandle))
{}
DeviceHandle::~DeviceHandle() { }
string DeviceHandle::getName() {
return impl_->getName();
}
string DeviceHandle::getSerialNumber() {
return impl_->getSerialNumber();
}
void DeviceHandle::claimInterface(int interface) {
impl_->claimInterface(interface);
}
void DeviceHandle::releaseInterface(int interface) {
impl_->releaseInterface(interface);
}
void DeviceHandle::clearEndpointHalt(uint8_t endpoint) {
impl_->clearEndpointHalt(endpoint);
}
shared_ptr<Device> DeviceHandle::getDevice() {
return impl_->getDevice();
}
shared_ptr<Transfer> DeviceHandle::allocTransfer(EndpointDirection dir, EndpointTransferType type, uint8_t endpoint) {
auto nakedTransfer = impl_->allocTransfer(dir, type, endpoint);
return shared_ptr<Transfer>(new Transfer(shared_from_this(), nakedTransfer));
}
}}}
//
// device_list.cc
// rpusbdispsdk
//
// Created by Tony Huang on 12/7/13.
// Copyright (c) 2013 RoboPeak.com. All rights reserved.
//
#include <libusb.h>
#include <rp/deps/libusbx_wrap/device_list.h>
#include <rp/deps/libusbx_wrap/device.h>
using namespace std;
namespace rp { namespace deps { namespace libusbx_wrap {
class DeviceListImpl : public rp::util::noncopyable {
public:
DeviceListImpl(size_t count, libusb_device** list) : size_(count), list_(list) {}
~DeviceListImpl() {
libusb_free_device_list(list_, 1);
list_ = 0;
size_ = 0;
}
shared_ptr<Device> getDevice(size_t index) {
if (index >= size_) {
return shared_ptr<Device>(nullptr);
}
return shared_ptr<Device>(new Device(list_[index]));
}
size_t count() const {
return size_;
}
private:
size_t size_;
libusb_device** list_;
};
DeviceList::DeviceList(size_t count, libusb_device** list) : impl_(new DeviceListImpl(count, list)) {}
DeviceList::~DeviceList() {}
shared_ptr<Device> DeviceList::getDevice(size_t index) {
return impl_->getDevice(index);
}
size_t DeviceList::count() const {
return impl_->count();
}
}}}
//
// scopes.cc
// Scopes
//
// Created by Tony Huang on 12/10/13.
// Copyright (c) 2013 RoboPeak.com. All rights reserved.
//
#include <rp/deps/libusbx_wrap/scopes.h>
#include <rp/deps/libusbx_wrap/device_handle.h>
using namespace std;
using namespace rp::util;
namespace rp { namespace deps { namespace libusbx_wrap {
class InterfaceScopeImpl : noncopyable {
public:
InterfaceScopeImpl(shared_ptr<DeviceHandle> device, int usbInterface) : deviceHandle_(device), interface_(usbInterface) {
device->claimInterface(usbInterface);
}
~InterfaceScopeImpl() {
deviceHandle_->releaseInterface(interface_);
}
private:
std::shared_ptr<DeviceHandle> deviceHandle_;
int interface_;
};
InterfaceScope::InterfaceScope(shared_ptr<DeviceHandle> device, int usbInterface) : impl_(new InterfaceScopeImpl(device, usbInterface)) {}
InterfaceScope::~InterfaceScope() {}
}}}
//
// transfer.cc
// rpusbdispsdk
//
// Created by Tony Huang on 12/10/13.
// Copyright (c) 2013 RoboPeak.com. All rights reserved.
//
#include <condition_variable>
#include <functional>
#include <libusb.h>
#include <rp/util/buffer.h>
#include <rp/util/scopes.h>
#include <rp/deps/libusbx_wrap/transfer.h>
#include <rp/util/exception.h>
using namespace std;
using namespace rp::util;
namespace rp { namespace deps { namespace libusbx_wrap {
class TransferImpl : public enable_shared_from_this<TransferImpl>, public noncopyable {
public:
TransferImpl(shared_ptr<DeviceHandle> deviceHandle, libusb_transfer* transfer) : completion_(false), deviceHandle_(deviceHandle), handle_(transfer) {
handle_->timeout = 0;
handle_->user_data = 0;
handle_->callback = &TransferImpl::transferCallback_;
}
~TransferImpl() {
releaseTransferBuffer_();
if (handle_ && handle_->user_data) {
delete reinterpret_cast<weak_ptr<TransferImpl>*>(handle_->user_data);
handle_->user_data = nullptr;
}
libusb_free_transfer(handle_);
}
void setTransferBuffer(shared_ptr<Buffer> transferBuffer) {
releaseTransferBuffer_();
transferBuffer_ = transferBuffer;
if (transferBuffer) {
handle_->buffer = (uint8_t*)transferBuffer->lock();
}
handle_->length = (int)transferBuffer->size();
}
shared_ptr<Buffer> getTransferBuffer() {
return transferBuffer_;
}
void submit() {
if (!handle_->user_data) {
handle_->user_data = new weak_ptr<TransferImpl>(shared_from_this());
}
int result = libusb_submit_transfer(handle_);
if (result) {
throw Exception(result);
}
}
void waitForCompletion() {
unique_lock<mutex> lock(conditionLock_);
condition_.wait(lock, bind(&TransferImpl::isCompleted_, this));
this->completion_ = false;
}
TransferStatus getStatus() {
switch (handle_->status) {
case LIBUSB_TRANSFER_COMPLETED:
return TransferStatusCompleted;
case LIBUSB_TRANSFER_CANCELLED:
return TransferStatusCancelled;
case LIBUSB_TRANSFER_ERROR:
return TransferStatusError;
case LIBUSB_TRANSFER_TIMED_OUT:
return TransferStatusTimeout;
case LIBUSB_TRANSFER_STALL:
return TransferStatusStall;
case LIBUSB_TRANSFER_NO_DEVICE:
return TransferStatusDeviceError;
case LIBUSB_TRANSFER_OVERFLOW:
return TransferStatusOverflow;
default:
return TransferStatusUnknown;
}
}
private:
void releaseTransferBuffer_() {
if (transferBuffer_.get()) {
transferBuffer_->unlock(handle_->buffer);
handle_->buffer = 0;
handle_->length = 0;
transferBuffer_ = nullptr;
}
}
void triggerCompletion_() {
{
lock_guard<mutex> guard(conditionLock_);
completion_ = true;
}
condition_.notify_one();
}
bool isCompleted_() {
return completion_;
}
static void RP_INFRA_CALLBACK transferCallback_(libusb_transfer* data) {
weak_ptr<TransferImpl>* weakPtr = reinterpret_cast<weak_ptr<TransferImpl>*>(data->user_data);
if (!weakPtr) return;
shared_ptr<TransferImpl> transfer = weakPtr->lock();
if (!transfer) return;
transfer->triggerCompletion_();
}
mutex conditionLock_;
condition_variable condition_;
bool completion_;
shared_ptr<DeviceHandle> deviceHandle_;
shared_ptr<Buffer> transferBuffer_;
libusb_transfer* handle_;
};
Transfer::Transfer(shared_ptr<DeviceHandle> deviceHandle, libusb_transfer* transfer) : impl_(new TransferImpl(deviceHandle, transfer)) {}
Transfer::~Transfer() {}
void Transfer::setTransferBuffer(shared_ptr<Buffer> buffer) {
impl_->setTransferBuffer(buffer);
}
shared_ptr<Buffer> Transfer::getTransferBuffer() {
return impl_->getTransferBuffer();
}
void Transfer::submit() {
impl_->submit();
}
void Transfer::waitForCompletion() {
impl_->waitForCompletion();
}
TransferStatus Transfer::getStatus() {
return impl_->getStatus();
}
}}}
png.lo: png.c pngpriv.h /usr/include/stdlib.h /usr/include/Availability.h \
/usr/include/AvailabilityInternal.h /usr/include/_types.h \
/usr/include/sys/_types.h /usr/include/sys/cdefs.h \
/usr/include/sys/_symbol_aliasing.h \
/usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/sys/wait.h \
/usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
/usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
/usr/include/machine/signal.h /usr/include/i386/signal.h \
/usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
/usr/include/mach/i386/_structs.h \
/usr/include/sys/_types/_sigaltstack.h \
/usr/include/sys/_types/_ucontext.h \
/usr/include/sys/_types/_pthread_attr_t.h \
/usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
/usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
/usr/include/sys/_types/_timeval.h /usr/include/sys/_types/_wchar_t.h \
/usr/include/sys/_types/_null.h /usr/include/string.h \
/usr/include/secure/_string.h /usr/include/secure/_common.h config.h \
pnglibconf.h png.h pngconf.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h \
/usr/include/stdio.h /usr/include/sys/_types/_va_list.h \
/usr/include/secure/_stdio.h /usr/include/setjmp.h /usr/include/time.h \
/usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/sys/_types/_timespec.h /usr/include/sys/_types/_clock_t.h \
/usr/include/sys/_types/_time_t.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h \
/usr/include/math.h pngstruct.h /usr/include/zlib.h \
/usr/include/zconf.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/sys/_types/_int8_t.h /usr/include/sys/_types/_int16_t.h \
/usr/include/sys/_types/_int32_t.h /usr/include/sys/_types/_int64_t.h \
/usr/include/sys/_types/_intptr_t.h \
/usr/include/sys/_types/_uintptr_t.h \
/usr/include/sys/_types/___offsetof.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_types/_dev_t.h \
/usr/include/sys/_types/_blkcnt_t.h \
/usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
/usr/include/sys/_types/_in_addr_t.h \
/usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
/usr/include/sys/_types/_key_t.h /usr/include/sys/_types/_mode_t.h \
/usr/include/sys/_types/_nlink_t.h /usr/include/sys/_types/_off_t.h \
/usr/include/sys/_types/_ssize_t.h \
/usr/include/sys/_types/_useconds_t.h \
/usr/include/sys/_types/_suseconds_t.h \
/usr/include/sys/_types/_pthread_cond_t.h \
/usr/include/sys/_types/_pthread_condattr_t.h \
/usr/include/sys/_types/_pthread_mutex_t.h \
/usr/include/sys/_types/_pthread_mutexattr_t.h \
/usr/include/sys/_types/_pthread_once_t.h \
/usr/include/sys/_types/_pthread_rwlock_t.h \
/usr/include/sys/_types/_pthread_rwlockattr_t.h \
/usr/include/sys/_types/_pthread_t.h \
/usr/include/sys/_types/_pthread_key_t.h \
/usr/include/sys/_types/_fsblkcnt_t.h \
/usr/include/sys/_types/_fsfilcnt_t.h /usr/include/unistd.h \
/usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
/usr/include/sys/_types/_seek_set.h pnginfo.h pngdebug.h
pngpriv.h:
/usr/include/stdlib.h:
/usr/include/Availability.h:
/usr/include/AvailabilityInternal.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/sys/cdefs.h:
/usr/include/sys/_symbol_aliasing.h:
/usr/include/sys/_posix_availability.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/sys/wait.h:
/usr/include/sys/_types/_pid_t.h:
/usr/include/sys/_types/_id_t.h:
/usr/include/sys/signal.h:
/usr/include/sys/appleapiopts.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/machine/_mcontext.h:
/usr/include/i386/_mcontext.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/_types/_sigaltstack.h:
/usr/include/sys/_types/_ucontext.h:
/usr/include/sys/_types/_pthread_attr_t.h:
/usr/include/sys/_types/_sigset_t.h:
/usr/include/sys/_types/_size_t.h:
/usr/include/sys/_types/_uid_t.h:
/usr/include/sys/resource.h:
/usr/include/sys/_types/_timeval.h:
/usr/include/sys/_types/_wchar_t.h:
/usr/include/sys/_types/_null.h:
/usr/include/string.h:
/usr/include/secure/_string.h:
/usr/include/secure/_common.h:
config.h:
pnglibconf.h:
png.h:
pngconf.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h:
/usr/include/stdio.h:
/usr/include/sys/_types/_va_list.h:
/usr/include/secure/_stdio.h:
/usr/include/setjmp.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/sys/_types/_timespec.h:
/usr/include/sys/_types/_clock_t.h:
/usr/include/sys/_types/_time_t.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h:
/usr/include/math.h:
pngstruct.h:
/usr/include/zlib.h:
/usr/include/zconf.h:
/usr/include/sys/types.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/sys/_types/_int8_t.h:
/usr/include/sys/_types/_int16_t.h:
/usr/include/sys/_types/_int32_t.h:
/usr/include/sys/_types/_int64_t.h:
/usr/include/sys/_types/_intptr_t.h:
/usr/include/sys/_types/_uintptr_t.h:
/usr/include/sys/_types/___offsetof.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_types/_dev_t.h:
/usr/include/sys/_types/_blkcnt_t.h:
/usr/include/sys/_types/_blksize_t.h:
/usr/include/sys/_types/_gid_t.h:
/usr/include/sys/_types/_in_addr_t.h:
/usr/include/sys/_types/_in_port_t.h:
/usr/include/sys/_types/_ino_t.h:
/usr/include/sys/_types/_key_t.h:
/usr/include/sys/_types/_mode_t.h:
/usr/include/sys/_types/_nlink_t.h:
/usr/include/sys/_types/_off_t.h:
/usr/include/sys/_types/_ssize_t.h:
/usr/include/sys/_types/_useconds_t.h:
/usr/include/sys/_types/_suseconds_t.h:
/usr/include/sys/_types/_pthread_cond_t.h:
/usr/include/sys/_types/_pthread_condattr_t.h:
/usr/include/sys/_types/_pthread_mutex_t.h:
/usr/include/sys/_types/_pthread_mutexattr_t.h:
/usr/include/sys/_types/_pthread_once_t.h:
/usr/include/sys/_types/_pthread_rwlock_t.h:
/usr/include/sys/_types/_pthread_rwlockattr_t.h:
/usr/include/sys/_types/_pthread_t.h:
/usr/include/sys/_types/_pthread_key_t.h:
/usr/include/sys/_types/_fsblkcnt_t.h:
/usr/include/sys/_types/_fsfilcnt_t.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/_types/_posix_vdisable.h:
/usr/include/sys/_types/_seek_set.h:
pnginfo.h:
pngdebug.h:
pngerror.lo: pngerror.c pngpriv.h /usr/include/stdlib.h \
/usr/include/Availability.h /usr/include/AvailabilityInternal.h \
/usr/include/_types.h /usr/include/sys/_types.h \
/usr/include/sys/cdefs.h /usr/include/sys/_symbol_aliasing.h \
/usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/sys/wait.h \
/usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
/usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
/usr/include/machine/signal.h /usr/include/i386/signal.h \
/usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
/usr/include/mach/i386/_structs.h \
/usr/include/sys/_types/_sigaltstack.h \
/usr/include/sys/_types/_ucontext.h \
/usr/include/sys/_types/_pthread_attr_t.h \
/usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
/usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
/usr/include/sys/_types/_timeval.h /usr/include/sys/_types/_wchar_t.h \
/usr/include/sys/_types/_null.h /usr/include/string.h \
/usr/include/secure/_string.h /usr/include/secure/_common.h config.h \
pnglibconf.h png.h pngconf.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h \
/usr/include/stdio.h /usr/include/sys/_types/_va_list.h \
/usr/include/secure/_stdio.h /usr/include/setjmp.h /usr/include/time.h \
/usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/sys/_types/_timespec.h /usr/include/sys/_types/_clock_t.h \
/usr/include/sys/_types/_time_t.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h \
/usr/include/math.h pngstruct.h /usr/include/zlib.h \
/usr/include/zconf.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/sys/_types/_int8_t.h /usr/include/sys/_types/_int16_t.h \
/usr/include/sys/_types/_int32_t.h /usr/include/sys/_types/_int64_t.h \
/usr/include/sys/_types/_intptr_t.h \
/usr/include/sys/_types/_uintptr_t.h \
/usr/include/sys/_types/___offsetof.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_types/_dev_t.h \
/usr/include/sys/_types/_blkcnt_t.h \
/usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
/usr/include/sys/_types/_in_addr_t.h \
/usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
/usr/include/sys/_types/_key_t.h /usr/include/sys/_types/_mode_t.h \
/usr/include/sys/_types/_nlink_t.h /usr/include/sys/_types/_off_t.h \
/usr/include/sys/_types/_ssize_t.h \
/usr/include/sys/_types/_useconds_t.h \
/usr/include/sys/_types/_suseconds_t.h \
/usr/include/sys/_types/_pthread_cond_t.h \
/usr/include/sys/_types/_pthread_condattr_t.h \
/usr/include/sys/_types/_pthread_mutex_t.h \
/usr/include/sys/_types/_pthread_mutexattr_t.h \
/usr/include/sys/_types/_pthread_once_t.h \
/usr/include/sys/_types/_pthread_rwlock_t.h \
/usr/include/sys/_types/_pthread_rwlockattr_t.h \
/usr/include/sys/_types/_pthread_t.h \
/usr/include/sys/_types/_pthread_key_t.h \
/usr/include/sys/_types/_fsblkcnt_t.h \
/usr/include/sys/_types/_fsfilcnt_t.h /usr/include/unistd.h \
/usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
/usr/include/sys/_types/_seek_set.h pnginfo.h pngdebug.h
pngpriv.h:
/usr/include/stdlib.h:
/usr/include/Availability.h:
/usr/include/AvailabilityInternal.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/sys/cdefs.h:
/usr/include/sys/_symbol_aliasing.h:
/usr/include/sys/_posix_availability.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/sys/wait.h:
/usr/include/sys/_types/_pid_t.h:
/usr/include/sys/_types/_id_t.h:
/usr/include/sys/signal.h:
/usr/include/sys/appleapiopts.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/machine/_mcontext.h:
/usr/include/i386/_mcontext.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/_types/_sigaltstack.h:
/usr/include/sys/_types/_ucontext.h:
/usr/include/sys/_types/_pthread_attr_t.h:
/usr/include/sys/_types/_sigset_t.h:
/usr/include/sys/_types/_size_t.h:
/usr/include/sys/_types/_uid_t.h:
/usr/include/sys/resource.h:
/usr/include/sys/_types/_timeval.h:
/usr/include/sys/_types/_wchar_t.h:
/usr/include/sys/_types/_null.h:
/usr/include/string.h:
/usr/include/secure/_string.h:
/usr/include/secure/_common.h:
config.h:
pnglibconf.h:
png.h:
pngconf.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h:
/usr/include/stdio.h:
/usr/include/sys/_types/_va_list.h:
/usr/include/secure/_stdio.h:
/usr/include/setjmp.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/sys/_types/_timespec.h:
/usr/include/sys/_types/_clock_t.h:
/usr/include/sys/_types/_time_t.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h:
/usr/include/math.h:
pngstruct.h:
/usr/include/zlib.h:
/usr/include/zconf.h:
/usr/include/sys/types.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/sys/_types/_int8_t.h:
/usr/include/sys/_types/_int16_t.h:
/usr/include/sys/_types/_int32_t.h:
/usr/include/sys/_types/_int64_t.h:
/usr/include/sys/_types/_intptr_t.h:
/usr/include/sys/_types/_uintptr_t.h:
/usr/include/sys/_types/___offsetof.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_types/_dev_t.h:
/usr/include/sys/_types/_blkcnt_t.h:
/usr/include/sys/_types/_blksize_t.h:
/usr/include/sys/_types/_gid_t.h:
/usr/include/sys/_types/_in_addr_t.h:
/usr/include/sys/_types/_in_port_t.h:
/usr/include/sys/_types/_ino_t.h:
/usr/include/sys/_types/_key_t.h:
/usr/include/sys/_types/_mode_t.h:
/usr/include/sys/_types/_nlink_t.h:
/usr/include/sys/_types/_off_t.h:
/usr/include/sys/_types/_ssize_t.h:
/usr/include/sys/_types/_useconds_t.h:
/usr/include/sys/_types/_suseconds_t.h:
/usr/include/sys/_types/_pthread_cond_t.h:
/usr/include/sys/_types/_pthread_condattr_t.h:
/usr/include/sys/_types/_pthread_mutex_t.h:
/usr/include/sys/_types/_pthread_mutexattr_t.h:
/usr/include/sys/_types/_pthread_once_t.h:
/usr/include/sys/_types/_pthread_rwlock_t.h:
/usr/include/sys/_types/_pthread_rwlockattr_t.h:
/usr/include/sys/_types/_pthread_t.h:
/usr/include/sys/_types/_pthread_key_t.h:
/usr/include/sys/_types/_fsblkcnt_t.h:
/usr/include/sys/_types/_fsfilcnt_t.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/_types/_posix_vdisable.h:
/usr/include/sys/_types/_seek_set.h:
pnginfo.h:
pngdebug.h:
pngget.lo: pngget.c pngpriv.h /usr/include/stdlib.h \
/usr/include/Availability.h /usr/include/AvailabilityInternal.h \
/usr/include/_types.h /usr/include/sys/_types.h \
/usr/include/sys/cdefs.h /usr/include/sys/_symbol_aliasing.h \
/usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/sys/wait.h \
/usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
/usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
/usr/include/machine/signal.h /usr/include/i386/signal.h \
/usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
/usr/include/mach/i386/_structs.h \
/usr/include/sys/_types/_sigaltstack.h \
/usr/include/sys/_types/_ucontext.h \
/usr/include/sys/_types/_pthread_attr_t.h \
/usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
/usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
/usr/include/sys/_types/_timeval.h /usr/include/sys/_types/_wchar_t.h \
/usr/include/sys/_types/_null.h /usr/include/string.h \
/usr/include/secure/_string.h /usr/include/secure/_common.h config.h \
pnglibconf.h png.h pngconf.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h \
/usr/include/stdio.h /usr/include/sys/_types/_va_list.h \
/usr/include/secure/_stdio.h /usr/include/setjmp.h /usr/include/time.h \
/usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/sys/_types/_timespec.h /usr/include/sys/_types/_clock_t.h \
/usr/include/sys/_types/_time_t.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h \
/usr/include/math.h pngstruct.h /usr/include/zlib.h \
/usr/include/zconf.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/sys/_types/_int8_t.h /usr/include/sys/_types/_int16_t.h \
/usr/include/sys/_types/_int32_t.h /usr/include/sys/_types/_int64_t.h \
/usr/include/sys/_types/_intptr_t.h \
/usr/include/sys/_types/_uintptr_t.h \
/usr/include/sys/_types/___offsetof.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_types/_dev_t.h \
/usr/include/sys/_types/_blkcnt_t.h \
/usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
/usr/include/sys/_types/_in_addr_t.h \
/usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
/usr/include/sys/_types/_key_t.h /usr/include/sys/_types/_mode_t.h \
/usr/include/sys/_types/_nlink_t.h /usr/include/sys/_types/_off_t.h \
/usr/include/sys/_types/_ssize_t.h \
/usr/include/sys/_types/_useconds_t.h \
/usr/include/sys/_types/_suseconds_t.h \
/usr/include/sys/_types/_pthread_cond_t.h \
/usr/include/sys/_types/_pthread_condattr_t.h \
/usr/include/sys/_types/_pthread_mutex_t.h \
/usr/include/sys/_types/_pthread_mutexattr_t.h \
/usr/include/sys/_types/_pthread_once_t.h \
/usr/include/sys/_types/_pthread_rwlock_t.h \
/usr/include/sys/_types/_pthread_rwlockattr_t.h \
/usr/include/sys/_types/_pthread_t.h \
/usr/include/sys/_types/_pthread_key_t.h \
/usr/include/sys/_types/_fsblkcnt_t.h \
/usr/include/sys/_types/_fsfilcnt_t.h /usr/include/unistd.h \
/usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
/usr/include/sys/_types/_seek_set.h pnginfo.h pngdebug.h
pngpriv.h:
/usr/include/stdlib.h:
/usr/include/Availability.h:
/usr/include/AvailabilityInternal.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/sys/cdefs.h:
/usr/include/sys/_symbol_aliasing.h:
/usr/include/sys/_posix_availability.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/sys/wait.h:
/usr/include/sys/_types/_pid_t.h:
/usr/include/sys/_types/_id_t.h:
/usr/include/sys/signal.h:
/usr/include/sys/appleapiopts.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/machine/_mcontext.h:
/usr/include/i386/_mcontext.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/_types/_sigaltstack.h:
/usr/include/sys/_types/_ucontext.h:
/usr/include/sys/_types/_pthread_attr_t.h:
/usr/include/sys/_types/_sigset_t.h:
/usr/include/sys/_types/_size_t.h:
/usr/include/sys/_types/_uid_t.h:
/usr/include/sys/resource.h:
/usr/include/sys/_types/_timeval.h:
/usr/include/sys/_types/_wchar_t.h:
/usr/include/sys/_types/_null.h:
/usr/include/string.h:
/usr/include/secure/_string.h:
/usr/include/secure/_common.h:
config.h:
pnglibconf.h:
png.h:
pngconf.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h:
/usr/include/stdio.h:
/usr/include/sys/_types/_va_list.h:
/usr/include/secure/_stdio.h:
/usr/include/setjmp.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/sys/_types/_timespec.h:
/usr/include/sys/_types/_clock_t.h:
/usr/include/sys/_types/_time_t.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h:
/usr/include/math.h:
pngstruct.h:
/usr/include/zlib.h:
/usr/include/zconf.h:
/usr/include/sys/types.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/sys/_types/_int8_t.h:
/usr/include/sys/_types/_int16_t.h:
/usr/include/sys/_types/_int32_t.h:
/usr/include/sys/_types/_int64_t.h:
/usr/include/sys/_types/_intptr_t.h:
/usr/include/sys/_types/_uintptr_t.h:
/usr/include/sys/_types/___offsetof.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_types/_dev_t.h:
/usr/include/sys/_types/_blkcnt_t.h:
/usr/include/sys/_types/_blksize_t.h:
/usr/include/sys/_types/_gid_t.h:
/usr/include/sys/_types/_in_addr_t.h:
/usr/include/sys/_types/_in_port_t.h:
/usr/include/sys/_types/_ino_t.h:
/usr/include/sys/_types/_key_t.h:
/usr/include/sys/_types/_mode_t.h:
/usr/include/sys/_types/_nlink_t.h:
/usr/include/sys/_types/_off_t.h:
/usr/include/sys/_types/_ssize_t.h:
/usr/include/sys/_types/_useconds_t.h:
/usr/include/sys/_types/_suseconds_t.h:
/usr/include/sys/_types/_pthread_cond_t.h:
/usr/include/sys/_types/_pthread_condattr_t.h:
/usr/include/sys/_types/_pthread_mutex_t.h:
/usr/include/sys/_types/_pthread_mutexattr_t.h:
/usr/include/sys/_types/_pthread_once_t.h:
/usr/include/sys/_types/_pthread_rwlock_t.h:
/usr/include/sys/_types/_pthread_rwlockattr_t.h:
/usr/include/sys/_types/_pthread_t.h:
/usr/include/sys/_types/_pthread_key_t.h:
/usr/include/sys/_types/_fsblkcnt_t.h:
/usr/include/sys/_types/_fsfilcnt_t.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/_types/_posix_vdisable.h:
/usr/include/sys/_types/_seek_set.h:
pnginfo.h:
pngdebug.h:
pngmem.lo: pngmem.c pngpriv.h /usr/include/stdlib.h \
/usr/include/Availability.h /usr/include/AvailabilityInternal.h \
/usr/include/_types.h /usr/include/sys/_types.h \
/usr/include/sys/cdefs.h /usr/include/sys/_symbol_aliasing.h \
/usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/sys/wait.h \
/usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
/usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
/usr/include/machine/signal.h /usr/include/i386/signal.h \
/usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
/usr/include/mach/i386/_structs.h \
/usr/include/sys/_types/_sigaltstack.h \
/usr/include/sys/_types/_ucontext.h \
/usr/include/sys/_types/_pthread_attr_t.h \
/usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
/usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
/usr/include/sys/_types/_timeval.h /usr/include/sys/_types/_wchar_t.h \
/usr/include/sys/_types/_null.h /usr/include/string.h \
/usr/include/secure/_string.h /usr/include/secure/_common.h config.h \
pnglibconf.h png.h pngconf.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h \
/usr/include/stdio.h /usr/include/sys/_types/_va_list.h \
/usr/include/secure/_stdio.h /usr/include/setjmp.h /usr/include/time.h \
/usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/sys/_types/_timespec.h /usr/include/sys/_types/_clock_t.h \
/usr/include/sys/_types/_time_t.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h \
/usr/include/math.h pngstruct.h /usr/include/zlib.h \
/usr/include/zconf.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/sys/_types/_int8_t.h /usr/include/sys/_types/_int16_t.h \
/usr/include/sys/_types/_int32_t.h /usr/include/sys/_types/_int64_t.h \
/usr/include/sys/_types/_intptr_t.h \
/usr/include/sys/_types/_uintptr_t.h \
/usr/include/sys/_types/___offsetof.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_types/_dev_t.h \
/usr/include/sys/_types/_blkcnt_t.h \
/usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
/usr/include/sys/_types/_in_addr_t.h \
/usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
/usr/include/sys/_types/_key_t.h /usr/include/sys/_types/_mode_t.h \
/usr/include/sys/_types/_nlink_t.h /usr/include/sys/_types/_off_t.h \
/usr/include/sys/_types/_ssize_t.h \
/usr/include/sys/_types/_useconds_t.h \
/usr/include/sys/_types/_suseconds_t.h \
/usr/include/sys/_types/_pthread_cond_t.h \
/usr/include/sys/_types/_pthread_condattr_t.h \
/usr/include/sys/_types/_pthread_mutex_t.h \
/usr/include/sys/_types/_pthread_mutexattr_t.h \
/usr/include/sys/_types/_pthread_once_t.h \
/usr/include/sys/_types/_pthread_rwlock_t.h \
/usr/include/sys/_types/_pthread_rwlockattr_t.h \
/usr/include/sys/_types/_pthread_t.h \
/usr/include/sys/_types/_pthread_key_t.h \
/usr/include/sys/_types/_fsblkcnt_t.h \
/usr/include/sys/_types/_fsfilcnt_t.h /usr/include/unistd.h \
/usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
/usr/include/sys/_types/_seek_set.h pnginfo.h pngdebug.h
pngpriv.h:
/usr/include/stdlib.h:
/usr/include/Availability.h:
/usr/include/AvailabilityInternal.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/sys/cdefs.h:
/usr/include/sys/_symbol_aliasing.h:
/usr/include/sys/_posix_availability.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/sys/wait.h:
/usr/include/sys/_types/_pid_t.h:
/usr/include/sys/_types/_id_t.h:
/usr/include/sys/signal.h:
/usr/include/sys/appleapiopts.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/machine/_mcontext.h:
/usr/include/i386/_mcontext.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/_types/_sigaltstack.h:
/usr/include/sys/_types/_ucontext.h:
/usr/include/sys/_types/_pthread_attr_t.h:
/usr/include/sys/_types/_sigset_t.h:
/usr/include/sys/_types/_size_t.h:
/usr/include/sys/_types/_uid_t.h:
/usr/include/sys/resource.h:
/usr/include/sys/_types/_timeval.h:
/usr/include/sys/_types/_wchar_t.h:
/usr/include/sys/_types/_null.h:
/usr/include/string.h:
/usr/include/secure/_string.h:
/usr/include/secure/_common.h:
config.h:
pnglibconf.h:
png.h:
pngconf.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h:
/usr/include/stdio.h:
/usr/include/sys/_types/_va_list.h:
/usr/include/secure/_stdio.h:
/usr/include/setjmp.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/sys/_types/_timespec.h:
/usr/include/sys/_types/_clock_t.h:
/usr/include/sys/_types/_time_t.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h:
/usr/include/math.h:
pngstruct.h:
/usr/include/zlib.h:
/usr/include/zconf.h:
/usr/include/sys/types.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/sys/_types/_int8_t.h:
/usr/include/sys/_types/_int16_t.h:
/usr/include/sys/_types/_int32_t.h:
/usr/include/sys/_types/_int64_t.h:
/usr/include/sys/_types/_intptr_t.h:
/usr/include/sys/_types/_uintptr_t.h:
/usr/include/sys/_types/___offsetof.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_types/_dev_t.h:
/usr/include/sys/_types/_blkcnt_t.h:
/usr/include/sys/_types/_blksize_t.h:
/usr/include/sys/_types/_gid_t.h:
/usr/include/sys/_types/_in_addr_t.h:
/usr/include/sys/_types/_in_port_t.h:
/usr/include/sys/_types/_ino_t.h:
/usr/include/sys/_types/_key_t.h:
/usr/include/sys/_types/_mode_t.h:
/usr/include/sys/_types/_nlink_t.h:
/usr/include/sys/_types/_off_t.h:
/usr/include/sys/_types/_ssize_t.h:
/usr/include/sys/_types/_useconds_t.h:
/usr/include/sys/_types/_suseconds_t.h:
/usr/include/sys/_types/_pthread_cond_t.h:
/usr/include/sys/_types/_pthread_condattr_t.h:
/usr/include/sys/_types/_pthread_mutex_t.h:
/usr/include/sys/_types/_pthread_mutexattr_t.h:
/usr/include/sys/_types/_pthread_once_t.h:
/usr/include/sys/_types/_pthread_rwlock_t.h:
/usr/include/sys/_types/_pthread_rwlockattr_t.h:
/usr/include/sys/_types/_pthread_t.h:
/usr/include/sys/_types/_pthread_key_t.h:
/usr/include/sys/_types/_fsblkcnt_t.h:
/usr/include/sys/_types/_fsfilcnt_t.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/_types/_posix_vdisable.h:
/usr/include/sys/_types/_seek_set.h:
pnginfo.h:
pngdebug.h:
pngpread.lo: pngpread.c pngpriv.h /usr/include/stdlib.h \
/usr/include/Availability.h /usr/include/AvailabilityInternal.h \
/usr/include/_types.h /usr/include/sys/_types.h \
/usr/include/sys/cdefs.h /usr/include/sys/_symbol_aliasing.h \
/usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/sys/wait.h \
/usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
/usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
/usr/include/machine/signal.h /usr/include/i386/signal.h \
/usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
/usr/include/mach/i386/_structs.h \
/usr/include/sys/_types/_sigaltstack.h \
/usr/include/sys/_types/_ucontext.h \
/usr/include/sys/_types/_pthread_attr_t.h \
/usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
/usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
/usr/include/sys/_types/_timeval.h /usr/include/sys/_types/_wchar_t.h \
/usr/include/sys/_types/_null.h /usr/include/string.h \
/usr/include/secure/_string.h /usr/include/secure/_common.h config.h \
pnglibconf.h png.h pngconf.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h \
/usr/include/stdio.h /usr/include/sys/_types/_va_list.h \
/usr/include/secure/_stdio.h /usr/include/setjmp.h /usr/include/time.h \
/usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/sys/_types/_timespec.h /usr/include/sys/_types/_clock_t.h \
/usr/include/sys/_types/_time_t.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h \
/usr/include/math.h pngstruct.h /usr/include/zlib.h \
/usr/include/zconf.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/sys/_types/_int8_t.h /usr/include/sys/_types/_int16_t.h \
/usr/include/sys/_types/_int32_t.h /usr/include/sys/_types/_int64_t.h \
/usr/include/sys/_types/_intptr_t.h \
/usr/include/sys/_types/_uintptr_t.h \
/usr/include/sys/_types/___offsetof.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_types/_dev_t.h \
/usr/include/sys/_types/_blkcnt_t.h \
/usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
/usr/include/sys/_types/_in_addr_t.h \
/usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
/usr/include/sys/_types/_key_t.h /usr/include/sys/_types/_mode_t.h \
/usr/include/sys/_types/_nlink_t.h /usr/include/sys/_types/_off_t.h \
/usr/include/sys/_types/_ssize_t.h \
/usr/include/sys/_types/_useconds_t.h \
/usr/include/sys/_types/_suseconds_t.h \
/usr/include/sys/_types/_pthread_cond_t.h \
/usr/include/sys/_types/_pthread_condattr_t.h \
/usr/include/sys/_types/_pthread_mutex_t.h \
/usr/include/sys/_types/_pthread_mutexattr_t.h \
/usr/include/sys/_types/_pthread_once_t.h \
/usr/include/sys/_types/_pthread_rwlock_t.h \
/usr/include/sys/_types/_pthread_rwlockattr_t.h \
/usr/include/sys/_types/_pthread_t.h \
/usr/include/sys/_types/_pthread_key_t.h \
/usr/include/sys/_types/_fsblkcnt_t.h \
/usr/include/sys/_types/_fsfilcnt_t.h /usr/include/unistd.h \
/usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
/usr/include/sys/_types/_seek_set.h pnginfo.h pngdebug.h
pngpriv.h:
/usr/include/stdlib.h:
/usr/include/Availability.h:
/usr/include/AvailabilityInternal.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/sys/cdefs.h:
/usr/include/sys/_symbol_aliasing.h:
/usr/include/sys/_posix_availability.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/sys/wait.h:
/usr/include/sys/_types/_pid_t.h:
/usr/include/sys/_types/_id_t.h:
/usr/include/sys/signal.h:
/usr/include/sys/appleapiopts.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/machine/_mcontext.h:
/usr/include/i386/_mcontext.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/_types/_sigaltstack.h:
/usr/include/sys/_types/_ucontext.h:
/usr/include/sys/_types/_pthread_attr_t.h:
/usr/include/sys/_types/_sigset_t.h:
/usr/include/sys/_types/_size_t.h:
/usr/include/sys/_types/_uid_t.h:
/usr/include/sys/resource.h:
/usr/include/sys/_types/_timeval.h:
/usr/include/sys/_types/_wchar_t.h:
/usr/include/sys/_types/_null.h:
/usr/include/string.h:
/usr/include/secure/_string.h:
/usr/include/secure/_common.h:
config.h:
pnglibconf.h:
png.h:
pngconf.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h:
/usr/include/stdio.h:
/usr/include/sys/_types/_va_list.h:
/usr/include/secure/_stdio.h:
/usr/include/setjmp.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/sys/_types/_timespec.h:
/usr/include/sys/_types/_clock_t.h:
/usr/include/sys/_types/_time_t.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h:
/usr/include/math.h:
pngstruct.h:
/usr/include/zlib.h:
/usr/include/zconf.h:
/usr/include/sys/types.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/sys/_types/_int8_t.h:
/usr/include/sys/_types/_int16_t.h:
/usr/include/sys/_types/_int32_t.h:
/usr/include/sys/_types/_int64_t.h:
/usr/include/sys/_types/_intptr_t.h:
/usr/include/sys/_types/_uintptr_t.h:
/usr/include/sys/_types/___offsetof.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_types/_dev_t.h:
/usr/include/sys/_types/_blkcnt_t.h:
/usr/include/sys/_types/_blksize_t.h:
/usr/include/sys/_types/_gid_t.h:
/usr/include/sys/_types/_in_addr_t.h:
/usr/include/sys/_types/_in_port_t.h:
/usr/include/sys/_types/_ino_t.h:
/usr/include/sys/_types/_key_t.h:
/usr/include/sys/_types/_mode_t.h:
/usr/include/sys/_types/_nlink_t.h:
/usr/include/sys/_types/_off_t.h:
/usr/include/sys/_types/_ssize_t.h:
/usr/include/sys/_types/_useconds_t.h:
/usr/include/sys/_types/_suseconds_t.h:
/usr/include/sys/_types/_pthread_cond_t.h:
/usr/include/sys/_types/_pthread_condattr_t.h:
/usr/include/sys/_types/_pthread_mutex_t.h:
/usr/include/sys/_types/_pthread_mutexattr_t.h:
/usr/include/sys/_types/_pthread_once_t.h:
/usr/include/sys/_types/_pthread_rwlock_t.h:
/usr/include/sys/_types/_pthread_rwlockattr_t.h:
/usr/include/sys/_types/_pthread_t.h:
/usr/include/sys/_types/_pthread_key_t.h:
/usr/include/sys/_types/_fsblkcnt_t.h:
/usr/include/sys/_types/_fsfilcnt_t.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/_types/_posix_vdisable.h:
/usr/include/sys/_types/_seek_set.h:
pnginfo.h:
pngdebug.h:
pngread.lo: pngread.c pngpriv.h /usr/include/stdlib.h \
/usr/include/Availability.h /usr/include/AvailabilityInternal.h \
/usr/include/_types.h /usr/include/sys/_types.h \
/usr/include/sys/cdefs.h /usr/include/sys/_symbol_aliasing.h \
/usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/sys/wait.h \
/usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
/usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
/usr/include/machine/signal.h /usr/include/i386/signal.h \
/usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
/usr/include/mach/i386/_structs.h \
/usr/include/sys/_types/_sigaltstack.h \
/usr/include/sys/_types/_ucontext.h \
/usr/include/sys/_types/_pthread_attr_t.h \
/usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
/usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
/usr/include/sys/_types/_timeval.h /usr/include/sys/_types/_wchar_t.h \
/usr/include/sys/_types/_null.h /usr/include/string.h \
/usr/include/secure/_string.h /usr/include/secure/_common.h config.h \
pnglibconf.h png.h pngconf.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h \
/usr/include/stdio.h /usr/include/sys/_types/_va_list.h \
/usr/include/secure/_stdio.h /usr/include/setjmp.h /usr/include/time.h \
/usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/sys/_types/_timespec.h /usr/include/sys/_types/_clock_t.h \
/usr/include/sys/_types/_time_t.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h \
/usr/include/math.h pngstruct.h /usr/include/zlib.h \
/usr/include/zconf.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/sys/_types/_int8_t.h /usr/include/sys/_types/_int16_t.h \
/usr/include/sys/_types/_int32_t.h /usr/include/sys/_types/_int64_t.h \
/usr/include/sys/_types/_intptr_t.h \
/usr/include/sys/_types/_uintptr_t.h \
/usr/include/sys/_types/___offsetof.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_types/_dev_t.h \
/usr/include/sys/_types/_blkcnt_t.h \
/usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
/usr/include/sys/_types/_in_addr_t.h \
/usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
/usr/include/sys/_types/_key_t.h /usr/include/sys/_types/_mode_t.h \
/usr/include/sys/_types/_nlink_t.h /usr/include/sys/_types/_off_t.h \
/usr/include/sys/_types/_ssize_t.h \
/usr/include/sys/_types/_useconds_t.h \
/usr/include/sys/_types/_suseconds_t.h \
/usr/include/sys/_types/_pthread_cond_t.h \
/usr/include/sys/_types/_pthread_condattr_t.h \
/usr/include/sys/_types/_pthread_mutex_t.h \
/usr/include/sys/_types/_pthread_mutexattr_t.h \
/usr/include/sys/_types/_pthread_once_t.h \
/usr/include/sys/_types/_pthread_rwlock_t.h \
/usr/include/sys/_types/_pthread_rwlockattr_t.h \
/usr/include/sys/_types/_pthread_t.h \
/usr/include/sys/_types/_pthread_key_t.h \
/usr/include/sys/_types/_fsblkcnt_t.h \
/usr/include/sys/_types/_fsfilcnt_t.h /usr/include/unistd.h \
/usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
/usr/include/sys/_types/_seek_set.h pnginfo.h pngdebug.h \
/usr/include/errno.h /usr/include/sys/errno.h
pngpriv.h:
/usr/include/stdlib.h:
/usr/include/Availability.h:
/usr/include/AvailabilityInternal.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/sys/cdefs.h:
/usr/include/sys/_symbol_aliasing.h:
/usr/include/sys/_posix_availability.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/sys/wait.h:
/usr/include/sys/_types/_pid_t.h:
/usr/include/sys/_types/_id_t.h:
/usr/include/sys/signal.h:
/usr/include/sys/appleapiopts.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/machine/_mcontext.h:
/usr/include/i386/_mcontext.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/_types/_sigaltstack.h:
/usr/include/sys/_types/_ucontext.h:
/usr/include/sys/_types/_pthread_attr_t.h:
/usr/include/sys/_types/_sigset_t.h:
/usr/include/sys/_types/_size_t.h:
/usr/include/sys/_types/_uid_t.h:
/usr/include/sys/resource.h:
/usr/include/sys/_types/_timeval.h:
/usr/include/sys/_types/_wchar_t.h:
/usr/include/sys/_types/_null.h:
/usr/include/string.h:
/usr/include/secure/_string.h:
/usr/include/secure/_common.h:
config.h:
pnglibconf.h:
png.h:
pngconf.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h:
/usr/include/stdio.h:
/usr/include/sys/_types/_va_list.h:
/usr/include/secure/_stdio.h:
/usr/include/setjmp.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/sys/_types/_timespec.h:
/usr/include/sys/_types/_clock_t.h:
/usr/include/sys/_types/_time_t.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h:
/usr/include/math.h:
pngstruct.h:
/usr/include/zlib.h:
/usr/include/zconf.h:
/usr/include/sys/types.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/sys/_types/_int8_t.h:
/usr/include/sys/_types/_int16_t.h:
/usr/include/sys/_types/_int32_t.h:
/usr/include/sys/_types/_int64_t.h:
/usr/include/sys/_types/_intptr_t.h:
/usr/include/sys/_types/_uintptr_t.h:
/usr/include/sys/_types/___offsetof.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_types/_dev_t.h:
/usr/include/sys/_types/_blkcnt_t.h:
/usr/include/sys/_types/_blksize_t.h:
/usr/include/sys/_types/_gid_t.h:
/usr/include/sys/_types/_in_addr_t.h:
/usr/include/sys/_types/_in_port_t.h:
/usr/include/sys/_types/_ino_t.h:
/usr/include/sys/_types/_key_t.h:
/usr/include/sys/_types/_mode_t.h:
/usr/include/sys/_types/_nlink_t.h:
/usr/include/sys/_types/_off_t.h:
/usr/include/sys/_types/_ssize_t.h:
/usr/include/sys/_types/_useconds_t.h:
/usr/include/sys/_types/_suseconds_t.h:
/usr/include/sys/_types/_pthread_cond_t.h:
/usr/include/sys/_types/_pthread_condattr_t.h:
/usr/include/sys/_types/_pthread_mutex_t.h:
/usr/include/sys/_types/_pthread_mutexattr_t.h:
/usr/include/sys/_types/_pthread_once_t.h:
/usr/include/sys/_types/_pthread_rwlock_t.h:
/usr/include/sys/_types/_pthread_rwlockattr_t.h:
/usr/include/sys/_types/_pthread_t.h:
/usr/include/sys/_types/_pthread_key_t.h:
/usr/include/sys/_types/_fsblkcnt_t.h:
/usr/include/sys/_types/_fsfilcnt_t.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/_types/_posix_vdisable.h:
/usr/include/sys/_types/_seek_set.h:
pnginfo.h:
pngdebug.h:
/usr/include/errno.h:
/usr/include/sys/errno.h:
pngrio.lo: pngrio.c pngpriv.h /usr/include/stdlib.h \
/usr/include/Availability.h /usr/include/AvailabilityInternal.h \
/usr/include/_types.h /usr/include/sys/_types.h \
/usr/include/sys/cdefs.h /usr/include/sys/_symbol_aliasing.h \
/usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/sys/wait.h \
/usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
/usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
/usr/include/machine/signal.h /usr/include/i386/signal.h \
/usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
/usr/include/mach/i386/_structs.h \
/usr/include/sys/_types/_sigaltstack.h \
/usr/include/sys/_types/_ucontext.h \
/usr/include/sys/_types/_pthread_attr_t.h \
/usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
/usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
/usr/include/sys/_types/_timeval.h /usr/include/sys/_types/_wchar_t.h \
/usr/include/sys/_types/_null.h /usr/include/string.h \
/usr/include/secure/_string.h /usr/include/secure/_common.h config.h \
pnglibconf.h png.h pngconf.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h \
/usr/include/stdio.h /usr/include/sys/_types/_va_list.h \
/usr/include/secure/_stdio.h /usr/include/setjmp.h /usr/include/time.h \
/usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/sys/_types/_timespec.h /usr/include/sys/_types/_clock_t.h \
/usr/include/sys/_types/_time_t.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h \
/usr/include/math.h pngstruct.h /usr/include/zlib.h \
/usr/include/zconf.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/sys/_types/_int8_t.h /usr/include/sys/_types/_int16_t.h \
/usr/include/sys/_types/_int32_t.h /usr/include/sys/_types/_int64_t.h \
/usr/include/sys/_types/_intptr_t.h \
/usr/include/sys/_types/_uintptr_t.h \
/usr/include/sys/_types/___offsetof.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_types/_dev_t.h \
/usr/include/sys/_types/_blkcnt_t.h \
/usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
/usr/include/sys/_types/_in_addr_t.h \
/usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
/usr/include/sys/_types/_key_t.h /usr/include/sys/_types/_mode_t.h \
/usr/include/sys/_types/_nlink_t.h /usr/include/sys/_types/_off_t.h \
/usr/include/sys/_types/_ssize_t.h \
/usr/include/sys/_types/_useconds_t.h \
/usr/include/sys/_types/_suseconds_t.h \
/usr/include/sys/_types/_pthread_cond_t.h \
/usr/include/sys/_types/_pthread_condattr_t.h \
/usr/include/sys/_types/_pthread_mutex_t.h \
/usr/include/sys/_types/_pthread_mutexattr_t.h \
/usr/include/sys/_types/_pthread_once_t.h \
/usr/include/sys/_types/_pthread_rwlock_t.h \
/usr/include/sys/_types/_pthread_rwlockattr_t.h \
/usr/include/sys/_types/_pthread_t.h \
/usr/include/sys/_types/_pthread_key_t.h \
/usr/include/sys/_types/_fsblkcnt_t.h \
/usr/include/sys/_types/_fsfilcnt_t.h /usr/include/unistd.h \
/usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
/usr/include/sys/_types/_seek_set.h pnginfo.h pngdebug.h
pngpriv.h:
/usr/include/stdlib.h:
/usr/include/Availability.h:
/usr/include/AvailabilityInternal.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/sys/cdefs.h:
/usr/include/sys/_symbol_aliasing.h:
/usr/include/sys/_posix_availability.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/sys/wait.h:
/usr/include/sys/_types/_pid_t.h:
/usr/include/sys/_types/_id_t.h:
/usr/include/sys/signal.h:
/usr/include/sys/appleapiopts.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/machine/_mcontext.h:
/usr/include/i386/_mcontext.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/_types/_sigaltstack.h:
/usr/include/sys/_types/_ucontext.h:
/usr/include/sys/_types/_pthread_attr_t.h:
/usr/include/sys/_types/_sigset_t.h:
/usr/include/sys/_types/_size_t.h:
/usr/include/sys/_types/_uid_t.h:
/usr/include/sys/resource.h:
/usr/include/sys/_types/_timeval.h:
/usr/include/sys/_types/_wchar_t.h:
/usr/include/sys/_types/_null.h:
/usr/include/string.h:
/usr/include/secure/_string.h:
/usr/include/secure/_common.h:
config.h:
pnglibconf.h:
png.h:
pngconf.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h:
/usr/include/stdio.h:
/usr/include/sys/_types/_va_list.h:
/usr/include/secure/_stdio.h:
/usr/include/setjmp.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/sys/_types/_timespec.h:
/usr/include/sys/_types/_clock_t.h:
/usr/include/sys/_types/_time_t.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h:
/usr/include/math.h:
pngstruct.h:
/usr/include/zlib.h:
/usr/include/zconf.h:
/usr/include/sys/types.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/sys/_types/_int8_t.h:
/usr/include/sys/_types/_int16_t.h:
/usr/include/sys/_types/_int32_t.h:
/usr/include/sys/_types/_int64_t.h:
/usr/include/sys/_types/_intptr_t.h:
/usr/include/sys/_types/_uintptr_t.h:
/usr/include/sys/_types/___offsetof.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_types/_dev_t.h:
/usr/include/sys/_types/_blkcnt_t.h:
/usr/include/sys/_types/_blksize_t.h:
/usr/include/sys/_types/_gid_t.h:
/usr/include/sys/_types/_in_addr_t.h:
/usr/include/sys/_types/_in_port_t.h:
/usr/include/sys/_types/_ino_t.h:
/usr/include/sys/_types/_key_t.h:
/usr/include/sys/_types/_mode_t.h:
/usr/include/sys/_types/_nlink_t.h:
/usr/include/sys/_types/_off_t.h:
/usr/include/sys/_types/_ssize_t.h:
/usr/include/sys/_types/_useconds_t.h:
/usr/include/sys/_types/_suseconds_t.h:
/usr/include/sys/_types/_pthread_cond_t.h:
/usr/include/sys/_types/_pthread_condattr_t.h:
/usr/include/sys/_types/_pthread_mutex_t.h:
/usr/include/sys/_types/_pthread_mutexattr_t.h:
/usr/include/sys/_types/_pthread_once_t.h:
/usr/include/sys/_types/_pthread_rwlock_t.h:
/usr/include/sys/_types/_pthread_rwlockattr_t.h:
/usr/include/sys/_types/_pthread_t.h:
/usr/include/sys/_types/_pthread_key_t.h:
/usr/include/sys/_types/_fsblkcnt_t.h:
/usr/include/sys/_types/_fsfilcnt_t.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/_types/_posix_vdisable.h:
/usr/include/sys/_types/_seek_set.h:
pnginfo.h:
pngdebug.h:
pngrtran.lo: pngrtran.c pngpriv.h /usr/include/stdlib.h \
/usr/include/Availability.h /usr/include/AvailabilityInternal.h \
/usr/include/_types.h /usr/include/sys/_types.h \
/usr/include/sys/cdefs.h /usr/include/sys/_symbol_aliasing.h \
/usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/sys/wait.h \
/usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
/usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
/usr/include/machine/signal.h /usr/include/i386/signal.h \
/usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
/usr/include/mach/i386/_structs.h \
/usr/include/sys/_types/_sigaltstack.h \
/usr/include/sys/_types/_ucontext.h \
/usr/include/sys/_types/_pthread_attr_t.h \
/usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
/usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
/usr/include/sys/_types/_timeval.h /usr/include/sys/_types/_wchar_t.h \
/usr/include/sys/_types/_null.h /usr/include/string.h \
/usr/include/secure/_string.h /usr/include/secure/_common.h config.h \
pnglibconf.h png.h pngconf.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h \
/usr/include/stdio.h /usr/include/sys/_types/_va_list.h \
/usr/include/secure/_stdio.h /usr/include/setjmp.h /usr/include/time.h \
/usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/sys/_types/_timespec.h /usr/include/sys/_types/_clock_t.h \
/usr/include/sys/_types/_time_t.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h \
/usr/include/math.h pngstruct.h /usr/include/zlib.h \
/usr/include/zconf.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/sys/_types/_int8_t.h /usr/include/sys/_types/_int16_t.h \
/usr/include/sys/_types/_int32_t.h /usr/include/sys/_types/_int64_t.h \
/usr/include/sys/_types/_intptr_t.h \
/usr/include/sys/_types/_uintptr_t.h \
/usr/include/sys/_types/___offsetof.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_types/_dev_t.h \
/usr/include/sys/_types/_blkcnt_t.h \
/usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
/usr/include/sys/_types/_in_addr_t.h \
/usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
/usr/include/sys/_types/_key_t.h /usr/include/sys/_types/_mode_t.h \
/usr/include/sys/_types/_nlink_t.h /usr/include/sys/_types/_off_t.h \
/usr/include/sys/_types/_ssize_t.h \
/usr/include/sys/_types/_useconds_t.h \
/usr/include/sys/_types/_suseconds_t.h \
/usr/include/sys/_types/_pthread_cond_t.h \
/usr/include/sys/_types/_pthread_condattr_t.h \
/usr/include/sys/_types/_pthread_mutex_t.h \
/usr/include/sys/_types/_pthread_mutexattr_t.h \
/usr/include/sys/_types/_pthread_once_t.h \
/usr/include/sys/_types/_pthread_rwlock_t.h \
/usr/include/sys/_types/_pthread_rwlockattr_t.h \
/usr/include/sys/_types/_pthread_t.h \
/usr/include/sys/_types/_pthread_key_t.h \
/usr/include/sys/_types/_fsblkcnt_t.h \
/usr/include/sys/_types/_fsfilcnt_t.h /usr/include/unistd.h \
/usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
/usr/include/sys/_types/_seek_set.h pnginfo.h pngdebug.h
pngpriv.h:
/usr/include/stdlib.h:
/usr/include/Availability.h:
/usr/include/AvailabilityInternal.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/sys/cdefs.h:
/usr/include/sys/_symbol_aliasing.h:
/usr/include/sys/_posix_availability.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/sys/wait.h:
/usr/include/sys/_types/_pid_t.h:
/usr/include/sys/_types/_id_t.h:
/usr/include/sys/signal.h:
/usr/include/sys/appleapiopts.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/machine/_mcontext.h:
/usr/include/i386/_mcontext.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/_types/_sigaltstack.h:
/usr/include/sys/_types/_ucontext.h:
/usr/include/sys/_types/_pthread_attr_t.h:
/usr/include/sys/_types/_sigset_t.h:
/usr/include/sys/_types/_size_t.h:
/usr/include/sys/_types/_uid_t.h:
/usr/include/sys/resource.h:
/usr/include/sys/_types/_timeval.h:
/usr/include/sys/_types/_wchar_t.h:
/usr/include/sys/_types/_null.h:
/usr/include/string.h:
/usr/include/secure/_string.h:
/usr/include/secure/_common.h:
config.h:
pnglibconf.h:
png.h:
pngconf.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h:
/usr/include/stdio.h:
/usr/include/sys/_types/_va_list.h:
/usr/include/secure/_stdio.h:
/usr/include/setjmp.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/sys/_types/_timespec.h:
/usr/include/sys/_types/_clock_t.h:
/usr/include/sys/_types/_time_t.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h:
/usr/include/math.h:
pngstruct.h:
/usr/include/zlib.h:
/usr/include/zconf.h:
/usr/include/sys/types.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/sys/_types/_int8_t.h:
/usr/include/sys/_types/_int16_t.h:
/usr/include/sys/_types/_int32_t.h:
/usr/include/sys/_types/_int64_t.h:
/usr/include/sys/_types/_intptr_t.h:
/usr/include/sys/_types/_uintptr_t.h:
/usr/include/sys/_types/___offsetof.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_types/_dev_t.h:
/usr/include/sys/_types/_blkcnt_t.h:
/usr/include/sys/_types/_blksize_t.h:
/usr/include/sys/_types/_gid_t.h:
/usr/include/sys/_types/_in_addr_t.h:
/usr/include/sys/_types/_in_port_t.h:
/usr/include/sys/_types/_ino_t.h:
/usr/include/sys/_types/_key_t.h:
/usr/include/sys/_types/_mode_t.h:
/usr/include/sys/_types/_nlink_t.h:
/usr/include/sys/_types/_off_t.h:
/usr/include/sys/_types/_ssize_t.h:
/usr/include/sys/_types/_useconds_t.h:
/usr/include/sys/_types/_suseconds_t.h:
/usr/include/sys/_types/_pthread_cond_t.h:
/usr/include/sys/_types/_pthread_condattr_t.h:
/usr/include/sys/_types/_pthread_mutex_t.h:
/usr/include/sys/_types/_pthread_mutexattr_t.h:
/usr/include/sys/_types/_pthread_once_t.h:
/usr/include/sys/_types/_pthread_rwlock_t.h:
/usr/include/sys/_types/_pthread_rwlockattr_t.h:
/usr/include/sys/_types/_pthread_t.h:
/usr/include/sys/_types/_pthread_key_t.h:
/usr/include/sys/_types/_fsblkcnt_t.h:
/usr/include/sys/_types/_fsfilcnt_t.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/_types/_posix_vdisable.h:
/usr/include/sys/_types/_seek_set.h:
pnginfo.h:
pngdebug.h:
pngrutil.lo: pngrutil.c pngpriv.h /usr/include/stdlib.h \
/usr/include/Availability.h /usr/include/AvailabilityInternal.h \
/usr/include/_types.h /usr/include/sys/_types.h \
/usr/include/sys/cdefs.h /usr/include/sys/_symbol_aliasing.h \
/usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/sys/wait.h \
/usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
/usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
/usr/include/machine/signal.h /usr/include/i386/signal.h \
/usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
/usr/include/mach/i386/_structs.h \
/usr/include/sys/_types/_sigaltstack.h \
/usr/include/sys/_types/_ucontext.h \
/usr/include/sys/_types/_pthread_attr_t.h \
/usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
/usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
/usr/include/sys/_types/_timeval.h /usr/include/sys/_types/_wchar_t.h \
/usr/include/sys/_types/_null.h /usr/include/string.h \
/usr/include/secure/_string.h /usr/include/secure/_common.h config.h \
pnglibconf.h png.h pngconf.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h \
/usr/include/stdio.h /usr/include/sys/_types/_va_list.h \
/usr/include/secure/_stdio.h /usr/include/setjmp.h /usr/include/time.h \
/usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/sys/_types/_timespec.h /usr/include/sys/_types/_clock_t.h \
/usr/include/sys/_types/_time_t.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h \
/usr/include/math.h pngstruct.h /usr/include/zlib.h \
/usr/include/zconf.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/sys/_types/_int8_t.h /usr/include/sys/_types/_int16_t.h \
/usr/include/sys/_types/_int32_t.h /usr/include/sys/_types/_int64_t.h \
/usr/include/sys/_types/_intptr_t.h \
/usr/include/sys/_types/_uintptr_t.h \
/usr/include/sys/_types/___offsetof.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_types/_dev_t.h \
/usr/include/sys/_types/_blkcnt_t.h \
/usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
/usr/include/sys/_types/_in_addr_t.h \
/usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
/usr/include/sys/_types/_key_t.h /usr/include/sys/_types/_mode_t.h \
/usr/include/sys/_types/_nlink_t.h /usr/include/sys/_types/_off_t.h \
/usr/include/sys/_types/_ssize_t.h \
/usr/include/sys/_types/_useconds_t.h \
/usr/include/sys/_types/_suseconds_t.h \
/usr/include/sys/_types/_pthread_cond_t.h \
/usr/include/sys/_types/_pthread_condattr_t.h \
/usr/include/sys/_types/_pthread_mutex_t.h \
/usr/include/sys/_types/_pthread_mutexattr_t.h \
/usr/include/sys/_types/_pthread_once_t.h \
/usr/include/sys/_types/_pthread_rwlock_t.h \
/usr/include/sys/_types/_pthread_rwlockattr_t.h \
/usr/include/sys/_types/_pthread_t.h \
/usr/include/sys/_types/_pthread_key_t.h \
/usr/include/sys/_types/_fsblkcnt_t.h \
/usr/include/sys/_types/_fsfilcnt_t.h /usr/include/unistd.h \
/usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
/usr/include/sys/_types/_seek_set.h pnginfo.h pngdebug.h
pngpriv.h:
/usr/include/stdlib.h:
/usr/include/Availability.h:
/usr/include/AvailabilityInternal.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/sys/cdefs.h:
/usr/include/sys/_symbol_aliasing.h:
/usr/include/sys/_posix_availability.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/sys/wait.h:
/usr/include/sys/_types/_pid_t.h:
/usr/include/sys/_types/_id_t.h:
/usr/include/sys/signal.h:
/usr/include/sys/appleapiopts.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/machine/_mcontext.h:
/usr/include/i386/_mcontext.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/_types/_sigaltstack.h:
/usr/include/sys/_types/_ucontext.h:
/usr/include/sys/_types/_pthread_attr_t.h:
/usr/include/sys/_types/_sigset_t.h:
/usr/include/sys/_types/_size_t.h:
/usr/include/sys/_types/_uid_t.h:
/usr/include/sys/resource.h:
/usr/include/sys/_types/_timeval.h:
/usr/include/sys/_types/_wchar_t.h:
/usr/include/sys/_types/_null.h:
/usr/include/string.h:
/usr/include/secure/_string.h:
/usr/include/secure/_common.h:
config.h:
pnglibconf.h:
png.h:
pngconf.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h:
/usr/include/stdio.h:
/usr/include/sys/_types/_va_list.h:
/usr/include/secure/_stdio.h:
/usr/include/setjmp.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/sys/_types/_timespec.h:
/usr/include/sys/_types/_clock_t.h:
/usr/include/sys/_types/_time_t.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h:
/usr/include/math.h:
pngstruct.h:
/usr/include/zlib.h:
/usr/include/zconf.h:
/usr/include/sys/types.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/sys/_types/_int8_t.h:
/usr/include/sys/_types/_int16_t.h:
/usr/include/sys/_types/_int32_t.h:
/usr/include/sys/_types/_int64_t.h:
/usr/include/sys/_types/_intptr_t.h:
/usr/include/sys/_types/_uintptr_t.h:
/usr/include/sys/_types/___offsetof.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_types/_dev_t.h:
/usr/include/sys/_types/_blkcnt_t.h:
/usr/include/sys/_types/_blksize_t.h:
/usr/include/sys/_types/_gid_t.h:
/usr/include/sys/_types/_in_addr_t.h:
/usr/include/sys/_types/_in_port_t.h:
/usr/include/sys/_types/_ino_t.h:
/usr/include/sys/_types/_key_t.h:
/usr/include/sys/_types/_mode_t.h:
/usr/include/sys/_types/_nlink_t.h:
/usr/include/sys/_types/_off_t.h:
/usr/include/sys/_types/_ssize_t.h:
/usr/include/sys/_types/_useconds_t.h:
/usr/include/sys/_types/_suseconds_t.h:
/usr/include/sys/_types/_pthread_cond_t.h:
/usr/include/sys/_types/_pthread_condattr_t.h:
/usr/include/sys/_types/_pthread_mutex_t.h:
/usr/include/sys/_types/_pthread_mutexattr_t.h:
/usr/include/sys/_types/_pthread_once_t.h:
/usr/include/sys/_types/_pthread_rwlock_t.h:
/usr/include/sys/_types/_pthread_rwlockattr_t.h:
/usr/include/sys/_types/_pthread_t.h:
/usr/include/sys/_types/_pthread_key_t.h:
/usr/include/sys/_types/_fsblkcnt_t.h:
/usr/include/sys/_types/_fsfilcnt_t.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/_types/_posix_vdisable.h:
/usr/include/sys/_types/_seek_set.h:
pnginfo.h:
pngdebug.h:
pngset.lo: pngset.c pngpriv.h /usr/include/stdlib.h \
/usr/include/Availability.h /usr/include/AvailabilityInternal.h \
/usr/include/_types.h /usr/include/sys/_types.h \
/usr/include/sys/cdefs.h /usr/include/sys/_symbol_aliasing.h \
/usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/sys/wait.h \
/usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
/usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
/usr/include/machine/signal.h /usr/include/i386/signal.h \
/usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
/usr/include/mach/i386/_structs.h \
/usr/include/sys/_types/_sigaltstack.h \
/usr/include/sys/_types/_ucontext.h \
/usr/include/sys/_types/_pthread_attr_t.h \
/usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_size_t.h \
/usr/include/sys/_types/_uid_t.h /usr/include/sys/resource.h \
/usr/include/sys/_types/_timeval.h /usr/include/sys/_types/_wchar_t.h \
/usr/include/sys/_types/_null.h /usr/include/string.h \
/usr/include/secure/_string.h /usr/include/secure/_common.h config.h \
pnglibconf.h png.h pngconf.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h \
/usr/include/stdio.h /usr/include/sys/_types/_va_list.h \
/usr/include/secure/_stdio.h /usr/include/setjmp.h /usr/include/time.h \
/usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/sys/_types/_timespec.h /usr/include/sys/_types/_clock_t.h \
/usr/include/sys/_types/_time_t.h \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h \
/usr/include/math.h pngstruct.h /usr/include/zlib.h \
/usr/include/zconf.h /usr/include/sys/types.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/sys/_types/_int8_t.h /usr/include/sys/_types/_int16_t.h \
/usr/include/sys/_types/_int32_t.h /usr/include/sys/_types/_int64_t.h \
/usr/include/sys/_types/_intptr_t.h \
/usr/include/sys/_types/_uintptr_t.h \
/usr/include/sys/_types/___offsetof.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_types/_dev_t.h \
/usr/include/sys/_types/_blkcnt_t.h \
/usr/include/sys/_types/_blksize_t.h /usr/include/sys/_types/_gid_t.h \
/usr/include/sys/_types/_in_addr_t.h \
/usr/include/sys/_types/_in_port_t.h /usr/include/sys/_types/_ino_t.h \
/usr/include/sys/_types/_key_t.h /usr/include/sys/_types/_mode_t.h \
/usr/include/sys/_types/_nlink_t.h /usr/include/sys/_types/_off_t.h \
/usr/include/sys/_types/_ssize_t.h \
/usr/include/sys/_types/_useconds_t.h \
/usr/include/sys/_types/_suseconds_t.h \
/usr/include/sys/_types/_pthread_cond_t.h \
/usr/include/sys/_types/_pthread_condattr_t.h \
/usr/include/sys/_types/_pthread_mutex_t.h \
/usr/include/sys/_types/_pthread_mutexattr_t.h \
/usr/include/sys/_types/_pthread_once_t.h \
/usr/include/sys/_types/_pthread_rwlock_t.h \
/usr/include/sys/_types/_pthread_rwlockattr_t.h \
/usr/include/sys/_types/_pthread_t.h \
/usr/include/sys/_types/_pthread_key_t.h \
/usr/include/sys/_types/_fsblkcnt_t.h \
/usr/include/sys/_types/_fsfilcnt_t.h /usr/include/unistd.h \
/usr/include/sys/unistd.h /usr/include/sys/_types/_posix_vdisable.h \
/usr/include/sys/_types/_seek_set.h pnginfo.h pngdebug.h
pngpriv.h:
/usr/include/stdlib.h:
/usr/include/Availability.h:
/usr/include/AvailabilityInternal.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/sys/cdefs.h:
/usr/include/sys/_symbol_aliasing.h:
/usr/include/sys/_posix_availability.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/sys/wait.h:
/usr/include/sys/_types/_pid_t.h:
/usr/include/sys/_types/_id_t.h:
/usr/include/sys/signal.h:
/usr/include/sys/appleapiopts.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/machine/_mcontext.h:
/usr/include/i386/_mcontext.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/_types/_sigaltstack.h:
/usr/include/sys/_types/_ucontext.h:
/usr/include/sys/_types/_pthread_attr_t.h:
/usr/include/sys/_types/_sigset_t.h:
/usr/include/sys/_types/_size_t.h:
/usr/include/sys/_types/_uid_t.h:
/usr/include/sys/resource.h:
/usr/include/sys/_types/_timeval.h:
/usr/include/sys/_types/_wchar_t.h:
/usr/include/sys/_types/_null.h:
/usr/include/string.h:
/usr/include/secure/_string.h:
/usr/include/secure/_common.h:
config.h:
pnglibconf.h:
png.h:
pngconf.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/limits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h:
/usr/include/stdio.h:
/usr/include/sys/_types/_va_list.h:
/usr/include/secure/_stdio.h:
/usr/include/setjmp.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/sys/_types/_timespec.h:
/usr/include/sys/_types/_clock_t.h:
/usr/include/sys/_types/_time_t.h:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/float.h:
/usr/include/math.h:
pngstruct.h:
/usr/include/zlib.h:
/usr/include/zconf.h:
/usr/include/sys/types.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/sys/_types/_int8_t.h:
/usr/include/sys/_types/_int16_t.h:
/usr/include/sys/_types/_int32_t.h:
/usr/include/sys/_types/_int64_t.h:
/usr/include/sys/_types/_intptr_t.h:
/usr/include/sys/_types/_uintptr_t.h:
/usr/include/sys/_types/___offsetof.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_types/_dev_t.h:
/usr/include/sys/_types/_blkcnt_t.h:
/usr/include/sys/_types/_blksize_t.h:
/usr/include/sys/_types/_gid_t.h:
/usr/include/sys/_types/_in_addr_t.h:
/usr/include/sys/_types/_in_port_t.h:
/usr/include/sys/_types/_ino_t.h:
/usr/include/sys/_types/_key_t.h:
/usr/include/sys/_types/_mode_t.h:
/usr/include/sys/_types/_nlink_t.h:
/usr/include/sys/_types/_off_t.h:
/usr/include/sys/_types/_ssize_t.h:
/usr/include/sys/_types/_useconds_t.h:
/usr/include/sys/_types/_suseconds_t.h:
/usr/include/sys/_types/_pthread_cond_t.h:
/usr/include/sys/_types/_pthread_condattr_t.h:
/usr/include/sys/_types/_pthread_mutex_t.h:
/usr/include/sys/_types/_pthread_mutexattr_t.h:
/usr/include/sys/_types/_pthread_once_t.h:
/usr/include/sys/_types/_pthread_rwlock_t.h:
/usr/include/sys/_types/_pthread_rwlockattr_t.h:
/usr/include/sys/_types/_pthread_t.h:
/usr/include/sys/_types/_pthread_key_t.h:
/usr/include/sys/_types/_fsblkcnt_t.h:
/usr/include/sys/_types/_fsfilcnt_t.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/_types/_posix_vdisable.h:
/usr/include/sys/_types/_seek_set.h:
pnginfo.h:
pngdebug.h:
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment