123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- <!-- $XConsortium: DatToDaT.sgm /main/6 1996/09/08 20:21:36 rws $ -->
- <!-- (c) Copyright 1995 Digital Equipment Corporation. -->
- <!-- (c) Copyright 1995 Hewlett-Packard Company. -->
- <!-- (c) Copyright 1995 International Business Machines Corp. -->
- <!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
- <!-- (c) Copyright 1995 Novell, Inc. -->
- <!-- (c) Copyright 1995 FUJITSU LIMITED. -->
- <!-- (c) Copyright 1995 Hitachi. -->
- <![ %CDE.C.CDE; [<RefEntry Id="CDEMX.XCDI.MAN30.rsml.1">]]>
- <![ %CDE.C.XO; [<RefEntry Id="XCDI.MAN30.rsml.1">]]>
- <RefMeta>
- <RefEntryTitle>DtDtsDataToDataType</RefEntryTitle>
- <ManVolNum>library call</ManVolNum>
- </RefMeta>
- <RefNameDiv>
- <RefName><Function>DtDtsDataToDataType</Function></RefName>
- <RefPurpose>get the data type for a set of data
- </RefPurpose>
- </RefNameDiv>
- <!-- CDE Common Source Format, Version 1.0.0-->
- <!-- (c) Copyright 1993, 1994, 1995 Hewlett-Packard Company-->
- <!-- (c) Copyright 1993, 1994, 1995 International Business Machines Corp.-->
- <!-- (c) Copyright 1993, 1994, 1995 Sun Microsystems, Inc.-->
- <!-- (c) Copyright 1993, 1994, 1995 Novell, Inc.-->
- <RefSynopsisDiv>
- <FuncSynopsis Remap="ANSI">
- <FuncSynopsisInfo>#include <Dt/Dts.h>
- </FuncSynopsisInfo>
- <FuncDef>char <Function>*DtDtsDataToDataType</Function></FuncDef>
- <ParamDef>const char *<Parameter>filepath</Parameter></ParamDef>
- <ParamDef>const void *<Parameter>buffer</Parameter></ParamDef>
- <ParamDef>const int <Parameter>size</Parameter></ParamDef>
- <ParamDef>const struct stat *<Parameter>stat_buff</Parameter></ParamDef>
- <ParamDef>const char *<Parameter>link_path</Parameter></ParamDef>
- <ParamDef>const struct stat *<Parameter>link_stat_buff</Parameter></ParamDef>
- <ParamDef>const char *<Parameter>opt_name</Parameter></ParamDef>
- </FuncSynopsis>
- </RefSynopsisDiv>
- <RefSect1>
- <Title>DESCRIPTION</Title>
- <Para>The
- <Function>DtDtsDataToDataType</Function> function determines
- the data type of a set of data,
- based on the information given in the non-
- <SystemItem Class="Constant">NULL</SystemItem> pointer arguments to the function.
- The function gathers any additional information, if it is needed,
- to compensate for the
- <SystemItem Class="Constant">NULL</SystemItem> arguments.
- For example, if the
- <Emphasis>filepath</Emphasis> argument is given, but the
- <Emphasis>stat_buff</Emphasis> argument is
- <SystemItem Class="Constant">NULL</SystemItem> and a
- <Emphasis>stat_buff</Emphasis> value is required to determine the data type,
- <Function>DtDtsDataToDataType</Function> calls the
- <Function>stat</Function>(2) function to obtain the information.
- </Para>
- <Para>The
- <Emphasis>filepath</Emphasis> argument is the pathname of a file.
- </Para>
- <Para>The
- <Symbol Role="Variable">buffer</Symbol> argument
- is a pointer to the buffer of the data to be typed.
- </Para>
- <Para>The
- <Symbol Role="Variable">size</Symbol> argument
- is the size of the buffer in bytes.
- </Para>
- <Para>The
- <Emphasis>stat_buff</Emphasis> argument
- is the buffer returned from a
- <Function>stat</Function>(2) or
- <Function>fstat</Function>(3) call for use in typing.
- </Para>
- <Para>The
- <Emphasis>link_path</Emphasis> argument
- is the pathname of the target file pointed to by a symbolic link.
- </Para>
- <Para>The
- <Emphasis>link_stat_buff</Emphasis> argument
- is the buffer returned from an
- <Function>lstat</Function>(2) call for use in typing.
- </Para>
- <Para>The
- <Emphasis>opt_name</Emphasis> argument can be used to specify a name to be associated with the buffer.
- If the
- <Emphasis>opt_name</Emphasis> argument is not
- <SystemItem Class="Constant">NULL</SystemItem>, it is used as a pseudo file name in typing;
- otherwise, certain attributes may be returned as
- <SystemItem Class="Constant">NULL</SystemItem> because the filename components could not be determined.
- </Para>
- </RefSect1>
- <RefSect1>
- <Title>RETURN VALUE</Title>
- <Para>Upon successful completion, the
- <Function>DtDtsDataToDataType</Function> function returns a pointer to a data type string, or
- <SystemItem Class="Constant">NULL</SystemItem> if no value could be determined.
- </Para>
- </RefSect1>
- <RefSect1>
- <Title>APPLICATION USAGE</Title>
- <Para>The
- <Function>DtDtsDataToDataType</Function> function is generally used by applications such as file managers
- to improve performance.
- Typical applications should probably use
- &cdeman.DtDtsFileToDataType; or
- &cdeman.DtDtsBufferToDataType; instead.
- </Para>
- <Para>The
- <Emphasis>DtDtsBuffer</Emphasis>* functions assume that the buffer is readable and writable
- by the user, group and other file classes
- and select a type accordingly.
- An application requiring a type based on read-only
- permissions should use
- <Function>DtDtsDataToDataType</Function> with a
- <Emphasis>stat_buff</Emphasis> value created for this purpose:
- all fields should
- <SystemItem Class="Constant">NULL</SystemItem> except for the
- <Emphasis>st_mode</Emphasis> field,
- which should be set to:
- </Para>
- <InformalExample Remap="indent">
- <ProgramListing>S_IFREG | S_IROTH | S_IRGRP | S_IRUSR
- </ProgramListing>
- </InformalExample>
- </RefSect1>
- <RefSect1>
- <Title>SEE ALSO</Title>
- <Para><Filename Role="Header">Dt/Dts.h</Filename>, &cdeman.DtDtsLoadDataTypes;, &cdeman.DtDtsFileToDataType;, <![ %CDE.C.CDE; [&cdeman.DtDtsBufferToDataType;, <Function>fstat</Function>(3), <Function>lstat</Function>(2), <Function>stat</Function>(2). ]]><![ %CDE.C.XO; [&cdeman.DtDtsBufferToDataType;; <Function>fstat</Function>(3), <Function>lstat</Function>(2), <Function>stat</Function>(2) in the &str-ZK;.
- ]]></Para>
- </RefSect1>
- </RefEntry>
- <!--fickle 1.12 mancsf-to-docbook 1.2 08/07/95 23:18:47-->
|