open-src/driver/efb/sun-src/src/gfx_common.h
author Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
Mon, 25 Apr 2011 13:38:53 -0700
changeset 1116 605549b491ac
permissions -rw-r--r--
7039092 Move efb module for Xorg to X consolidation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1116
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     1
/*
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     2
 * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     3
 *
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     4
 * Permission is hereby granted, free of charge, to any person obtaining a
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     5
 * copy of this software and associated documentation files (the "Software"),
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     6
 * to deal in the Software without restriction, including without limitation
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     7
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     8
 * and/or sell copies of the Software, and to permit persons to whom the
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     9
 * Software is furnished to do so, subject to the following conditions:
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    10
 *
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    11
 * The above copyright notice and this permission notice (including the next
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    12
 * paragraph) shall be included in all copies or substantial portions of the
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    13
 * Software.
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    14
 *
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    15
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    16
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    17
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    18
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    19
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    20
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    21
 * DEALINGS IN THE SOFTWARE.
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    22
 */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    23
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    24
#ifndef _GFX_COMMON_H
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    25
#define _GFX_COMMON_H
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    26
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    27
#include <sys/types.h>
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    28
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    29
#define GFXIOC					('g' << 8)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    30
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    31
#define GFX_IOCTL_GET_IDENTIFIER		(GFXIOC | 1)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    32
#define GFX_IOCTL_GET_CURRENT_VIDEO_MODE	(GFXIOC | 2)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    33
#define GFX_IOCTL_GET_PCI_CONFIG		(GFXIOC | 3)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    34
#define GFX_IOCTL_SET_VIDEO_MODE		(GFXIOC | 4)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    35
#define GFX_IOCTL_GET_EDID_LENGTH		(GFXIOC | 5)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    36
#define GFX_IOCTL_GET_EDID			(GFXIOC | 6)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    37
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    38
#define GFX_MAX_MODELNAME_LEN			36
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    39
#define GFX_MAX_PARTNUM_LEN			36
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    40
#define GFX_MAX_VMODE_LEN			48
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    41
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    42
#define GFX_IDENT_VERSION			1
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    43
#define GFX_IDENT_MODELNAME			0x01
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    44
#define GFX_IDENT_PARTNUM			0x02
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    45
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    46
#define GFX_EDID_VERSION			1
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    47
#define GFX_EDID_BLOCK_SIZE			128
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    48
#define GFX_EDID_HEAD_ONE			1
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    49
#define GFX_EDID_HEAD_TWO			2
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    50
#define GFX_EDID_HEAD_THREE			3
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    51
#define GFX_EDID_HEAD_FOUR			4
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    52
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    53
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    54
typedef struct	gfx_identifier {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    55
	uint32_t	version;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    56
	uint32_t	flags;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    57
	char		model_name[GFX_MAX_MODELNAME_LEN];
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    58
	char		part_number[GFX_MAX_PARTNUM_LEN];
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    59
	char		pad[100];
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    60
} gfx_identifier_t;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    61
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    62
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    63
typedef struct  gfx_video_mode {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    64
	char		mode_name[GFX_MAX_VMODE_LEN];
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    65
	uint32_t	vRefresh;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    66
	char		pad[96];
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    67
} gfx_video_mode_t;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    68
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    69
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    70
typedef struct  gfx_pci_cfg {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    71
	uint16_t 	VendorID;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    72
	uint16_t 	DeviceID;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    73
	uint16_t 	Command;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    74
	uint16_t 	Status;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    75
	uint8_t  	RevisionID;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    76
	uint8_t  	ProgIF;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    77
	uint8_t  	SubClass;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    78
	uint8_t  	BaseClass;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    79
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    80
	uint8_t  	CacheLineSize;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    81
	uint8_t  	LatencyTimer;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    82
	uint8_t  	HeaderType;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    83
	uint8_t  	BIST;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    84
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    85
	uint32_t 	bar[6];
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    86
	uint32_t   	CIS;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    87
	uint16_t 	SubVendorID;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    88
	uint16_t 	SubSystemID;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    89
	uint32_t   	ROMBaseAddress;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    90
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    91
	uint8_t  	CapabilitiesPtr;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    92
	uint8_t  	Reserved_1[3];
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    93
	uint32_t   	Reserved_2;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    94
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    95
	uint8_t  	InterruptLine;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    96
	uint8_t  	InterruptPin;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    97
	uint8_t  	MinimumGrant;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    98
	uint8_t  	MaximumLatency;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    99
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   100
	uint8_t  	pad[100];
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   101
} gfx_pci_cfg_t;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   102
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   103
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   104
typedef struct gfx_edid {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   105
	uint32_t	version;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   106
	uint32_t	head;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   107
#ifndef _LP64 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   108
	uint32_t	pad;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   109
#endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   110
	caddr_t		data;		/* pointer to the buffer that receives data */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   111
	uint32_t	length;		/* length of the buffer. */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   112
} gfx_edid_t;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   113
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   114
#endif /* _GFX_COMMON_H */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   115
	
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   116