where does "CARD18" come from?

Jamey Sharp jamey at minilop.net
Sun May 19 23:02:51 PDT 2013

They're defined in the X11 core protocol specification:


I believe "CARD" is short for "cardinal", as in "cardinal numbers".

Regarding X vs. Lisp: I've been told that the X design decision to make
XIDs 29 bits wide was because (at least some) Lisp implementations of
the day had 29-bit integers; the other bits in each word were used to
tag pointers vs. unboxed integers, I guess. So they're not so completely
unrelated as you might think.


On Mon, May 20, 2013 at 07:12:44AM +0200, wempwer at gmail.com wrote:
> Hello,
> I was wondering where the names of various data types listed here may
> come from:
> http://www.x.org/wiki/XSessionManagementProtocol#Data_Types
> Most of them are clear, but these ones picked my interest:
>  CARD8
>  a one-byte unsigned integer
>  CARD16
>  a two-byte unsigned integer
>  CARD32
>  a four-byte unsigned integer 
> Do you know what is the etymology of these type names? Do they mean
> "character...", but what does "d" stand for? In Lisp "car" is a
> function that returns the first element of the list but I think Xorg
> has nothing to do with Lisp.
> History is interesting ;)
> -- 
> <wempwer at gmail.com>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.x.org/archives/xorg-devel/attachments/20130519/84a816dd/attachment.pgp>

More information about the xorg-devel mailing list