xorriso  1.5.4.pl02
About: GNU xorriso creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions. It is suitable for incremental data backup and for production of bootable ISO 9660 images. GNU xorriso is a statical compilation of the libraries libburn, libisofs, libisoburn, and libjte.
  Fossies Dox: xorriso-1.5.4.pl02.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

aaip-os-dummy.c
Go to the documentation of this file.
1 
2 /*
3 
4  aaip-os-dummy.c
5 
6  Idle placeholder for:
7  Arbitrary Attribute Interchange Protocol , system adapter for getting and
8  setting of ACLs and xattr.
9 
10  See aaip-os-linux.c for a real implementation of this interface.
11 
12  To be included by aaip_0_2.c
13 
14  Copyright (c) 2009 - 2011 Thomas Schmitt
15 
16  This file is part of the libisofs project; you can redistribute it and/or
17  modify it under the terms of the GNU General Public License version 2
18  or later as published by the Free Software Foundation.
19  See COPYING file for details.
20 
21 */
22 
23 #ifdef HAVE_CONFIG_H
24 #include "../config.h"
25 #endif
26 
27 #include <ctype.h>
28 #include <sys/types.h>
29 #include <unistd.h>
30 #include <stdlib.h>
31 #include <string.h>
32 #include <stdio.h>
33 #include <sys/stat.h>
34 
35 
36 /* ------------------------------ Inquiry --------------------------------- */
37 
38 /* See also API iso_local_attr_support().
39  @param flag
40  Bitfield for control purposes
41  bit0= inquire availability of ACL
42  bit1= inquire availability of xattr
43  bit2 - bit7= Reserved for future types.
44  It is permissibile to set them to 1 already now.
45  bit8 and higher: reserved, submit 0
46  @return
47  Bitfield corresponding to flag.
48  bit0= ACL adapter is enabled
49  bit1= xattr adapter is enabled
50  bit2 - bit7= Reserved for future types.
51  bit8 and higher: reserved, do not interpret these
52 */
54 {
55  return(0);
56 }
57 
58 
59 /* ------------------------------ Getters --------------------------------- */
60 
61 /* Obtain the ACL of the given file in long text form.
62  @return 0 ACL support not enabled at compile time
63 */
64 int aaip_get_acl_text(char *path, char **text, int flag)
65 {
66  return(0);
67 }
68 
69 
70 /* Obtain the Extended Attributes and/or the ACLs of the given file in a form
71  that is ready for aaip_encode().
72  @return 1 ok
73 */
74 int aaip_get_attr_list(char *path, size_t *num_attrs, char ***names,
75  size_t **value_lengths, char ***values, int flag)
76 {
77  *num_attrs= 0;
78  *names= NULL;
79  *value_lengths= NULL;
80  *values= NULL;
81  return(1);
82 }
83 
84 
85 /* ------------------------------ Setters --------------------------------- */
86 
87 
88 /* Set the ACL of the given file to a given list in long text form.
89  @return 0 ACL support not enabled at compile time
90 */
91 int aaip_set_acl_text(char *path, char *text, int flag)
92 {
93  return(0);
94 }
95 
96 
97 /* Bring the given attributes and/or ACLs into effect with the given file.
98  @param flag Bitfield for control purposes
99  bit0= decode and set ACLs
100  bit1= first clear all existing attributes of the file
101  bit2= do not set attributes other than ACLs
102  @return 1 success (there was nothing to do)
103  -6 support of xattr not enabled at compile time
104  -7 support of ACL not enabled at compile time
105 */
106 int aaip_set_attr_list(char *path, size_t num_attrs, char **names,
107  size_t *value_lengths, char **values, int *errnos,
108  int flag)
109 {
110  size_t i;
111 
112  for(i= 0; i < num_attrs; i++)
113  errnos[i]= 0;
114 
115  for(i= 0; i < num_attrs; i++) {
116  if(names[i] == NULL || values[i] == NULL)
117  continue;
118  if(names[i][0] == 0) { /* ACLs */
119  if(flag & 1)
120  return(-7);
121  continue;
122  }
123  /* Extended Attribute */
124  if(flag & 4)
125  continue;
126  if(!(flag & 8))
127  if(strncmp(names[i], "user.", 5))
128  continue;
129  return(-6);
130  }
131  if(flag & 2)
132  return(-6);
133  return(1);
134 }
135 
136 
int aaip_set_attr_list(char *path, size_t num_attrs, char **names, size_t *value_lengths, char **values, int *errnos, int flag)
int aaip_get_attr_list(char *path, size_t *num_attrs, char ***names, size_t **value_lengths, char ***values, int flag)
Definition: aaip-os-dummy.c:74
int aaip_set_acl_text(char *path, char *text, int flag)
Definition: aaip-os-dummy.c:91
int aaip_get_acl_text(char *path, char **text, int flag)
Definition: aaip-os-dummy.c:64
int aaip_local_attr_support(int flag)
Definition: aaip-os-dummy.c:53