## section-misc

section-misc

## Functions

void | flickcurl_free_size ()
void | flickcurl_free_sizes ()
void | flickcurl_free_location ()
void | flickcurl_free_perms ()
const char * | flickcurl_get_field_value_type_label ()
const char * | flickcurl_get_location_accuracy_label ()
flickcurl_photo ** | flickcurl_interestingness_getList ()
flickcurl_photos_list * | flickcurl_interestingness_getList_params ()
const char * | flickcurl_get_content_type_label ()
int | flickcurl_get_content_type_from_string ()
const char * | flickcurl_get_hidden_label ()
int | flickcurl_get_hidden_from_string ()
const char * | flickcurl_get_safety_level_label ()
int | flickcurl_get_safety_level_from_string ()
char * | flickcurl_user_icon_uri ()

## Types and Values

| flickcurl_location
| flickcurl_perms
| flickcurl_size
| flickcurl_license

## Description

## Functions

### flickcurl_free_size ()

    void
    flickcurl_free_size (flickcurl_size *size);

Destructor for size object

#### Parameters

size | size object |

### flickcurl_free_sizes ()

    void
    flickcurl_free_sizes (flickcurl_size **sizes_object);

Destructor for array of size objects

#### Parameters

sizes_object | size object array |

### flickcurl_free_location ()

    void
    flickcurl_free_location (flickcurl_location *location);

Destructor for location object

#### Parameters

location | location object |

### flickcurl_free_perms ()

    void
    flickcurl_free_perms (flickcurl_perms *perms);

Destructor for perms object

#### Parameters

perms | perms object |

### flickcurl_get_field_value_type_label ()

    const char *
    flickcurl_get_field_value_type_label (flickcurl_field_value_type datatype);

Get label for datatype

#### Parameters

datatype | datatype enum |

#### Returns

label string or NULL if none valid

### flickcurl_get_location_accuracy_label ()

    const char *
    flickcurl_get_location_accuracy_label (int accuracy);

Get label for an accuracy

#### Parameters

accuracy | accuracy |

#### Returns

label string or NULL if none valid

### flickcurl_interestingness_getList ()

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

Returns the list of interesting photos for the most recent day or a user-specified date.

See `flickcurl_interestingness_getList()` for full description of arguments.

Implements flickr.interestingness.getList (0.13)

#### Parameters

fc | flickcurl context |
date | A specific date, formatted as YYYY-MM-DD, to return interesting photos for. (or NULL) |
extras | A comma-delimited list of extra information to fetch for each returned record. See flickcurl_photos_list_params for the full list (or NULL) |
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_interestingness_getList_params ()

    flickcurl_photos_list *
    flickcurl_interestingness_getList_params
                                   (flickcurl *fc,
                                    const char *date,
                                    flickcurl_photos_list_params *list_params);

Returns the list of interesting photos for the most recent day or a user-specified date.

Optional extra type 'media' that will return an extra media = VALUE for VALUE "photo" or "video". API addition 2008-04-07.

#### Parameters

fc | flickcurl context |
date | A specific date, formatted as YYYY-MM-DD, to return interesting photos for. (or NULL) |
list_params | flickcurl_photos_list_params result parameters (or NULL) |

#### Returns

non-0 on failure

### flickcurl_get_content_type_label ()

    const char *
    flickcurl_get_content_type_label (int content_type);

Get label for a content type.

#### Parameters

content_type | safety level index |

#### Returns

pointer to shared string label for content type or "unknown"

### flickcurl_get_content_type_from_string ()

    int
    flickcurl_get_content_type_from_string
                                   (const char *content_type_string);

Get the enumeration value for a content type string.

Parses the string value into a content type either from an integer form like '1' or a label like 'photo'.

#### Parameters

content_type_string | string |

#### Returns

content type enumeration value or <0 on error

### flickcurl_get_hidden_label ()

    const char *
    flickcurl_get_hidden_label (int hidden);

Get label for a hidden status

#### Parameters

hidden | safety level index |

#### Returns

pointer to shared string label for hidden status or "unknown"

### flickcurl_get_hidden_from_string ()

    int
    flickcurl_get_hidden_from_string (const char *hidden_string);

Get the enumeration value for a hidden status string.

