/*
 * Portions of this file Copyright 1999-2005 University of Chicago
 * Portions of this file Copyright 1999-2005 The University of Southern California.
 *
 * This file or a portion of this file is licensed under the
 * terms of the Globus Toolkit Public License, found at
 * http://www.globus.org/toolkit/download/license.html.
 * If you redistribute this file, with or without
 * modifications, you must include this notice in the file.
 */


#ifndef GLOBUS_XIO_BUFFER_H
#define GLOBUS_XIO_BUFFER_H

enum
{
    GLOBUS_XIO_BUFFER_CLEAR,
    GLOBUS_XIO_BUFFER_GET_LENGTH,
    GLOBUS_XIO_BUFFER_ENABLE_READ_BUFFERING,
    GLOBUS_XIO_BUFFER_ENABLE_WRITE_BUFFERING,
    GLOBUS_XIO_BUFFER_DISABLE_BUFFERING,
    GLOBUS_XIO_BUFFER_DONE_BUFFERING,
    GLOBUS_XIO_BUFFER_FLUSH,
    GLOBUS_XIO_BUFFER_SET_MARKER,
    GLOBUS_XIO_BUFFER_SET_READ_MARKER_AT_INDEX,
    GLOBUS_XIO_BUFFER_GET_MARKED_BUFFER,
    GLOBUS_XIO_BUFFER_GET_MARKED_BUFFERS,
    GLOBUS_XIO_BUFFER_REPLACE_MARKED_BUFFER,
    GLOBUS_XIO_BUFFER_REPLACE_MARKED_BUFFERS,
    GLOBUS_XIO_BUFFER_REMOVE_MARKED_BUFFER,
    GLOBUS_XIO_BUFFER_RESET_READ_POSITION,
    GLOBUS_XIO_BUFFER_SET_READ_POSITION_TO_MARKER,
    GLOBUS_XIO_BUFFER_SET_WRITE_POSITION_TO_MARKER
};

enum
{
    GLOBUS_XIO_BUFFER_ERROR_MARKER_NOT_FOUND,
    GLOBUS_XIO_BUFFER_ERROR_BUFFER_EMPTY,
    GLOBUS_XIO_BUFFER_ERROR_FLUSH_FAILED,
    GLOBUS_XIO_BUFFER_ERROR_EOF,
    GLOBUS_XIO_BUFFER_ERROR_SET_MARKER_FAILED,
    GLOBUS_XIO_BUFFER_ERROR_OUT_OF_MEMORY
};

#endif
