Photo

Photo — Photo.

Synopsis




                    flickcurl_photo;
void                flickcurl_free_photo                (flickcurl_photo *photo);
void                flickcurl_free_photos               (flickcurl_photo **photos);
const char*         flickcurl_get_photo_field_label     (flickcurl_photo_field_type field);
char*               flickcurl_photo_as_source_uri       (flickcurl_photo *photo,
                                                         const char c);
                    flickcurl_photo_field;
enum                flickcurl_photo_field_type;
enum                flickcurl_field_value_type;
int                 flickcurl_photos_addTags            (flickcurl *fc,
                                                         const char *photo_id,
                                                         const char *tags);
char*               flickcurl_photos_comments_addComment
                                                        (flickcurl *fc,
                                                         const char *photo_id,
                                                         const char *comment_text);
int                 flickcurl_photos_comments_deleteComment
                                                        (flickcurl *fc,
                                                         const char *comment_id);
int                 flickcurl_photos_comments_editComment
                                                        (flickcurl *fc,
                                                         const char *comment_id,
                                                         const char *comment_text);
flickcurl_comment** flickcurl_photos_comments_getList   (flickcurl *fc,
                                                         const char *photo_id);
int                 flickcurl_photos_delete             (flickcurl *fc,
                                                         const char *photo_id);
flickcurl_location* flickcurl_photos_geo_getLocation    (flickcurl *fc,
                                                         const char *photo_id);
flickcurl_perms*    flickcurl_photos_geo_getPerms       (flickcurl *fc,
                                                         const char *photo_id);
int                 flickcurl_photos_geo_removeLocation (flickcurl *fc,
                                                         const char *photo_id);
int                 flickcurl_photos_geo_setLocation    (flickcurl *fc,
                                                         const char *photo_id,
                                                         flickcurl_location *location);
int                 flickcurl_photos_geo_setPerms       (flickcurl *fc,
                                                         const char *photo_id,
                                                         flickcurl_perms *perms);
flickcurl_context** flickcurl_photos_getAllContexts     (flickcurl *fc,
                                                         const char *photo_id);
flickcurl_photo**   flickcurl_photos_getContactsPhotos  (flickcurl *fc,
                                                         int contact_count,
                                                         int just_friends,
                                                         int single_photo,
                                                         int include_self,
                                                         const char *extras);
flickcurl_photo**   flickcurl_photos_getContactsPublicPhotos
                                                        (flickcurl *fc,
                                                         const char *user_id,
                                                         int photo_count,
                                                         int just_friends,
                                                         int single_photo,
                                                         int include_self,
                                                         const char *extras);
flickcurl_context** flickcurl_photos_getContext         (flickcurl *fc,
                                                         const char *photo_id);
int**               flickcurl_photos_getCounts          (flickcurl *fc,
                                                         const char **dates_array,
                                                         const char **taken_dates_array);
flickcurl_exif**    flickcurl_photos_getExif            (flickcurl *fc,
                                                         const char *photo_id,
                                                         const char *secret);
flickcurl_person**  flickcurl_photos_getFavorites       (flickcurl *fc,
                                                         const char *photo_id,
                                                         int page,
                                                         int per_page);
flickcurl_photo*    flickcurl_photos_getInfo            (flickcurl *fc,
                                                         const char *photo_id);
flickcurl_photo**   flickcurl_photos_getNotInSet        (flickcurl *fc,
                                                         int min_upload_date,
                                                         int max_upload_date,
                                                         const char *min_taken_date,
                                                         const char *max_taken_date,
                                                         int privacy_filter,
                                                         const char *extras,
                                                         int per_page,
                                                         int page);
flickcurl_perms*    flickcurl_photos_getPerms           (flickcurl *fc,
                                                         const char *photo_id);
flickcurl_photo**   flickcurl_photos_getRecent          (flickcurl *fc,
                                                         const char *extras,
                                                         int per_page,
                                                         int page);
flickcurl_size**    flickcurl_photos_getSizes           (flickcurl *fc,
                                                         const char *photo_id);
flickcurl_photo**   flickcurl_photos_getUntagged        (flickcurl *fc,
                                                         int min_upload_date,
                                                         int max_upload_date,
                                                         const char *min_taken_date,
                                                         const char *max_taken_date,
                                                         int privacy_filter,
                                                         const char *extras,
                                                         int per_page,
                                                         int page);
flickcurl_photo**   flickcurl_photos_getWithGeoData     (flickcurl *fc,
                                                         int min_upload_date,
                                                         int max_upload_date,
                                                         const char *min_taken_date,
                                                         const char *max_taken_date,
                                                         int privacy_filter,
                                                         const char *extras,
                                                         int per_page,
                                                         int page);
flickcurl_photo**   flickcurl_photos_getWithoutGeoData  (flickcurl *fc,
                                                         int min_upload_date,
                                                         int max_upload_date,
                                                         const char *min_taken_date,
                                                         const char *max_taken_date,
                                                         int privacy_filter,
                                                         const char *extras,
                                                         int per_page,
                                                         int page);
flickcurl_license** flickcurl_photos_licenses_getInfo   (flickcurl *fc);
flickcurl_license*  flickcurl_photos_licenses_getInfo_by_id
                                                        (flickcurl *fc,
                                                         int id);
int                 flickcurl_photos_licenses_setLicense
                                                        (flickcurl *fc,
                                                         const char *photo_id,
                                                         int license_id);
char*               flickcurl_photos_notes_add          (flickcurl *fc,
                                                         const char *photo_id,
                                                         int note_x,
                                                         int note_y,
                                                         int note_w,
                                                         int note_h,
                                                         const char *note_text);
int                 flickcurl_photos_notes_delete       (flickcurl *fc,
                                                         const char *note_id);
