vshost-util-vserver

Build script and sources for util-vserver.
git clone https://ccx.te2000.cz/git/vshost-util-vserver
Log | Files | Refs

syscall_fgetiattr-v22.hc (1218B)


      1 // $Id$    --*- c++ -*--
      2 
      3 // Copyright (C) 2007 Daniel Hokka Zakrisson
      4 //  
      5 // This program is free software; you can redistribute it and/or modify
      6 // it under the terms of the GNU General Public License as published by
      7 // the Free Software Foundation; version 2 of the License.
      8 //  
      9 // This program is distributed in the hope that it will be useful,
     10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
     11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     12 // GNU General Public License for more details.
     13 //  
     14 // You should have received a copy of the GNU General Public License
     15 // along with this program; if not, write to the Free Software
     16 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
     17 
     18 
     19 #ifdef HAVE_CONFIG_H
     20 #  include <config.h>
     21 #endif
     22 
     23 static inline ALWAYSINLINE int
     24 vc_fget_iattr_v22(int fd, xid_t *ctx, uint_least32_t *flags,
     25               uint_least32_t *mask)
     26 {
     27   int ret;
     28   struct vcmd_ctx_fiattr_v0 data = { .mask = 0 };
     29 
     30   if (mask)
     31     data.mask = *mask;
     32   ret = vserver(VCMD_fget_iattr, fd, &data);
     33   if (ret)
     34     return ret;
     35 
     36   if (ctx)
     37     *ctx = data.xid;
     38   if (flags)
     39     *flags = data.flags;
     40   if (mask)
     41     *mask = data.mask;
     42 
     43   return 0;
     44 }