/*
 * fakeSal.h --
 *
 * Copyright (c) 2007-2012 by Joe Mistachkin.  All rights reserved.
 *
 * See the file "license.terms" for information on usage and redistribution of
 * this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: $
 */

#ifndef _FAKE_SAL_H_
#define _FAKE_SAL_H_

#  if defined(USE_FAKE_SAL)
#    define __null
#    define __notnull
#    define __maybenull
#    define __readonly
#    define __notreadonly
#    define __maybereadonly
#    define __valid
#    define __notvalid
#    define __maybevalid
#    define __readableTo(extent)
#    define __elem_readableTo(size)
#    define __byte_readableTo(size)
#    define __writableTo(size)
#    define __elem_writableTo(size)
#    define __byte_writableTo(size)
#    define __deref
#    define __pre
#    define __post
#    define __precond(expr)
#    define __postcond(expr)
#    define __exceptthat
#    define __execeptthat
#    define __inner_success(expr)
#    define __inner_checkReturn
#    define __inner_typefix(ctype)
#    define __inner_override
#    define __inner_callback
#    define __inner_blocksOn(resource)
#    define __inner_fallthrough_dec
#    define __inner_fallthrough
#    define __refparam
#    define __inner_control_entrypoint(category)
#    define __inner_data_entrypoint(category)
#    define __ecount(size)
#    define __bcount(size)
#    define __in
#    define __in_ecount(size)
#    define __in_bcount(size)
#    define __in_z
#    define __in_ecount_z(size)
#    define __in_bcount_z(size)
#    define __in_nz
#    define __in_ecount_nz(size)
#    define __in_bcount_nz(size)
#    define __out
#    define __out_ecount(size)
#    define __out_bcount(size)
#    define __out_ecount_part(size,length)
#    define __out_bcount_part(size,length)
#    define __out_ecount_full(size)
#    define __out_bcount_full(size)
#    define __out_z
#    define __out_z_opt
#    define __out_ecount_z(size)
#    define __out_bcount_z(size)
#    define __out_ecount_part_z(size,length)
#    define __out_bcount_part_z(size,length)
#    define __out_ecount_full_z(size)
#    define __out_bcount_full_z(size)
#    define __out_nz
#    define __out_nz_opt
#    define __out_ecount_nz(size)
#    define __out_bcount_nz(size)
#    define __inout
#    define __inout_ecount(size)
#    define __inout_bcount(size)
#    define __inout_ecount_part(size,length)
#    define __inout_bcount_part(size,length)
#    define __inout_ecount_full(size)
#    define __inout_bcount_full(size)
#    define __inout_z
#    define __inout_ecount_z(size)
#    define __inout_bcount_z(size)
#    define __inout_nz
#    define __inout_ecount_nz(size)
#    define __inout_bcount_nz(size)
#    define __ecount_opt(size)
#    define __bcount_opt(size)
#    define __in_opt
#    define __in_ecount_opt(size)
#    define __in_bcount_opt(size)
#    define __in_z_opt
#    define __in_ecount_z_opt(size)
#    define __in_bcount_z_opt(size)
#    define __in_nz_opt
#    define __in_ecount_nz_opt(size)
#    define __in_bcount_nz_opt(size)
#    define __out_opt
#    define __out_ecount_opt(size)
#    define __out_bcount_opt(size)
#    define __out_ecount_part_opt(size,length)
#    define __out_bcount_part_opt(size,length)
#    define __out_ecount_full_opt(size)
#    define __out_bcount_full_opt(size)
#    define __out_ecount_z_opt(size)
#    define __out_bcount_z_opt(size)
#    define __out_ecount_part_z_opt(size,length)
#    define __out_bcount_part_z_opt(size,length)
#    define __out_ecount_full_z_opt(size)
#    define __out_bcount_full_z_opt(size)
#    define __out_ecount_nz_opt(size)
#    define __out_bcount_nz_opt(size)
#    define __inout_opt
#    define __inout_ecount_opt(size)
#    define __inout_bcount_opt(size)
#    define __inout_ecount_part_opt(size,length)
#    define __inout_bcount_part_opt(size,length)
#    define __inout_ecount_full_opt(size)
#    define __inout_bcount_full_opt(size)
#    define __inout_z_opt
#    define __inout_ecount_z_opt(size)
#    define __inout_ecount_z_opt(size)
#    define __inout_bcount_z_opt(size)
#    define __inout_nz_opt
#    define __inout_ecount_nz_opt(size)
#    define __inout_bcount_nz_opt(size)
#    define __deref_ecount(size)
#    define __deref_bcount(size)
#    define __deref_out
#    define __deref_out_ecount(size)
#    define __deref_out_bcount(size)
#    define __deref_out_ecount_part(size,length)
#    define __deref_out_bcount_part(size,length)
#    define __deref_out_ecount_full(size)
#    define __deref_out_bcount_full(size)
#    define __deref_out_z
#    define __deref_out_ecount_z(size)
#    define __deref_out_bcount_z(size)
#    define __deref_out_nz
#    define __deref_out_ecount_nz(size)
#    define __deref_out_bcount_nz(size)
#    define __deref_inout
#    define __deref_inout_z
#    define __deref_inout_ecount(size)
#    define __deref_inout_bcount(size)
#    define __deref_inout_ecount_part(size,length)
#    define __deref_inout_bcount_part(size,length)
#    define __deref_inout_ecount_full(size)
#    define __deref_inout_bcount_full(size)
#    define __deref_inout_z
#    define __deref_inout_ecount_z(size)
#    define __deref_inout_bcount_z(size)
#    define __deref_inout_nz
#    define __deref_inout_ecount_nz(size)
#    define __deref_inout_bcount_nz(size)
#    define __deref_ecount_opt(size)
#    define __deref_bcount_opt(size)
#    define __deref_out_opt
#    define __deref_out_ecount_opt(size)
#    define __deref_out_bcount_opt(size)
#    define __deref_out_ecount_part_opt(size,length)
#    define __deref_out_bcount_part_opt(size,length)
#    define __deref_out_ecount_full_opt(size)
#    define __deref_out_bcount_full_opt(size)
#    define __deref_out_z_opt
#    define __deref_out_ecount_z_opt(size)
#    define __deref_out_bcount_z_opt(size)
#    define __deref_out_nz_opt
#    define __deref_out_ecount_nz_opt(size)
#    define __deref_out_bcount_nz_opt(size)
#    define __deref_inout_opt
#    define __deref_inout_ecount_opt(size)
#    define __deref_inout_bcount_opt(size)
#    define __deref_inout_ecount_part_opt(size,length)
#    define __deref_inout_bcount_part_opt(size,length)
#    define __deref_inout_ecount_full_opt(size)
#    define __deref_inout_bcount_full_opt(size)
#    define __deref_inout_z_opt
#    define __deref_inout_ecount_z_opt(size)
#    define __deref_inout_bcount_z_opt(size)
#    define __deref_inout_nz_opt
#    define __deref_inout_ecount_nz_opt(size)
#    define __deref_inout_bcount_nz_opt(size)
#    define __deref_opt_ecount(size)
#    define __deref_opt_bcount(size)
#    define __deref_opt_out
#    define __deref_opt_out_z
#    define __deref_opt_out_ecount(size)
#    define __deref_opt_out_bcount(size)
#    define __deref_opt_out_ecount_part(size,length)
#    define __deref_opt_out_bcount_part(size,length)
#    define __deref_opt_out_ecount_full(size)
#    define __deref_opt_out_bcount_full(size)
#    define __deref_opt_inout
#    define __deref_opt_inout_ecount(size)
#    define __deref_opt_inout_bcount(size)
#    define __deref_opt_inout_ecount_part(size,length)
#    define __deref_opt_inout_bcount_part(size,length)
#    define __deref_opt_inout_ecount_full(size)
#    define __deref_opt_inout_bcount_full(size)
#    define __deref_opt_inout_z
#    define __deref_opt_inout_ecount_z(size)
#    define __deref_opt_inout_bcount_z(size)
#    define __deref_opt_inout_nz
#    define __deref_opt_inout_ecount_nz(size)
#    define __deref_opt_inout_bcount_nz(size)
#    define __deref_opt_ecount_opt(size)
#    define __deref_opt_bcount_opt(size)
#    define __deref_opt_out_opt
#    define __deref_opt_out_ecount_opt(size)
#    define __deref_opt_out_bcount_opt(size)
#    define __deref_opt_out_ecount_part_opt(size,length)
#    define __deref_opt_out_bcount_part_opt(size,length)
#    define __deref_opt_out_ecount_full_opt(size)
#    define __deref_opt_out_bcount_full_opt(size)
#    define __deref_opt_out_z_opt
#    define __deref_opt_out_ecount_z_opt(size)
#    define __deref_opt_out_bcount_z_opt(size)
#    define __deref_opt_out_nz_opt
#    define __deref_opt_out_ecount_nz_opt(size)
#    define __deref_opt_out_bcount_nz_opt(size)
#    define __deref_opt_inout_opt
#    define __deref_opt_inout_ecount_opt(size)
#    define __deref_opt_inout_bcount_opt(size)
#    define __deref_opt_inout_ecount_part_opt(size,length)
#    define __deref_opt_inout_bcount_part_opt(size,length)
#    define __deref_opt_inout_ecount_full_opt(size)
#    define __deref_opt_inout_bcount_full_opt(size)
#    define __deref_opt_inout_z_opt
#    define __deref_opt_inout_ecount_z_opt(size)
#    define __deref_opt_inout_bcount_z_opt(size)
#    define __deref_opt_inout_nz_opt
#    define __deref_opt_inout_ecount_nz_opt(size)
#    define __deref_opt_inout_bcount_nz_opt(size)
#    define __success(expr)
#    define __nullterminated
#    define __nullnullterminated
#    define __reserved
#    define __checkReturn
#    define __typefix(ctype)
#    define __override
#    define __callback
#    define __format_string
#    define __blocksOn(resource)
#    define __control_entrypoint(category)
#    define __data_entrypoint(category)
#    define __fallthrough
#    define __analysis_assume(expr)
#  endif /* defined(USE_FAKE_SAL) */

#endif /* _FAKE_SAL_H_ */