int                 flickcurl_photos_notes_edit         (flickcurl *fc,
                                                         const char *note_id,
                                                         int note_x,
                                                         int note_y,
                                                         int note_w,
                                                         int note_h,
                                                         const char *note_text);
flickcurl_photo**   flickcurl_photos_recentlyUpdated    (flickcurl *fc,
                                                         int min_date,
                                                         const char *extras,
                                                         int per_page,
                                                         int page);
int                 flickcurl_photos_removeTag          (flickcurl *fc,
                                                         const char *tag_id);
flickcurl_upload_status* flickcurl_photos_replace       (flickcurl *fc,
                                                         const char *photo_file,
                                                         const char *photo_id,
                                                         int async);
flickcurl_photo**   flickcurl_photos_search             (flickcurl *fc,
                                                         flickcurl_search_params *params);
                    flickcurl_search_params;
int                 flickcurl_photos_setContentType     (flickcurl *fc,
                                                         const char *photo_id,
                                                         int content_type);
int                 flickcurl_photos_setDates           (flickcurl *fc,
                                                         const char *photo_id,
                                                         int date_posted,
                                                         int date_taken,
                                                         int date_taken_granularity);
int                 flickcurl_photos_setMeta            (flickcurl *fc,
                                                         const char *photo_id,
                                                         const char *title,
                                                         const char *description);
int                 flickcurl_photos_setPerms           (flickcurl *fc,
                                                         const char *photo_id,
                                                         flickcurl_perms *perms);
int                 flickcurl_photos_setSafetyLevel     (flickcurl *fc,
                                                         const char *photo_id,
                                                         int safety_level,
                                                         int hidden);
int                 flickcurl_photos_setTags            (flickcurl *fc,
                                                         const char *photo_id,
                                                         const char *tags);
int                 flickcurl_photos_transform_rotate   (flickcurl *fc,
                                                         const char *photo_id,
                                                         int degrees);
flickcurl_ticket**  flickcurl_photos_upload_checkTickets
                                                        (flickcurl *fc,
                                                         const char **tickets_ids);
flickcurl_upload_status* flickcurl_photos_upload_params (flickcurl *fc,
                                                         flickcurl_upload_params *params);

Description

Photo.

Details

flickcurl_photo

typedef struct {
  char *id;
  char *uri;
  
  flickcurl_tag** tags;
  int tags_count;
  
  flickcurl_photo_field fields[PHOTO_FIELD_LAST + 1];

  flickcurl_place* place;
} flickcurl_photo;

A photo.

char *id;

photo ID

char *uri;

photo page URI

flickcurl_tag **tags;

array of tags (may be NULL)

int tags_count;

size of tags array

flickcurl_photo_field fields[PHOTO_FIELD_LAST + 1];

photo fields

flickcurl_place *place;

photot place

flickcurl_free_photo ()

void                flickcurl_free_photo                (flickcurl_photo *photo);

Destructor for photo object

photo :

photo object

flickcurl_free_photos ()

void                flickcurl_free_photos               (flickcurl_photo **photos);

Destructor for array of photo objects

photos :

photo object array

flickcurl_get_photo_field_label ()

const char*         flickcurl_get_photo_field_label     (flickcurl_photo_field_type field);

Get label for photo field.

field :

field enum

Returns :

label string or NULL if none valid

flickcurl_photo_as_source_uri ()

char*               flickcurl_photo_as_source_uri       (flickcurl_photo *photo,
                                                         const char c);

Get a photo's image source URIs

c can be s,m,t,b for sizes, o for original, otherwise default http://www.flickr.com/services/api/misc.urls.html

photo :

photo object

c :

size s, m, t or b

Returns :

source URI or NULL on failure

flickcurl_photo_field

typedef struct {
  char* string;
  flickcurl_photo_field_type integer;
  flickcurl_field_value_type type;
} flickcurl_photo_field;

Field of a photo structure

char *string;

string field value

flickcurl_photo_field_type integer;

integer field value

flickcurl_field_value_type type;

field type

enum flickcurl_photo_field_type

typedef enum {
  PHOTO_FIELD_none,
  PHOTO_FIELD_dateuploaded,
  PHOTO_FIELD_farm,
  PHOTO_FIELD_isfavorite,
  PHOTO_FIELD_license,
  PHOTO_FIELD_originalformat,
  PHOTO_FIELD_rotation,
  PHOTO_FIELD_server,
  PHOTO_FIELD_dates_lastupdate,
  PHOTO_FIELD_dates_posted,
  PHOTO_FIELD_dates_taken,
  PHOTO_FIELD_dates_takengranularity,
  PHOTO_FIELD_description,
  PHOTO_FIELD_editability_canaddmeta,
  PHOTO_FIELD_editability_cancomment,
  PHOTO_FIELD_geoperms_iscontact,
  PHOTO_FIELD_geoperms_isfamily,
  PHOTO_FIELD_geoperms_isfriend,
  PHOTO_FIELD_geoperms_ispublic,
  PHOTO_FIELD_location_accuracy,
  PHOTO_FIELD_location_latitude,
  PHOTO_FIELD_location_longitude,
  PHOTO_FIELD_owner_location,
  PHOTO_FIELD_owner_nsid,
  PHOTO_FIELD_owner_realname,
  PHOTO_FIELD_owner_username,
  PHOTO_FIELD_title,
  PHOTO_FIELD_visibility_isfamily,
  PHOTO_FIELD_visibility_isfriend,
  PHOTO_FIELD_visibility_ispublic,
  PHOTO_FIELD_secret,
  PHOTO_FIELD_originalsecret,
  PHOTO_FIELD_location_neighborhood,
  PHOTO_FIELD_location_locality,
  PHOTO_FIELD_location_county,
  PHOTO_FIELD_location_region,
  PHOTO_FIELD_location_country,
  PHOTO_FIELD_location_placeid,
  PHOTO_FIELD_neighborhood_placeid,
  PHOTO_FIELD_locality_placeid,
  PHOTO_FIELD_county_placeid,
  PHOTO_FIELD_region_placeid,
  PHOTO_FIELD_country_placeid,
  PHOTO_FIELD_FIRST = PHOTO_FIELD_dateuploaded,
  PHOTO_FIELD_LAST = PHOTO_FIELD_country_placeid,
} flickcurl_photo_field_type;

