chirp_types.h File Reference

All of the structure and type definitions used by the Chirp API. More...

`#include "chirp_protocol.h"`
`#include "buffer.h"`
`#include "int_sizes.h"`
`#include <fcntl.h>`
`#include <sys/types.h>`
`#include <inttypes.h>`
`#include <stdint.h>`
`#include <time.h>`

Go to the source code of this file.

## Data Structures

struct | chirp_stat
| Describes the properties of a file, much like the Unix stat structure. More...
struct | chirp_statfs
| Describes the properties of a file system, much like the Unix statfs structure. More...
struct | chirp_dirent
| Describes a directory entry returned by chirp_reli_readdir. More...
struct | chirp_searchent
| Describes a result from a search operation. More...
struct | chirp_searchstream
| Keeps track of the state of a search stream. More...
struct | chirp_bulkio
| Describes a bulk I/O operation. More...
struct | chirp_audit
| Descibes the space consumed by a single user on a Chirp server. More...

## Macros

#define | CHIRP_SEARCH_STOPATFIRST (1<<0)
| Bit flags for the search operation.
#define | CHIRP_SEARCH_ERR_OPEN 1
| Streaming errors for the search operation.
#define | CHIRP_SEARCH_DELIMITER '|'
| Options for the search operation.
#define | CHIRP_DIGEST_MAX 128
| Maximum digest size for a supported hash function.

## Typedefs

typedef void(* | chirp_dir_t) (const char *path, void *arg)
| A callback function typedef used to display a directory or access control list.
typedef void(* | chirp_longdir_t) (const char *path, struct chirp_stat *info, void *arg)
| A callback function typedef used to display a detailed directory.
typedef void(* | chirp_loc_t) (const char *location, void *arg)
| A callback function typedef used to display a file's location(s).
typedef int64_t | chirp_jobid_t
| The type of Chirp job identifiers.

## Enumerations

enum | chirp_bulkio_t { CHIRP_BULKIO_PREAD , CHIRP_BULKIO_PWRITE , CHIRP_BULKIO_SREAD , CHIRP_BULKIO_SWRITE , CHIRP_BULKIO_FSTAT , CHIRP_BULKIO_FSYNC }
| Describes the type of a bulk I/O operation. More...

## Detailed Description

All of the structure and type definitions used by the Chirp API.

## Macro Definition Documentation

## CHIRP_SEARCH_STOPATFIRST

#define CHIRP_SEARCH_STOPATFIRST (1<<0)

Bit flags for the search operation.

## CHIRP_SEARCH_ERR_OPEN

#define CHIRP_SEARCH_ERR_OPEN 1

Streaming errors for the search operation.

## CHIRP_SEARCH_DELIMITER

#define CHIRP_SEARCH_DELIMITER '|'

Options for the search operation.

## CHIRP_DIGEST_MAX

#define CHIRP_DIGEST_MAX 128

Maximum digest size for a supported hash function.

## Typedef Documentation

## chirp_dir_t

typedef void(* chirp_dir_t) (const char *path, void *arg)

A callback function typedef used to display a directory or access control list.

A function matching this type is called by chirp_reli_getdir to display or otherwise act upon each line in a directory or access control list.

Parameters

  path | The short name of the file, directory, or ACL to display.
  arg | A convenience pointer corresponding to the arg passed from chirp_reli_getdir.

See also
  chirp_reli_getdir, chirp_reli_getacl

## chirp_longdir_t

typedef void(* chirp_longdir_t) (const char *path, struct chirp_stat *info, void *arg)

A callback function typedef used to display a detailed directory.

A function matching this type is called by chirp_reli_getlongdir to display or otherwise act upon each line in a directory listing.

Parameters

  path | The short name of the file or directory to display.
  info | The details of the named file.
  arg | A convenience pointer corresponding to the arg passed from chirp_reli_getlongdir.

See also
  chirp_reli_getlongdir

## chirp_loc_t

typedef void(* chirp_loc_t) (const char *location, void *arg)

A callback function typedef used to display a file's location(s).

A function matching this type is called by chirp_reli_locate to display or otherwise act upon each location at which a given file is stored.

Parameters

  location | The location of a file (usually hostname:local_path).
  arg | A convenience pointer corresponding to the arg passed from chirp_reli_locate.

See also
  chirp_reli_locate

## chirp_jobid_t

typedef int64_t chirp_jobid_t

The type of Chirp job identifiers.

It is a 64 bit unsigned integer.

## Enumeration Type Documentation

## chirp_bulkio_t

enum chirp_bulkio_t

Describes the type of a bulk I/O operation.

Used by chirp_bulkio

Enumerator
CHIRP_BULKIO_PREAD | Perform a chirp_reli_pread.
CHIRP_BULKIO_PWRITE | Perform a chirp_reli_pwrite.
CHIRP_BULKIO_SREAD | Perform a chirp_reli_sread.
CHIRP_BULKIO_SWRITE | Perform a chirp_reli_swrite.
CHIRP_BULKIO_FSTAT | Perform a chirp_reli_fstat.
CHIRP_BULKIO_FSYNC | Perform a chirp_reli_fsync.