mozilla
Your Search Results

    PR_Open

    « NSPR API Reference « I/O Functions

    Opens a file for reading, writing, or both. Also used to create a file.

    Syntax

    #include <prio.h> 
    
    PRFileDesc* PR_Open(
      const char *name, 
      PRIntn flags, 
      PRIntn mode);
    

    Parameters

    The function has the following parameters:

    name
    The pathname of the file to be opened.
    flags
    The file status flags define how the file is accessed. It is a bitwise OR of the following bit flags. In most cases, only one of the first three flags may be used. If the flags parameter does not include any of the first three flags (PR_RDONLY, PR_WRONLY, or PR_RDWR), the open file can't be read or written, which is not useful.

    NOTE: The constants PR_RDWR and friends are not in any interface (bug 433295). Thus they cannot be used in JavaScript, you have to use the octal constants (see File I/O Snippets).

    Name Value Description
    PR_RDONLY 0x01 Open for reading only.
    PR_WRONLY 0x02 Open for writing only.
    PR_RDWR 0x04 Open for reading and writing.
    PR_CREATE_FILE 0x08

    If the file does not exist, the file is created. If the file exists, this flag has no effect.

    PR_APPEND 0x10

    The file pointer is set to the end of the file prior to each write.

    PR_TRUNCATE 0x20

    If the file exists, its length is truncated to 0.

    PR_SYNC 0x40

    If set, each write will wait for both the file data and file status to be physically updated.

    PR_EXCL 0x80

    With PR_CREATE_FILE, if the file does not exist, the file is created. If the file already exists, no action and NULL is returned.

     

    mode
    When PR_CREATE_FILE flag is set and the file is created, these flags define the access permission bits of the newly created file. This feature is currently only applicable on Unix platforms. It is ignored by any other platform but it may apply to other platforms in the future. Possible values of the mode parameter are listed in the table below.
    Name Value Description
    PR_IRWXU 0700 read, write, execute/search by owner.
    PR_IRUSR 0400 read permission, owner.
    PR_IWUSR 0200 write permission, owner.
    PR_IXUSR 0100 execute/search permission, owner.
    PR_IRWXG 0070 read, write, execute/search by group
    PR_IRGRP 0040 read permission, group
    PR_IWGRP 0020 write permission, group
    PR_IXGRP 0010 execute/search permission, group
    PR_IRWXO 0007 read, write, execute/search by others
    PR_IROTH 0004 read permission, others
    PR_IWOTH 0002 write permission, others
    PR_IXOTH 0001 execute/search permission, others

    Returns

    The function returns one of the following values:

    • If the file is successfully opened, a pointer to a dynamically allocated PRFileDesc for the newly opened file. The PRFileDesc should be freed by calling PR_Close.
    • If the file was not opened successfully, a NULL pointer.

    Description

    PR_Open creates a file descriptor (PRFileDesc) for the file with the pathname name and sets the file status flags of the file descriptor according to the value of flags. If a new file is created as a result of the PR_Open call, its file mode bits are set according to the mode parameter.

    Document Tags and Contributors

    Contributors to this page: Jorge.villalobos, Ng.mangine, Mook_sb, Rappo, Smi, SCClockDr
    Last updated by: Jorge.villalobos,