Fields of a flickcurl_photo*

PHOTO_FIELD_none

internal

PHOTO_FIELD_dateuploaded

date uploaded

PHOTO_FIELD_farm

farm number

PHOTO_FIELD_isfavorite

is favorite boolean

PHOTO_FIELD_license

license

PHOTO_FIELD_originalformat

original format

PHOTO_FIELD_rotation

rotation

PHOTO_FIELD_server

server

PHOTO_FIELD_dates_lastupdate

last update date

PHOTO_FIELD_dates_posted

posted date

PHOTO_FIELD_dates_taken

taken date

PHOTO_FIELD_dates_takengranularity

taken granularity

PHOTO_FIELD_description

description

PHOTO_FIELD_editability_canaddmeta

can add metadata boolean

PHOTO_FIELD_editability_cancomment

can comment boolean

PHOTO_FIELD_geoperms_iscontact

geo perms are for contacts

PHOTO_FIELD_geoperms_isfamily

geo perms are for family

PHOTO_FIELD_geoperms_isfriend

geo perms are for frind

PHOTO_FIELD_geoperms_ispublic

geo perms are for public

PHOTO_FIELD_location_accuracy

location accuracy

PHOTO_FIELD_location_latitude

location latitude

PHOTO_FIELD_location_longitude

location longitude

PHOTO_FIELD_owner_location

owner location

PHOTO_FIELD_owner_nsid

owner NSID

PHOTO_FIELD_owner_realname

owner real name

PHOTO_FIELD_owner_username

owner user name

PHOTO_FIELD_title

title

PHOTO_FIELD_visibility_isfamily

visibility is for family

PHOTO_FIELD_visibility_isfriend

visibility is for friend

PHOTO_FIELD_visibility_ispublic

visibility is for public

PHOTO_FIELD_secret

photo secret

PHOTO_FIELD_originalsecret

photo original secret

PHOTO_FIELD_location_neighborhood

location neighborhood

PHOTO_FIELD_location_locality

location locality

PHOTO_FIELD_location_county

location county

PHOTO_FIELD_location_region

location region

PHOTO_FIELD_location_country

location country

PHOTO_FIELD_location_placeid

location place ID

PHOTO_FIELD_neighborhood_placeid

neighborhood place ID

PHOTO_FIELD_locality_placeid

locality place ID

PHOTO_FIELD_county_placeid

county place ID

PHOTO_FIELD_region_placeid

region place ID

PHOTO_FIELD_country_placeid

country place ID

PHOTO_FIELD_FIRST

internal offset to first in enum list

PHOTO_FIELD_LAST

internal offset to last in enum list

enum flickcurl_field_value_type

typedef enum {
  VALUE_TYPE_NONE, /* empty field */
  VALUE_TYPE_PHOTO_ID, /* internal */
  VALUE_TYPE_PHOTO_URI, /* internal */
  VALUE_TYPE_UNIXTIME,
  VALUE_TYPE_BOOLEAN,
  VALUE_TYPE_DATETIME,
  VALUE_TYPE_FLOAT,
  VALUE_TYPE_INTEGER,
  VALUE_TYPE_STRING,
  VALUE_TYPE_URI,
  VALUE_TYPE_PERSON_ID, /* internal */
  VALUE_TYPE_LAST = VALUE_TYPE_PERSON_ID
} flickcurl_field_value_type;

Field data types

VALUE_TYPE_NONE

internal

VALUE_TYPE_PHOTO_ID

photo ID

VALUE_TYPE_PHOTO_URI

photo URI

VALUE_TYPE_UNIXTIME

a unixtime

VALUE_TYPE_BOOLEAN

boolean

VALUE_TYPE_DATETIME

date time

VALUE_TYPE_FLOAT

floating point number

VALUE_TYPE_INTEGER

integer

VALUE_TYPE_STRING

string

VALUE_TYPE_URI

URI

VALUE_TYPE_PERSON_ID

person ID

VALUE_TYPE_LAST

internal offset to last in enum list

flickcurl_photos_addTags ()

int                 flickcurl_photos_addTags            (flickcurl *fc,
                                                         const char *photo_id,
                                                         const char *tags);

Add tags to a photo.

Implements flickr.photos.addTags (0.9)

fc :

flickcurl context

photo_id :

photo ID

tags :

tags to add as a space-separated list

Returns :

non-0 on failure

flickcurl_photos_comments_addComment ()

char*               flickcurl_photos_comments_addComment
                                                        (flickcurl *fc,
                                                         const char *photo_id,
                                                         const char *comment_text);

Add comment to a photo as the currently authenticated user.

Implements flickr.photos.comments.addComment (0.10)

fc :

flickcurl context

photo_id :

The id of the photo to add a comment to.

comment_text :

Text of the comment

Returns :

new comment ID or non-NULL on failure

flickcurl_photos_comments_deleteComment ()

int                 flickcurl_photos_comments_deleteComment
                                                        (flickcurl *fc,
                                                         const char *comment_id);

Delete a comment as the currently authenticated user.

Implements flickr.photos.comments.deleteComment (0.10)

