Unosquare
    Show / Hide Table of Contents

    Class Files

    A file may only be opened if permission is granted by an entry in /opt/pigpio/access. This is intended to allow remote access to files in a more or less controlled manner.

    Each entry in /opt/pigpio/access takes the form of a file path which may contain wildcards followed by a single letter permission. The permission may be R for read, W for write, U for read/write, and N for no access.

    Where more than one entry matches a file the most specific rule applies. If no entry matches a file then access is denied.

    Suppose /opt/pigpio/access contains the following entries

    Files may be written in directory dir_1 with the exception of file.txt.

    Files may be read in directory dir_2.

    Files may be read and written in directory dir_3.

    If a directory allows read, write, or read/write access then files may be created in that directory.

    In an attempt to prevent risky permissions the following paths are ignored in /opt/pigpio/access.

    Inheritance
    Object
    Files
    Inherited Members
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: Unosquare.PiGpio.NativeMethods
    Syntax
    public static class Files

    Methods

    FileClose(UIntPtr)

    This function closes the file associated with handle.

    Declaration
    public static ResultCode FileClose(UIntPtr handle)
    Parameters
    Type Name Description
    UIntPtr handle

    =0, as returned by a call to FileOpen(String, FileModeFlags).

    Returns
    Type Description
    ResultCode

    Returns 0 if OK, otherwise PI_BAD_HANDLE.

    Examples
    fileClose(h);

    FileList(String)

    Retrieves a list of files matching the given pattern. See Unosquare.PiGpio.NativeMethods.Files.FileListUnmanaged(System.String,System.Byte[],System.UInt32).

    Declaration
    public static string[] FileList(string pathPattern)
    Parameters
    Type Name Description
    String pathPattern

    The path pattern.

    Returns
    Type Description
    String[]

    A list of matching files.

    FileOpen(String, FileModeFlags)

    A wrapper function for Unosquare.PiGpio.NativeMethods.Files.FileOpenUnmanaged(System.String,System.UInt32).

    Declaration
    public static UIntPtr FileOpen(string filePath, FileModeFlags mode)
    Parameters
    Type Name Description
    String filePath

    The file path.

    FileModeFlags mode

    The mode.

    Returns
    Type Description
    UIntPtr

    A file handle.

    Exceptions
    Type Condition
    IOException

    When the file fails to open.

    FileRead(UIntPtr, Byte[], UInt32)

    This function reads up to count bytes from the the file associated with handle and writes them to buf.

    Declaration
    public static int FileRead(UIntPtr handle, byte[] buffer, uint count)
    Parameters
    Type Name Description
    UIntPtr handle

    =0, as returned by a call to FileOpen(String, FileModeFlags).

    Byte[] buffer

    an array to receive the read data.

    UInt32 count

    the maximum number of bytes to read.

    Returns
    Type Description
    Int32

    Returns the number of bytes read (>=0) if OK, otherwise PI_BAD_HANDLE, PI_BAD_PARAM, PI_FILE_NOT_ROPEN, or PI_BAD_FILE_WRITE.

    Examples
    if (fileRead(h, buf, sizeof(buf)) > 0)
    {
       // process read data
    }

    FileRead(UIntPtr, Int32)

    Reads from a file handle up to count bytes.

    Declaration
    public static byte[] FileRead(UIntPtr handle, int count)
    Parameters
    Type Name Description
    UIntPtr handle

    The handle.

    Int32 count

    The count.

    Returns
    Type Description
    Byte[]

    The array of bytes read.

    FileSeek(UIntPtr, Int32, SeekMode)

    Seeks within a file.

    Declaration
    public static int FileSeek(UIntPtr handle, int seekOffset, SeekMode seekFrom)
    Parameters
    Type Name Description
    UIntPtr handle

    The handle.

    Int32 seekOffset

    The seek offset.

    SeekMode seekFrom

    The seek from.

    Returns
    Type Description
    Int32

    The new byte position within the file.

    FileWrite(UIntPtr, Byte[])

    Writes the given buffer to a file handle.

    Declaration
    public static ResultCode FileWrite(UIntPtr handle, byte[] buffer)
    Parameters
    Type Name Description
    UIntPtr handle

    The handle.

    Byte[] buffer

    The buffer.

    Returns
    Type Description
    ResultCode

    The Result Code.

    FileWrite(UIntPtr, Byte[], Int32)

    Writes the given buffer to a file handle.

    Declaration
    public static ResultCode FileWrite(UIntPtr handle, byte[] buffer, int length)
    Parameters
    Type Name Description
    UIntPtr handle

    The handle.

    Byte[] buffer

    The buffer.

    Int32 length

    The length.

    Returns
    Type Description
    ResultCode

    The Result Code.

    Comments

    Back to top Copyright © 2017-2019 Unosquare