Aracılığıyla paylaş


_umask

Varsayılan dosya izni maskesini ayarlar. Bu işlevin daha güvenli bir sürümü için bkz _umask_s . .

Sözdizimi

int _umask( int pmode );

Parametreler

pmode
Varsayılan izin ayarı.

Dönüş değeri

_umask değerinin önceki değerini pmodedöndürür. Hata döndürme yok.

Açıklamalar

işlevi geçerli _umask işlemin dosya izni maskesini tarafından pmodebelirtilen moda ayarlar. Dosya izni maskesi, , _openveya _sopentarafından _creatoluşturulan yeni dosyaların izin ayarını değiştirir. Maskedeki bir bit 1 ise, dosyanın istenen izin değerindeki ilgili bit 0 olarak ayarlanır (izin verilmez). Maskedeki bir bit 0 ise, karşılık gelen bit değişmeden bırakılır. Yeni bir dosyanın izin ayarı, dosya ilk kez kapatılana kadar ayarlanmaz.

Tamsayı ifadesi pmode , içinde SYS\STAT.Htanımlanan aşağıdaki bildirim sabitlerinden birini veya her ikisini içerir:

pmode Açıklama
_S_IWRITE Yazma izni verilir.
_S_IREAD Okuma izni verilir.
_S_IREAD | _S_IWRITE Okuma ve yazma izin verilir.

Her iki sabit de verildiğinde bit düzeyinde OR işleciyle ( | ) birleştirilir. pmode Bağımsız değişken ise_S_IREAD, okumaya izin verilmez (dosya salt okunurdur). pmode Bağımsız değişken ise_S_IWRITE, yazmaya izin verilmez (dosya salt okunurdur). Örneğin, yazma biti maskede ayarlanırsa, tüm yeni dosyalar salt okunur olur. MS-DOS ve Windows işletim sistemlerinde tüm dosyalar okunabilir; yalnızca yazma izni vermek mümkün değildir. Bu nedenle, okuma bitini ile _umask ayarlamak dosyanın modlarını hiçbir şekilde etkilemez.

Bildirim sabitlerinden birinin birleşimi değilse veya alternatif bir sabit kümesine sahipse pmode işlev bunları yoksayar.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bunu değiştirmek için bkz . CRT'de Genel durum.

Gereksinimler

İşlev Gerekli başlık
_umask <io.h>, <sys/stat.h>, <sys/types.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Kitaplıklar

C çalışma zamanı kitaplıklarının tüm sürümleri.

Örnek

// 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 );
}
Oldmask = 0x0000

Ayrıca bkz.

Dosya işleme
Alt düzey G/Ç
_chmod, _wchmod
_creat, _wcreat
_mkdir, _wmkdir
_open, _wopen