fc :

flickcurl context

comment_id :

The id of the comment to edit.

Returns :

non-0 on failure

flickcurl_photos_comments_editComment ()

int                 flickcurl_photos_comments_editComment
                                                        (flickcurl *fc,
                                                         const char *comment_id,
                                                         const char *comment_text);

Edit the text of a comment as the currently authenticated user.

Implements flickr.photos.comments.editComment (0.10)

fc :

flickcurl context

comment_id :

The id of the comment to edit.

comment_text :

Update the comment to this text.

Returns :

non-0 on failure

flickcurl_photos_comments_getList ()

flickcurl_comment** flickcurl_photos_comments_getList   (flickcurl *fc,
                                                         const char *photo_id);

Returns the comments for a photo

Implements flickr.photos.comments.getList (0.10)

fc :

flickcurl context

photo_id :

The id of the photo to fetch comments for.

Returns :

array of comments or NULL on failure

flickcurl_photos_delete ()

int                 flickcurl_photos_delete             (flickcurl *fc,
                                                         const char *photo_id);

Delete a photo.

Implements flickr.photos.delete (0.9)

fc :

flickcurl context

photo_id :

photo ID

Returns :

non-0 on failure

flickcurl_photos_geo_getLocation ()

flickcurl_location* flickcurl_photos_geo_getLocation    (flickcurl *fc,
                                                         const char *photo_id);

Get the geo data (latitude and longitude and the accuracy level) for a photo.

Implements flickr.photos.geo.getLocation (0.12)

fc :

flickcurl context

photo_id :

The id of the photo you want to retrieve location data for.

Returns :

non-0 on failure

flickcurl_photos_geo_getPerms ()

flickcurl_perms*    flickcurl_photos_geo_getPerms       (flickcurl *fc,
                                                         const char *photo_id);

Get permissions for who may view geo data for a photo.

Implements flickr.photos.geo.getPerms (0.12)

fc :

flickcurl context

photo_id :

The id of the photo to get permissions for.

Returns :

non-0 on failure

flickcurl_photos_geo_removeLocation ()

int                 flickcurl_photos_geo_removeLocation (flickcurl *fc,
                                                         const char *photo_id);

Removes the geo data associated with a photo.

Implements flickr.photos.geo.removeLocation (0.12)

fc :

flickcurl context

photo_id :

The id of the photo you want to remove location data from.

Returns :

non-0 on failure

flickcurl_photos_geo_setLocation ()

int                 flickcurl_photos_geo_setLocation    (flickcurl *fc,
                                                         const char *photo_id,
                                                         flickcurl_location *location);

Sets the geo data (latitude and longitude and, optionally, the accuracy level) for a photo.

Implements flickr.photos.geo.setLocation (0.12)

fc :

flickcurl context

photo_id :

The id of the photo to set location data for.

location :

The location

Returns :

non-0 on failure

flickcurl_photos_geo_setPerms ()

int                 flickcurl_photos_geo_setPerms       (flickcurl *fc,
                                                         const char *photo_id,
                                                         flickcurl_perms *perms);

Set the permission for who may view the geo data associated with a photo.

Implements flickr.photos.geo.setPerms (0.12)

fc :

flickcurl context

photo_id :

The id of the photo to get permissions for.

perms :

Geo permissions

Returns :

non-0 on failure

flickcurl_photos_getAllContexts ()

flickcurl_context** flickcurl_photos_getAllContexts     (flickcurl *fc,
                                                         const char *photo_id);

Get all visible sets and pools the photo belongs to.

Implements flickr.photos.getAllContexts (0.7)

Returns an array of size 3 [prev, next, NULL] flickcurl_context* or NULL on error

fc :

flickcurl context

photo_id :

photo ID

Returns :

prev, next contexts or NULL

flickcurl_photos_getContactsPhotos ()

flickcurl_photo**   flickcurl_photos_getContactsPhotos  (flickcurl *fc,
                                                         int contact_count,
                                                         int just_friends,
                                                         int single_photo,
                                                         int include_self,
                                                         const char *extras);

Fetch a list of recent photos from the calling users' contacts.

Implements flickr.photos.getContactsPhotos (0.11)

fc :

flickcurl context

contact_count :

Number of photos to return (Default 10, maximum 50)

just_friends :

Set to non-0 to only show photos from friends and family (excluding regular contacts).

single_photo :

Set to non-0 to only fetch one photo (the latest) per contact, instead of all photos in chronological order.

include_self :

Set to non-0 to include photos from the calling user.

extras :

A comma-delimited list of extra information to fetch for each returned record. Currently supported fields are: license, date_upload, date_taken, owner_name, icon_server, original_format, last_update (or NULL for no extras)

Returns :

non-0 on failure

flickcurl_photos_getContactsPublicPhotos ()

flickcurl_photo**   flickcurl_photos_getContactsPublicPhotos
                                                        (flickcurl *fc,
                                                         const char *user_id,
                                                         int photo_count,
                                                         int just_friends,
                                                         int single_photo,
                                                         int include_self,
                                                         const char *extras);

Fetch a list of recent public photos from a users' contacts.

Implements flickr.photos.getContactsPublicPhotos (0.12)

fc :

flickcurl context

user_id :

The NSID of the user to fetch photos for.

photo_count :

Number of photos to return (Default 10, maximum 50)

just_friends :

Set to non-0 to only show photos from friends and family (excluding regular contacts)

single_photo :

Set to non-0 to only fetch one photo (the latest) per contact, instead of all photos in chronological order.

include_self :

Set to non-0 to include photos from the user specified by user_id.

extras :

A comma-delimited list of extra information to fetch for each returned record. Currently supported fields are: license, date_upload, date_taken, owner_name, icon_server, original_format, last_update. (or NULL)

