## section-machinetags

section-machinetags

## Functions

void | flickcurl_free_tag_namespace ()
void | flickcurl_free_tag_namespaces ()
void | flickcurl_free_tag_predicate_value ()
void | flickcurl_free_tag_predicate_values ()
flickcurl_tag_namespace ** | flickcurl_machinetags_getNamespaces ()
flickcurl_tag_predicate_value ** | flickcurl_machinetags_getPairs ()
flickcurl_tag_predicate_value ** | flickcurl_machinetags_getPredicates ()
flickcurl_tag_predicate_value ** | flickcurl_machinetags_getRecentValues ()
flickcurl_tag_predicate_value ** | flickcurl_machinetags_getValues ()

## Types and Values

| flickcurl_tag_namespace
| flickcurl_tag_predicate_value

## Description

## Functions

### flickcurl_free_tag_namespace ()

    void
    flickcurl_free_tag_namespace (flickcurl_tag_namespace *tag_nspace);

Destructor for machinetag namespace object

#### Parameters

tag_nspace | machinetag namespace object |

### flickcurl_free_tag_namespaces ()

    void
    flickcurl_free_tag_namespaces (flickcurl_tag_namespace **tag_nspaces);

Destructor for array of namespace object

#### Parameters

tag_nspaces | namespace object array |

### flickcurl_free_tag_predicate_value ()

    void
    flickcurl_free_tag_predicate_value (flickcurl_tag_predicate_value *tag_pv);

Destructor for machinetag predicate-value pair object

#### Parameters

tag_pv | machinetag predicate_value object |

### flickcurl_free_tag_predicate_values ()

    void
    flickcurl_free_tag_predicate_values (flickcurl_tag_predicate_value **tag_pvs);

Destructor for array of predicate_value object

#### Parameters

tag_pvs | predicate_value object array |

### flickcurl_machinetags_getNamespaces ()

    flickcurl_tag_namespace **
    flickcurl_machinetags_getNamespaces (flickcurl *fc,
                                         const char *predicate,
                                         int per_page,
                                         int page);

Return a list of unique namespaces, optionally limited by a given predicate, in alphabetical order.

Implements flickr.machinetags.getNamespaces (1.7)

As announced 2008-11-18 http://tech.groups.yahoo.com/group/yws-flickr/message/4545 and http://code.flickr.com/blog/2008/12/15/machine-tag-hierarchies/

#### Parameters

fc | flickcurl context |
predicate | Limit the list of namespaces returned to those that have the following predicate (or NULL) |
per_page | Number of namespaces 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

array of namespaces or NULL on failure

### flickcurl_machinetags_getPairs ()

    flickcurl_tag_predicate_value **
    flickcurl_machinetags_getPairs (flickcurl *fc,
                                    const char *nspace,
                                    const char *predicate,
                                    int per_page,
                                    int page);

Return a list of unique namespace and predicate pairs, optionally limited by predicate or namespace, in alphabetical order.

Implements flickr.machinetags.getPairs (1.7)

As announced 2008-11-18 http://tech.groups.yahoo.com/group/yws-flickr/message/4545 and http://code.flickr.com/blog/2008/12/15/machine-tag-hierarchies/

#### Parameters

fc | flickcurl context |
nspace | Limit the list of pairs returned to those that have the following namespace (or NULL) |
predicate | Limit the list of pairs returned to those that have the following predicate (or NULL) |
per_page | Number of pairs 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

array of pairs or NULL on failure

### flickcurl_machinetags_getPredicates ()

    flickcurl_tag_predicate_value **
    flickcurl_machinetags_getPredicates (flickcurl *fc,
                                         const char *nspace,
                                         int per_page,
                                         int page);

Return a list of unique predicates, optionally limited by a given namespace.

Implements flickr.machinetags.getPredicates (1.7)

As announced 2008-11-18 http://tech.groups.yahoo.com/group/yws-flickr/message/4545 and http://code.flickr.com/blog/2008/12/15/machine-tag-hierarchies/

#### Parameters

fc | flickcurl context |
nspace | Limit the list of predicates returned to those that have the following namespace (or NULL) |
per_page | Number of predicates 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

array of predicates or NULL on failure

### flickcurl_machinetags_getRecentValues ()

    flickcurl_tag_predicate_value **
    flickcurl_machinetags_getRecentValues (flickcurl *fc,
                                           const char *nspace,
                                           const char *predicate,
                                           int added_since);

Fetch recently used machine tags values.

Implements flickr.machinetags.getRecentValues (1.12)

#### Parameters

fc | flickcurl context |
nspace | A namespace that all values should be restricted to (or NULL) |
predicate | A predicate that all values should be restricted to (or NULL) |
added_since | Only return machine tags values that have been added since this timestamp, in epoch seconds (or <0) |

#### Returns

array of values or NULL on failure

### flickcurl_machinetags_getValues ()

    flickcurl_tag_predicate_value **
    flickcurl_machinetags_getValues (flickcurl *fc,
                                     const char *nspace,
                                     const char *predicate,
                                     int per_page,
                                     int page);

Return a list of unique values for a namespace and predicate.

Implements flickr.machinetags.getValues (1.7)

As announced 2008-11-18 http://tech.groups.yahoo.com/group/yws-flickr/message/4545 and http://code.flickr.com/blog/2008/12/15/machine-tag-hierarchies/

#### Parameters

fc | flickcurl context |
nspace | The namespace that all values should be restricted to. |
predicate | The predicate that all values should be restricted to. |
per_page | Number of values 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

array of values or NULL on failure

## Types and Values

### flickcurl_tag_namespace

    typedef struct {
      char *name;
      int usage_count;
      int predicates_count;
    } flickcurl_tag_namespace;

A machine tags namespace

#### Members

char *`name`; | Name |
int `usage_count`; | Number of uses of this namespace |
int `predicates_count`; | Number of predicates for this namespace |

### flickcurl_tag_predicate_value

    typedef struct {
      int usage_count;
      char *predicate;
      int used_in_namespace_count;
      char *value;
    } flickcurl_tag_predicate_value;

A machine tag predicate-value pair

#### Members

int `usage_count`; | Number of uses of this predicate-value pair |
char *`predicate`; | Predicate name or NULL |
int `used_in_namespace_count`; | number of namespaces this pair is used in |
char *`value`; | Value or NULL |