// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.


package PACKAGE

type	Pointer	*any;
func	Offsetof(any) int;
func	Sizeof(any) int;
func	Alignof(any) int;
func	Reflect(i interface { }) (uint64, string, bool);
func	Unreflect(uint64, string, bool) (ret interface { });