Returns :

a list of photos or NULL on failure

flickcurl_photos_getContext ()

flickcurl_context** flickcurl_photos_getContext         (flickcurl *fc,
                                                         const char *photo_id);

Get next and previous photos for a photo in a photostream.

Implements flickr.photos.getContext (0.7)

Returns an array of size 3 [prev, next, NULL] flickcurl_context* or NULL on error

fc :

flickcurl context

photo_id :

photo ID

Returns :

prev, next contexts or NULL

flickcurl_photos_getCounts ()

int**               flickcurl_photos_getCounts          (flickcurl *fc,
                                                         const char **dates_array,
                                                         const char **taken_dates_array);

Gets a list of photo counts for the given date ranges for the calling user.

Implements flickr.photos.getCounts (0.13)

The return array fields are: [0] count [1] fromdate as unixtime [2] todate as unixtime

fc :

flickcurl context

dates_array :

A comma delimited list of unix timestamps, denoting the periods to return counts for. They should be specified smallest first. (or NULL)

taken_dates_array :

A comma delimited list of mysql datetimes, denoting the periods to return counts for. They should be specified mallest first. (or NULL)

Returns :

array of int[3] or NULL on failure

flickcurl_photos_getExif ()

flickcurl_exif**    flickcurl_photos_getExif            (flickcurl *fc,
                                                         const char *photo_id,
                                                         const char *secret);

Retrieves a list of EXIF/TIFF/GPS tags for a given photo.

Implements flickr.photos.getExif (0.12)

fc :

flickcurl context

photo_id :

The id of the photo to fetch information for.

secret :

The secret for the photo (or NULL) If the correct secret is passed then permissions checking is skipped. This enables the 'sharing' of individual photos by passing around the id and secret.

Returns :

non-0 on failure

flickcurl_photos_getFavorites ()

flickcurl_person**  flickcurl_photos_getFavorites       (flickcurl *fc,
                                                         const char *photo_id,
                                                         int page,
                                                         int per_page);

Returns the list of people who have favorited a given photo.

Implements flickr.photos.getFavorites (0.12)

fc :

flickcurl context

photo_id :

The ID of the photo to fetch the favoriters list for.

page :

The page of results to return (default 1)

per_page :

Number of users to return per page (default 10, max 50)

Returns :

non-0 on failure

flickcurl_photos_getInfo ()

flickcurl_photo*    flickcurl_photos_getInfo            (flickcurl *fc,
                                                         const char *photo_id);

Get information about a photo

Implements flickr.photos.getInfo (0.5)

fc :

flickcurl context

photo_id :

photo ID

Returns :

flickcurl_photo or NULL on failure

flickcurl_photos_getNotInSet ()

flickcurl_photo**   flickcurl_photos_getNotInSet        (flickcurl *fc,
                                                         int min_upload_date,
                                                         int max_upload_date,
                                                         const char *min_taken_date,
                                                         const char *max_taken_date,
                                                         int privacy_filter,
                                                         const char *extras,
                                                         int per_page,
                                                         int page);

Returns a list of your photos that are not part of any sets.

Implements flickr.photos.getNotInSet (0.12)

fc :

flickcurl context

min_upload_date :

Minimum upload date.

max_upload_date :

Maximum upload date.

min_taken_date :

Minimum taken date (or NULL).

max_taken_date :

Maximum taken date (or NULL).

privacy_filter :

Return photos only matching a certain privacy level. Valid privacy values are: 1 public, 2 friends, 3 family, 4 friends and family, 5 private

extras :

A comma-delimited list of extra information to fetch for each returned record (or NULL) Currently supported fields are: license, date_upload, date_taken, owner_name, icon_server, original_format, last_update, geo, tags, machine_tags.

per_page :

Number of photos to return per page (default 100, max 500).

page :

The page of results to return (default 1).

Returns :

a list of photos or NULL on failure

flickcurl_photos_getPerms ()

flickcurl_perms*    flickcurl_photos_getPerms           (flickcurl *fc,
                                                         const char *photo_id);

Get permissions for a photo.

Implements flickr.photos.getPerms (0.11)

fc :

flickcurl context

photo_id :

The id of the photo to get permissions for.

Returns :

permissions or NULL on failure

flickcurl_photos_getRecent ()

flickcurl_photo**   flickcurl_photos_getRecent          (flickcurl *fc,
                                                         const char *extras,
                                                         int per_page,
                                                         int page);

Returns a list of the latest public photos uploaded to flickr.

Implements flickr.photos.getRecent (0.12)

fc :

flickcurl context

extras :

A comma-delimited list of extra information to fetch for each returned record (or NULL) Currently supported fields are: license, date_upload, date_taken, owner_name, icon_server, original_format, last_update, geo, tags, machine_tags.

per_page :

Number of photos to return per page (default 100, max 500)

page :

The page of results to return (default 1)

Returns :

non-0 on failure

flickcurl_photos_getSizes ()

flickcurl_size**    flickcurl_photos_getSizes           (flickcurl *fc,
                                                         const char *photo_id);

Returns the available sizes for a photo. The calling user must have permission to view the photo.

Implements flickr.photos.getSizes (0.13)

fc :

flickcurl context

photo_id :

The id of the photo to fetch size information for.

Returns :

non-0 on failure

flickcurl_photos_getUntagged ()

flickcurl_photo**   flickcurl_photos_getUntagged        (flickcurl *fc,
                                                         int min_upload_date,
                                                         int max_upload_date,
                                                         const char *min_taken_date,
                                                         const char *max_taken_date,
                                                         int privacy_filter,
                                                         const char *extras,
                                                         int per_page,
                                                         int page);

