]>
git.saurik.com Git - apple/security.git/blob - SecurityServer/flippers.h
2 * Copyright (c) 2003 Apple Computer, Inc. All Rights Reserved.
4 * The contents of this file constitute Original Code as defined in and are
5 * subject to the Apple Public Source License Version 1.2 (the 'License').
6 * You may not use this file except in compliance with the License. Please obtain
7 * a copy of the License at http://www.apple.com/publicsource and read it before
10 * This Original Code and all software distributed under the License are
11 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
12 * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
13 * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14 * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
15 * specific language governing rights and limitations under the License.
20 // process - track a single client process and its belongings
25 #include <Security/endian.h>
26 #include <Security/debugging.h>
28 // various types we make flippers for
29 #include <Security/authorization.h>
30 #include <Security/cssmlist.h>
31 #include <Security/cssmcred.h>
32 #include <Security/cssmacl.h>
33 #include <Security/cssmaclpod.h>
34 #include <Security/context.h>
35 #include <Security/cssmdb.h>
42 // The default flipper does nothing
45 inline void flip(T
&obj
)
50 // It's a bad idea to try to flip a const, so flag that
53 inline void flip(const T
&)
54 { tryingToFlipAConstWontWork(); }
60 void flip(uint32
&obj
);
61 void flip(uint16
&obj
);
62 void flip(sint32
&obj
);
63 void flip(sint16
&obj
);
66 inline void flip(Base
* &obj
) { flip(&obj
, sizeof(obj
)); }
70 // The raw byte reversal flipper
72 void flip(void *addr
, size_t size
);
76 // Include automatically generated flipper declarations
81 } // end namespace flippers