Parses the string value into a safety level either from an integer form like '1' or a label like 'hidden'.

#### Parameters

hidden_string | string |

#### Returns

safety level enumeration value or <0 on error

### flickcurl_get_safety_level_label ()

    const char *
    flickcurl_get_safety_level_label (int safety_level);

Get label for a safety level.

#### Parameters

safety_level | safety level index |

#### Returns

pointer to shared string label for safety level or "unknown"

### flickcurl_get_safety_level_from_string ()

    int
    flickcurl_get_safety_level_from_string
                                   (const char *safety_level_string);

Get the enumeration value for a safety level string.

Parses the string value into a safety level either from an integer form like '1' or a label like 'safe'.

#### Parameters

safety_level_string | string |

#### Returns

safety level enumeration value or <0 on error

### flickcurl_user_icon_uri ()

    char *
    flickcurl_user_icon_uri (int farm,
                             int server,
                             char *nsid);

Get the user's icon URI

The icon URI returned is always a 48x48 pixel JPEG.

If `server` is 0 (or the other fields are NULL), the default icon URI of https://www.flickr.com/images/buddyicon.jpg is returned.

Defined by https://www.flickr.com/services/api/misc.buddyicons.html

#### Parameters

farm | user icon farm |
server | user icon server or 0 |
nsid | user nsid |

#### Returns

new icon URI string or NULL on failure

## Types and Values

### flickcurl_location

    typedef struct {
      double latitude;
      double longitude;
      int accuracy;
    } flickcurl_location;

A Location in the world with an optional accuracy

#### Members

double `latitude`; | The latitude from -90 to 90 |
double `longitude`; | The longitude from -180 to 180 |
int `accuracy`; | Recorded accuracy level of the location. World level is 1, Country is ~3, Region ~6, City ~11, Street ~16. Current range is 1-16. (<0 for unknown accuracy) |

### flickcurl_perms

    typedef struct {
      int is_public;
      int is_contact;
      int is_friend;
      int is_family;
      int perm_comment;
      int perm_addmeta;
    } flickcurl_perms;

Permissions as used by `flickcurl_photos_getPerms()` and `flickcurl_photos_setPerms()` which use public, friend, family, perm_comment and perm-addmeta. `flickcurl_photos_geo_setPerms()` uses public, contact, friend and family.

A Photo permission.

#### Members

int `is_public`; | non-0 to set the photo to public else private |
int `is_contact`; | non-0 to make the photo visible to contacts when private |
int `is_friend`; | non-0 to make the photo visible to friends when private |
int `is_family`; | non-0 to make the photo visible to family when private |
int `perm_comment`; | who can add comments to the photo and it's notes. one of: 0 nobody, 1 friends & family, 2 contacts, 3 everybody |
int `perm_addmeta`; | who can add notes and tags to the photo. one of: 0 nobody / just the owner, 1 friends & family, 2 contacts, 3 everybody |

### flickcurl_size

    typedef struct {
      char *label;
      int width;
      int height;
      char *source;
      char *url;
      char* media;
    } flickcurl_size;

A photo at a size.

Supported sizes and their letter suffixes used in the `source` and the `url` fields are as follows:

s: small square 75x75. q: large square 150x150 (2011-03-12 or later). t: thumbnail, 100 on longest side. m: small, 240 on longest side. n: small, 320 on longest side (2011-03-12 or later). -: medium, 500 on longest side. z: medium 640, 640 on longest side. b: large, 1024 on longest side*. o: original image, either a jpg, gif or png, depending on source format.

The 'q' and 'n' sizes were announced 2011-03-12 in http://tech.groups.yahoo.com/group/yws-flickr/message/7483

#### Members

char *`label`; | label |
int `width`; | width in pixels |
int `height`; | height in pixels |
char *`source`; | raw image source URL |
char *`url`; | url of photo page |
char *`media`; | 'photo' or 'video' |

### flickcurl_license

    typedef struct {
      /* license id */
      int id;
      /* license url or NULL if none */
      char *url;
      /* license name */
      char *name;
    } flickcurl_license;

A photo license.

#### Members

int `id`; | license ID |
char *`url`; | license URL |
char *`name`; | license short name |