grio_modify(3x)

grio_modify - modify a GRIO reservation

As shipped in IRIX 6.5.30. Added in IRIX 6.5.30.

This page could not be fully tidied (no-header); it is shown as printed.

NAME
     grio_modify - modify a GRIO reservation

C SYNOPSIS
     #include <grio2.h>

     int grio_modify(
             grio_stream_id_t *stream_id,
             grio_off_t *bytes, grio_msecs_t *msecs,
             int flags)

     cc ... -lgrio2

PARAMETERS
     stream_id The ID of the stream to be modified.

     bytes, msecs
               The new bandwidth expressed as the ratio bytes per msecs.

     flags     Additional flags modifying the characteristics of the
               reservation.

DESCRIPTION
     grio_modify is used to change the properties of an existing GRIO stream.
     Reserved bandwidth can be both increased or decreased using this call.

     Note that flags is currently unused and should be set to 0.

NOTE
     grio_modify is a synchronous call and, when increasing a reservation, may
     block while bandwidth is reallocated. This delay can be in the order of 1
     or 2 seconds and applications should be designed to accommodate this
     delay if necessary. While a call to grio_modify is being processed, I/O
     to the stream continues uninterrupted at its existing rate.

DIAGNOSTICS
     On success, 0 is returned indicating that the stream's properties have
     been updated. If the new rate cannot be delivered a -1 is returned and
     errno is set to indicate the error. The following error codes are
     defined:

     EINVAL    The requested bandwidth was invalid.

     EIO       The library could not communicate with ggd2.

     ENOENT    The specified stream does not exist.

     ENOSPC    The requested bandwidth could not be reserved.  Upon return the
               bytes and msecs parameters describe the maximum bandwidth left
               for reservation.

     EPERM     The process does not have root permissions or CAP_DEVICE_MGMT
               privilege.
FILES
     /etc/griotab

SEE ALSO
     grio2(5), grio_avail(3X), grio_bind(3X), grio_get_stream(3X),
     grio_release(3X), grio_reserve(3X), grio_unbind(3X)