Plan 9 from Bell Labs’s /usr/web/sources/contrib/steve/root/sys/src/cmd/exifsrv/exif.h

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.



enum {
	TEM = 0x01,
	SOF = 0xC0,
	DHT = 0xC4,
	JPGA = 0xC8,
	DAC = 0xCC,
	RST = 0xD0,
	SOI = 0xD8,
	EOI = 0xD9,
	SOS = 0xDA,
	DQT = 0xDB,
	DNL = 0xDC,
	DRI = 0xDD,
	DHP = 0xDE,
	EXP = 0xDF,
	APP = 0xE0,
	JPG = 0xF0,
	COM = 0xFE,

	JFXX_jpeg = 0x10,

	EXIF = 0x8769,
	EX_toff = 0x0201,
	EX_tlen = 0x0202,
};

typedef struct {
	vlong toff;		// thumbnail offset
	long tlen;		// thumbnail length
	char *mdata;		// metadata buffer
	int mlen;		// metadata length
	Fmt mfmt;		// metadata format string

	char *file;		// physical file accessed
	char mode;		// f/t/m indicating fullsize/thumbnail/metadata
	Biobuf *bp;		// input file
	int intel;		// file is big endian
} Img;	


typedef struct Namval Namval;
struct Namval {
	int val;
	char *name;
};

typedef struct Exif Exif;
struct Exif {
	int useful;
	int tag;
	char *name;
	void (*func)(Img *ip, int base, Exif *, int fmt, int num, int val);
	Namval *nv;
};

extern Exif Table[];

extern void tag_other(Img *, int, Exif *, int, int, int);
extern void tag_shutter(Img *, int, Exif *, int, int, int);
extern void tag_version(Img *, int, Exif *, int, int, int);
extern void tag_comment(Img *, int, Exif *, int, int, int);
extern void tag_apex(Img *, int, Exif *, int, int, int);
extern void tag_distance(Img *, int, Exif *, int, int, int);
extern void tag_lens(Img *, int, Exif *, int, int, int);

extern int jpgopen(char *, int);
extern long jpgpread(int, void *, long, vlong);
extern int jpgclose(int);

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].