gd_alter_endianness man page on OpenSuSE

Man page or keyword search:  
man Server   25941 pages
apropos Keyword Search (all sections)
Output format
OpenSuSE logo
[printable version]

gd_alter_endianness(3)		    GETDATA		gd_alter_endianness(3)

NAME
       gd_alter_endianness — modify the byte sex of fields in a dirfile

SYNOPSIS
       #include <getdata.h>

       int gd_alter_endianness(DIRFILE *dirfile, unsigned long byte_sex, int
	      fragment_index, int recode);

DESCRIPTION
       The gd_alter_endianness() function sets the  byte  sex  of  the	format
       specification  fragment	given  by  fragment_index  to  byte_sex in the
       dirfile(5) database specified by dirfile.  The byte sex of  a  fragment
       indicate	 the endianness of data stored in binary files associated with
       RAW fields defined in the specified fragment.  The byte sex of a	 frag‐
       ment containing no RAW fields is ignored.

       The byte_sex argument should be one of the following:

       0 (zero)
	      Indicating  that the byte sex should be the native endianness of
	      the host, whichever that may be.

       GD_BIG_ENDIAN
	      Indicating that the byte sex should be big endian.

       GD_LITTLE_ENDIAN
	      Indicating that the byte sex should be little endian.

       (GD_BIG_ENDIAN | GD_LITTLE_ENDIAN)
	      Indicating that the byte sex should be the opposite of  the  na‐
	      tive endianness of the host, whichever that may be.

       Furthermore,  any  of  these  may be bitwise or'd with GD_ARM_ENDIAN or
       GD_NOT_ARM_ENDIAN indicating that the floating point data are stored in
       the ARM middle-endian format.

       In  addition to being simply a valid fragment index, fragment_index may
       also be the special value GD_ALL_FRAGMENTS, which  indicates  that  the
       byte sex of all fragments in the database should be changed.

       If the recode argument is non-zero, this call will byte swap the binary
       data of affected RAW fields to account for the change in byte sex.   If
       the  encoding of the fragment is endianness insensitive, or if the data
       type is only one byte in size, no change is made.  If recode  is	 zero,
       affected binary files are left untouched.

RETURN VALUE
       Upon successful completion, gd_alter_endianness() returns zero.	On er‐
       ror, it returns -1 and sets the dirfile error to a non-zero error  val‐
       ue.  Possible error values are:

       GD_E_ACCMODE
	       The specified dirfile was opened read-only.

       GD_E_ALLOC
	       The library was unable to allocate memory.

       GD_E_ARGUMENT
	       The supplied byte_sex was invalid.

       GD_E_BAD_DIRFILE
	       The supplied dirfile was invalid.

       GD_E_BAD_INDEX
	       The supplied index was out of range.

       GD_E_PROTECTED
	       The metadata of the indicated format specification fragment was
	       protected from change, or the binary data of the	 fragment  was
	       protected  from	change	and  binary file byte swapping was re‐
	       quested.

       GD_E_RAW_IO
	       An I/O error occurred while attempting to byte  swap  a	binary
	       file.

       GD_E_UNCLEAN_DB
	       An  error  occurred  while  moving  the	byte-swapped file into
	       place.  As a result, the database may be in an  unclean	state.
	       See the NOTES section below for recovery instructions.  In this
	       case, the dirfile will be flagged as invalid, to	 prevent  fur‐
	       ther database corruption.  It should be immediately closed.

       GD_E_UNKNOWN_ENCODING
	       The encoding scheme of the fragment is unknown.

       GD_E_UNSUPPORTED
	       The  encoding  scheme  of  the fragment does not support binary
	       file byte swapping.

       The dirfile error may be retrieved by calling gd_error(3).  A  descrip‐
       tive error string for the last error encountered can be obtained from a
       call to gd_error_string(3).

NOTES
       A binary file byte swap occurs out-of-place.  As a  result,  sufficient
       space must be present on the filesystem for the binary files of all RAW
       fields in the fragment both before and after translation.  If all frag‐
       ments are updated by specifying GD_ALL_FRAGMENTS, the byte swapping oc‐
       curs one fragment at a time.

       An error code of GD_E_UNCLEAN_DB	 indicates  a  system  error  occurred
       while  moving  the byte-swapped binary data into place or when deleting
       the old data.  If this happens, the database may be left in an  unclean
       state.	The  caller  should check the filesystem directly to ascertain
       the state of the dirfile data before continuing.	 For recovery instruc‐
       tions,	see  the  file	/usr/share/doc/getdata/unclean_database_recov‐
       ery.txt.

SEE ALSO
       gd_open(3),    gd_error(3),    gd_error_string(3),    gd_endianness(3),
       dirfile(5), dirfile-format(5)

Version 0.8.0			1 January 2012		gd_alter_endianness(3)
[top]

List of man pages available for OpenSuSE

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net