Returns a list of your photos with no tags.

Implements flickr.photos.getUntagged (0.12)

fc :

flickcurl context

min_upload_date :

Minimum upload date.

max_upload_date :

Maximum upload date.

min_taken_date :

Minimum taken date (or NULL)

max_taken_date :

Maximum taken date (or NULL)

privacy_filter :

Return photos only matching a certain privacy level. Valid privacy values are: 1 public, 2 friends, 3 family, 4 friends and family, 5 private

extras :

A comma-delimited list of extra information to fetch for each returned record (or NULL) Currently supported fields are: license, date_upload, date_taken, owner_name, icon_server, original_format, last_update, geo, tags, machine_tags.

per_page :

Number of photos to return per page (default 100, max 500).

page :

The page of results to return (default 1).

Returns :

a list of photos or NULL on failure

flickcurl_photos_getWithGeoData ()

flickcurl_photo**   flickcurl_photos_getWithGeoData     (flickcurl *fc,
                                                         int min_upload_date,
                                                         int max_upload_date,
                                                         const char *min_taken_date,
                                                         const char *max_taken_date,
                                                         int privacy_filter,
                                                         const char *extras,
                                                         int per_page,
                                                         int page);

Returns a list of your geo-tagged photos.

Implements flickr.photos.getWithGeoData (0.12)

fc :

flickcurl context

min_upload_date :

Minimum upload date. Photos with an upload date greater than or equal to this value will be returned. The date should be in the form of a unix timestamp. (or NULL)

max_upload_date :

Maximum upload date. Photos with an upload date less than or equal to this value will be returned. The date should be in the form of a unix timestamp. (or NULL)

min_taken_date :

Minimum taken date. Photos with an taken date greater than or equal to this value will be returned. The date should be in the form of a mysql datetime. (or NULL)

max_taken_date :

Maximum taken date. Photos with an taken date less than or equal to this value will be returned. The date should be in the form of a mysql datetime. (or NULL)

privacy_filter :

Return photos only matching a certain privacy level. Valid values are: 1 public photos; 2 private photos visible to friends; 3 private photos visible to family; 4 private photos visible to friends and family; 5 completely private photos. (or NULL)

extras :

A comma-delimited list of extra information to fetch for each returned record. Currently supported fields are: license, date_upload, date_taken, owner_name, icon_server, original_format, last_update, geo, tags, machine_tags. (or NULL)

per_page :

Number of photos to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500. (or NULL)

page :

The page of results to return. If this argument is omitted, it defaults to 1. (or NULL)

Returns :

non-0 on failure

flickcurl_photos_getWithoutGeoData ()

flickcurl_photo**   flickcurl_photos_getWithoutGeoData  (flickcurl *fc,
                                                         int min_upload_date,
                                                         int max_upload_date,
                                                         const char *min_taken_date,
                                                         const char *max_taken_date,
                                                         int privacy_filter,
                                                         const char *extras,
                                                         int per_page,
                                                         int page);

Returns a list of your photos which haven't been geo-tagged.

Implements flickr.photos.getWithoutGeoData (0.12)

fc :

flickcurl context

min_upload_date :

Minimum upload date. Photos with an upload date greater than or equal to this value will be returned. The date should be in the form of a unix timestamp. (or NULL)

max_upload_date :

Maximum upload date. Photos with an upload date less than or equal to this value will be returned. The date should be in the form of a unix timestamp. (or NULL)

min_taken_date :

Minimum taken date. Photos with an taken date greater than or equal to this value will be returned. The date should be in the form of a mysql datetime. (or NULL)

max_taken_date :

Maximum taken date. Photos with an taken date less than or equal to this value will be returned. The date should be in the form of a mysql datetime. (or NULL)

privacy_filter :

Return photos only matching a certain privacy level. Valid values are: 1 public photos; 2 private photos visible to friends; 3 private photos visible to family; 4 private photos visible to friends and family; 5 completely private photos. (or NULL)

extras :

A comma-delimited list of extra information to fetch for each returned record. Currently supported fields are: license, date_upload, date_taken, owner_name, icon_server, original_format, last_update, geo, tags, machine_tags. (or NULL)

per_page :

Number of photos to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500. (or NULL)

page :

The page of results to return. If this argument is omitted, it defaults to 1. (or NULL)

Returns :

non-0 on failure

flickcurl_photos_licenses_getInfo ()

flickcurl_license** flickcurl_photos_licenses_getInfo   (flickcurl *fc);

Get a list of available photo licenses for Flickr.

Implements flickr.photos.licenses.getInfo (0.6)

fc :

flickcurl context

Returns :

an array of flickcurl_license or NULL on failure

flickcurl_photos_licenses_getInfo_by_id ()

flickcurl_license*  flickcurl_photos_licenses_getInfo_by_id
                                                        (flickcurl *fc,
                                                         int id);

Get an individual photo license by ID

Not part of the Flickr API.

fc :

flickcurl context

id :

license ID

Returns :

a flickcurl_license or NULL on failure

flickcurl_photos_licenses_setLicense ()

int                 flickcurl_photos_licenses_setLicense
                                                        (flickcurl *fc,
                                                         const char *photo_id,
                                                         int license_id);

Sets the license for a photo.

Implements flickr.photos.licenses.setLicense (0.12)

fc :

flickcurl context

photo_id :

The photo to update the license for.

license_id :

The license to apply, or 0 (zero) to remove the current license.

Returns :

non-0 on failure

flickcurl_photos_notes_add ()

char*               flickcurl_photos_notes_add          (flickcurl *fc,
                                                         const char *photo_id,
                                                         int note_x,
                                                         int note_y,
                                                         int note_w,
                                                         int note_h,
                                                         const char *note_text);

