Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DC_PARSER_GET_FIELD(3)	    Library Functions Manual	DC_PARSER_GET_FIELD(3)

NAME
       dc_parser_get_field -- extract a	field from a parsed dive

LIBRARY
       library "libdivecomputer"

SYNOPSIS
       #include	<libdivecomputer/parser.h>

       dc_status_t
       dc_parser_get_field(dc_parser_t *parser,		 dc_field_type_t type,
	   unsigned int	flags, void *value);

DESCRIPTION
       Extract a field	from  a	 dive,	parser,	 previously  initialised  with
       dc_parser_set_data(3).	The  value  field  type	depends	upon the type.
       The flags field is  ignored  for	 all  types  but  DC_FIELD_GASMIX  and
       DC_FIELD_TANK.

       The type	may be one of the following values:

       DC_FIELD_DIVETIME
	       Time  (duration)	 of  dive  in  seconds.	  The value must be an
	       unsigned	int.

       DC_FIELD_MAXDEPTH
	       Maximum depth in	metres.	 The value must	be a double.

       DC_FIELD_AVGDEPTH
	       Average depth (over all samples)	in metres.  The	value must  be
	       a double.

       DC_FIELD_GASMIX_COUNT
	       Number  of  different  gas  mixes used in this dive.  The value
	       must be a unsigned int.

       DC_FIELD_GASMIX
	       Mixture for a particular	gas.  The value	must be	a dc_gasmix_t,
	       which has double	 fields	 for  oxygen,  helium,	and  nitrogen.
	       These  are  set	to  the	unit fraction of gas (not percentage).
	       The flags value is interpreted as the gas mixture index,	 which
	       must be less than the value of DC_FIELD_GASMIX_COUNT.

       DC_FIELD_SALINITY
	       The  water salinity as a	dc_salinity_t field, which consists of
	       a type,	DC_WATER_FRESH	or  DC_WATER_SALT,  and	 the  salinity
	       density.

       DC_FIELD_ATMOSPHERIC
	       Atmospheric pressure in bar.  The value field must be a double.

       DC_FIELD_TEMPERATURE_SURFACE
	       Air  temperature	 (at the surface) in Celsius.  The value field
	       must be a double.

       DC_FIELD_TEMPERATURE_MINIMUM
	       Minimum water temperature surface in Celsius.  The value	 field
	       must be a double.

       DC_FIELD_TEMPERATURE_MAXIMUM
	       Maximum	water temperature in Celsius.  The value field must be
	       a double.

       DC_FIELD_TANK_COUNT
	       The number of tanks as an unsigned int.

       DC_FIELD_TANK
	       Tank configuration as a dc_tank_t.  This	structure consists  of
	       a  gasmix,  which  may be retrieved with	DC_FIELD_GASMIX; type,
	       the    tank     volume	  units	    as	   DC_TANKVOLUME_NONE,
	       DC_TANKVOLUME_IMPERIAL,	or  DC_TANKVOLUME_METRIC;  volume, the
	       tank   volume   in   litres   or	  zero	 if   the   tank    is
	       DC_TANKVOLUME_NONE;  workpressure,  the work pressure in	bar or
	       zero    if    DC_TANKVOLUME_NONE	   and	  maybe	   zero	    if
	       DC_TANKVOLUME_METRIC;  beginpressure  and endpressure being the
	       pressures at start and finish in	bar.  The flags	value  is  the
	       tank index.

       DC_FIELD_DIVEMODE
	       Mode   of   the	dive:  DC_DIVEMODE_FREEDIVE  for  free-diving,
	       DC_DIVEMODE_GAUGE for gauge (i.e., running as a record and  not
	       computing, say, decompression events), DC_DIVEMODE_OC for stan-
	       dard    open-circuit    diving,	  and	 DC_DIVEMODE_CCR   and
	       DC_DIVEMODE_SCR for respectively	closed circuit and semi	closed
	       circuit "rebreather" diving.

RETURN VALUES
       Returns	  DC_STATUS_SUCCESS    if    the    field    was    retrieved,
       DC_STATUS_UNSUPPORTED  if  the field is not supported by	the device, or
       other error messages on further failure.

SEE ALSO
       dc_parser_set_data(3)

AUTHORS
       The library "libdivecomputer"  library  was  written  by	 Jef  Driesen,
       jef@libdivecomputer.org.	 The manpages were written by
       Kristaps	Dzonsons, kristaps@bsd.lv.

FreeBSD	Ports 14.quarterly	January	5, 2017		DC_PARSER_GET_FIELD(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=dc_parser_get_field&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help