_umask

Establece la máscara predeterminada de los permisos de archivo. Una versión más segura de esta función está disponible; vea _umask_s.

int _umask(
   int pmode 
);

Parámetros

  • pmode
    Valor de permisos predeterminado.

Valor devuelto

_umask devuelve el valor anterior de pmode. No se devuelve ningún error.

Comentarios

La función de _umask establece la máscara de archivo del proceso actual el modo especificado por pmode. La máscara de archivo modifica la configuración de permisos nuevos archivos creados por _creat, _open, o _sopen. Si un bit de la máscara es 1, el bit correspondiente en el valor solicitado de permiso del archivo se establece en 0 (denegado). Si un bit de la máscara es 0, el bit correspondiente permanece sin cambios. La configuración de permisos para un nuevo archivo no se establece hasta que se cierra el archivo por primera vez.

La expresión de entero pmode contiene una o ambas de las constantes de manifiesto siguientes, definidos en SYS\STAT.H:

  • _S_IWRITE
    Escribir permitida.

  • _S_IREAD
    Lectura permitida.

  • _S_IREAD | _S_IWRITE
    Lectura y escritura permitidas.

Cuando se dan ambas constantes, se combinan con bit a bit- OR el operador ( | ). Si el argumento de pmode es _S_IREAD, la lectura no se permite (el archivo es de sólo escritura). Si el argumento de pmode es _S_IWRITE, escribir no se permite (el archivo es de sólo lectura). Por ejemplo, si el bit de escritura se establece en la máscara, cualquier nuevo archivo será de sólo lectura. Observe que con MS-DOS y los sistemas operativos Windows, todos los archivos son legibles; no es posible asignar el permiso de solo escritura. Por consiguiente, establecer la lectura mordida con _umask no tiene ningún efecto en los modos de archivo.

Si pmode no es una combinación de una de las constantes de manifiesto ni escribir un conjunto alternas de constantes, la función omitirá los.

Requisitos

Rutina

Encabezado necesario

_umask

<io.h, sistema></stat.h, sistema/>types.h <>

Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

Bibliotecas

Todas las versiones de las bibliotecas en tiempo de ejecución de C.

Ejemplo

// crt_umask.c
// compile with: /W3
// This program uses _umask to set
// the file-permission mask so that all future
// files will be created as read-only files.
// It also displays the old mask.
#include <sys/stat.h>
#include <sys/types.h>
#include <io.h>
#include <stdio.h>

int main( void )
{
   int oldmask;

   /* Create read-only files: */
   oldmask = _umask( _S_IWRITE ); // C4996
   // Note: _umask is deprecated; consider using _umask_s instead
   printf( "Oldmask = 0x%.4x\n", oldmask );
}
  

Equivalente en .NET Framework

System::IO::File::SetAttributes

Vea también

Referencia

Control de archivos

E/S de bajo nivel

_chmod, _wchmod

_creat, _wcreat

_mkdir, _wmkdir

_open, _wopen