Add a note to a photo.

Coordinates and sizes are in pixels, based on the 500px image size shown on individual photo pages.

Implements flickr.photos.notes.add (0.12)

fc :

flickcurl context

photo_id :

The id of the photo to add a note to

note_x :

The left coordinate of the note

note_y :

The top coordinate of the note

note_w :

The width of the note

note_h :

The height of the note

note_text :

The description of the note

Returns :

note ID or NULL on failure

flickcurl_photos_notes_delete ()

int                 flickcurl_photos_notes_delete       (flickcurl *fc,
                                                         const char *note_id);

Delete a note from a photo.

Implements flickr.photos.notes.delete (0.12)

fc :

flickcurl context

note_id :

The id of the note to delete

Returns :

non-0 on failure

flickcurl_photos_notes_edit ()

int                 flickcurl_photos_notes_edit         (flickcurl *fc,
                                                         const char *note_id,
                                                         int note_x,
                                                         int note_y,
                                                         int note_w,
                                                         int note_h,
                                                         const char *note_text);

Edit a note on a photo. Coordinates and sizes are in pixels, based on the 500px image size shown on individual photo pages.

Implements flickr.photos.notes.edit (0.12)

fc :

flickcurl context

note_id :

The id of the note to edit

note_x :

The left coordinate of the note

note_y :

The top coordinate of the note

note_w :

The width of the note

note_h :

The height of the note

note_text :

The description of the note

Returns :

non-0 on failure

flickcurl_photos_recentlyUpdated ()

flickcurl_photo**   flickcurl_photos_recentlyUpdated    (flickcurl *fc,
                                                         int min_date,
                                                         const char *extras,
                                                         int per_page,
                                                         int page);

Return a list of your photos that have been recently created or which have been recently modified

Recently modified may mean that the photo's metadata (title, description, tags) may have been changed or a comment has been added (or just modified somehow :-)

Implements flickr.photos.recentlyUpdated (0.12)

fc :

flickcurl context

min_date :

A Unix timestamp indicating the date from which modifications should be compared.

extras :

A comma-delimited list of extra information to fetch for each returned record (or NULL) Currently supported fields are: license, date_upload, date_taken, owner_name, icon_server, original_format, last_update, geo, tags, machine_tags.

per_page :

Number of photos to return per page (default 100, max 500)

page :

The page of results to return (default 1)

Returns :

non-0 on failure

flickcurl_photos_removeTag ()

int                 flickcurl_photos_removeTag          (flickcurl *fc,
                                                         const char *tag_id);

Remove a tag from a photo.

The tag_id is returned such as from flickr_photos_getInfo()

Implements flickr.photos.removeTag (0.9)

fc :

flickcurl context

tag_id :

tag ID to remove from the photo

Returns :

non-0 on failure

flickcurl_photos_replace ()

flickcurl_upload_status* flickcurl_photos_replace       (flickcurl *fc,
                                                         const char *photo_file,
                                                         const char *photo_id,
                                                         int async);

Replace a photo with a new file.

Implements Replacing Photos (0.10) Implements Asynchronous Uploading (0.10)

fc :

flickcurl context

photo_file :

photo filename

photo_id :

photo ID to replace

async :

upload asynchronously boolean (non-0 true)

Returns :

flickcurl_upload_status or NULL on failure

flickcurl_photos_search ()

flickcurl_photo**   flickcurl_photos_search             (flickcurl *fc,
                                                         flickcurl_search_params *params);

Return a list of photos matching some criteria.

Only photos visible to the calling user will be returned. To return private or semi-private photos, the caller must be authenticated with 'read' permissions, and have permission to view the photos. Unauthenticated calls will only return public photos.

Implements flickr.photos.search (0.11)

Flickcurl 1.0: Added place_id for places API as announced 2008-01-11 http://tech.groups.yahoo.com/group/yws-flickr/message/3688

fc :

flickcurl context

params :

flickcurl_search_params search parameters

Returns :

an array of flickcurl_photo or NULL

flickcurl_search_params

typedef struct {
  char* user_id;
  char* tags;
  char* tag_mode;
  char* text;
  int min_upload_date;
  int max_upload_date;
  char* min_taken_date;
  char* max_taken_date;
  char* license;
  char* sort;
  char* privacy_filter;
  char* bbox;
  int accuracy;
  int safe_search;
  int content_type;
  char* machine_tags;
  char* machine_tag_mode;
  char* group_id;
  char* extras;
  int per_page;
  int page;
  char* place_id;
} flickcurl_search_params;

Search parameters for flickcurl_photos_search()

char *user_id;

The NSID of the user who's photo to search (or "me" or NULL).

char *tags;

A comma-delimited list of tags (or NULL)

char *tag_mode;

Either 'any' for an OR combination of tags, or 'all' for an AND combination. Defaults to 'any' if not specified (or NULL)

char *text;

Free text search (or NULL)

int min_upload_date;

Minimum upload date as a unix timestamp (or NULL)

int max_upload_date;

Maximum upload date as a unix timestamp (or NULL)

char *min_taken_date;

Minimum taken date in the form of a mysql datetime (or NULL)

char *max_taken_date;

Maximum taken date in the form of a mysql datetime (or NULL)

char *license;

Comma-separated list of photo licenses (or NULL)

char *sort;

The order in which to sort returned photos. Defaults to date-posted-desc. The possible values are: date-posted-asc, date-posted-desc, date-taken-asc, date-taken-desc, interestingness-desc, interestingness-asc, and relevance (or NULL)

char *privacy_filter;

Return photos only matching a certain privacy level.

char *bbox;

A comma-delimited list of 4 values defining the Bounding Box of the area that will be searched.

int accuracy;

Recorded accuracy level of the location information. Current range is 1-16

int safe_search;

Safe search setting: 1 safe, 2 moderate, 3 restricted.

int content_type;

Content Type setting: 1 for photos only, 2 for screenshots only, 3 for 'other' only, 4 for all types. (or NULL)

char *machine_tags;

Machine tag search syntax

char *machine_tag_mode;

Either 'any' for an OR combination of tags, or 'all' for an AND combination. Defaults to 'any' if not specified.

char *group_id;

The id of a group who's pool to search. If specified, only matching photos posted to the group's pool will be returned. (or NULL)

char *extras;

A comma-delimited list of extra information to fetch for each returned record. Currently supported fields are: license, date_upload, date_taken, owner_name, icon_server, original_format, last_update, geo, tags, machine_tags. (or NULL)

int per_page;

Number of photos to return per page. If this argument is omitted, it defaults to 100. The maximum allowed value is 500. (or NULL)

int page;

The page of results to return. If this argument is omitted, it defaults to 1. (or NULL)

char *place_id;

A Flickr place id. (only used if bbox argument isn't present). Experimental. Geo queries require some sort of limiting agent in order to prevent the database from crying. This is basically like the check against "parameterless searches" for queries without a geo component. A tag, for instance, is considered a limiting agent as are user defined min_date_taken and min_date_upload parameters - If no limiting factor is passed we return only photos added in the last 12 hours (though we may extend the limit in the future) (or NULL)

flickcurl_photos_setContentType ()

int                 flickcurl_photos_setContentType     (flickcurl *fc,
                                                         const char *photo_id,
                                                         int content_type);

Set the content type of a photo.

Implements flickr.photos.setContentType (0.11)

fc :

flickcurl context

photo_id :

The id of the photo to set the adultness of.

content_type :

The content type of the photo: 1 for Photo, 2 for Screenshot, and 3 for Other.

Returns :

non-0 on failure

flickcurl_photos_setDates ()

int                 flickcurl_photos_setDates           (flickcurl *fc,
                                                         const char *photo_id,
                                                         int date_posted,
                                                         int date_taken,
                                                         int date_taken_granularity);

Set one or both of the dates for a photo.

Implements flickr.photos.setDates (0.11)

fc :

flickcurl context

photo_id :

The id of the photo to edit dates for.

date_posted :

The date the photo was uploaded to flickr as a unix time (or -1)

date_taken :

The date the photo was taken as a unix time (or -1)

date_taken_granularity :

The granularity of the date the photo was taken: 0 second, 4 month, 6 year (or -1)

Returns :

non-0 on failure

flickcurl_photos_setMeta ()

int                 flickcurl_photos_setMeta            (flickcurl *fc,
                                                         const char *photo_id,
                                                         const char *title,
                                                         const char *description);

Set the meta information for a photo.

Implements flickr.photos.setMeta (0.11)

fc :

flickcurl context

photo_id :

The id of the photo to set information for.

title :

The title for the photo.

description :

The description for the photo.

Returns :

non-0 on failure

flickcurl_photos_setPerms ()

int                 flickcurl_photos_setPerms           (flickcurl *fc,
                                                         const char *photo_id,
                                                         flickcurl_perms *perms);

Set permissions for a photo.

Implements flickr.photos.setPerms (0.11)

fc :

flickcurl context

photo_id :

The id of the photo to set permissions for.

perms :

The flickcurl_perms photo permissions

Returns :

non-0 on failure

flickcurl_photos_setSafetyLevel ()

int                 flickcurl_photos_setSafetyLevel     (flickcurl *fc,
                                                         const char *photo_id,
                                                         int safety_level,
                                                         int hidden);

Set the safety level of a photo.

Implements flickr.photos.setSafetyLevel (0.11)

fc :

flickcurl context

photo_id :

The id of the photo to set the adultness of.

safety_level :

The safety level of the photo. 1 for Safe, 2 for Moderate, and 3 for Restricted (or <0 for no change)

hidden :

>0 to hide the photo from public searches. 0 to not. <0 for no change.

Returns :

non-0 on failure

flickcurl_photos_setTags ()

int                 flickcurl_photos_setTags            (flickcurl *fc,
                                                         const char *photo_id,
                                                         const char *tags);

Set the tags for a photo.

Note that this replaces all existing tags with the tags here.

Implements flickr.photos.setTags (0.9)

fc :

flickcurl context

photo_id :

photo ID

tags :

all tags for the photo as a space-separated list

Returns :

non-0 on failure

flickcurl_photos_transform_rotate ()

int                 flickcurl_photos_transform_rotate   (flickcurl *fc,
                                                         const char *photo_id,
                                                         int degrees);

Rotate a photo.

Implements flickr.photos.transform.rotate (0.13)

fc :

flickcurl context

photo_id :

The id of the photo to rotate.

degrees :

The amount of degrees by which to rotate the photo (clockwise) from it's current orientation. Valid values are 90, 180 and 270.

Returns :

non-0 on failure

flickcurl_photos_upload_checkTickets ()

flickcurl_ticket**  flickcurl_photos_upload_checkTickets
                                                        (flickcurl *fc,
                                                         const char **tickets_ids);

Checks the status of one or more asynchronous photo upload tickets.

Implements flickr.photos.upload.checkTickets (0.13)

fc :

flickcurl context

tickets_ids :

Array of ticket ids

Returns :

non-0 on failure

flickcurl_photos_upload_params ()

flickcurl_upload_status* flickcurl_photos_upload_params (flickcurl *fc,
                                                         flickcurl_upload_params *params);

Uploads a photo with safety level and content type

fc :

flickcurl context

params :

upload parameters

Returns :

flickcurl_upload_status or NULL on failure