TypeDefs

From J Wiki
Jump to navigation Jump to search

Ever wonder what all the types are? These are the typedefs of w.c taken from a 64 bit linux INTEL system on 2012-Mar-10. Search for enum. The system typedefs appear before this, and those from the j header files follow, about half way down.

$ gcc -E w.c | gawk 'a{print;a=!/^ *}/}/typedef/{print;a=/enum|struct|union/}'

followed with editing.

   JVERSION
Engine: j701/2011-02-23/15:25
Library: 7.01.045
Platform: Linux 64
Installer: unknown
InstallPath: /home/lambertdw/Downloads/jgplsrc/j

typedef long unsigned int size_t;
typedef struct __locale_struct
{
  struct __locale_data *__locales[13];
  const unsigned short int *__ctype_b;
  const int *__ctype_tolower;
  const int *__ctype_toupper;
  const char *__names[13];
} *__locale_t;
typedef __locale_t locale_t;
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
typedef signed long int __int64_t;
typedef unsigned long int __uint64_t;
typedef long int __quad_t;
typedef unsigned long int __u_quad_t;
typedef unsigned long int __dev_t;
typedef unsigned int __uid_t;
typedef unsigned int __gid_t;
typedef unsigned long int __ino_t;
typedef unsigned long int __ino64_t;
typedef unsigned int __mode_t;
typedef unsigned long int __nlink_t;
typedef long int __off_t;
typedef long int __off64_t;
typedef int __pid_t;
typedef struct { int __val[2]; } __fsid_t;
typedef long int __clock_t;
typedef long int __clock_t;
typedef unsigned long int __rlim_t;
typedef unsigned long int __rlim64_t;
typedef unsigned int __id_t;
typedef long int __time_t;
typedef unsigned int __useconds_t;
typedef long int __suseconds_t;
typedef int __daddr_t;
typedef long int __swblk_t;
typedef int __key_t;
typedef int __clockid_t;
typedef void * __timer_t;
typedef long int __blksize_t;
typedef long int __blkcnt_t;
typedef long int __blkcnt64_t;
typedef unsigned long int __fsblkcnt_t;
typedef unsigned long int __fsblkcnt64_t;
typedef unsigned long int __fsfilcnt_t;
typedef unsigned long int __fsfilcnt64_t;
typedef long int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;
typedef long int __intptr_t;
typedef unsigned int __socklen_t;
typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;
typedef __loff_t loff_t;
typedef __ino_t ino_t;
typedef __dev_t dev_t;
typedef __gid_t gid_t;
typedef __mode_t mode_t;
typedef __nlink_t nlink_t;
typedef __uid_t uid_t;
typedef __off_t off_t;
typedef __pid_t pid_t;
typedef __id_t id_t;
typedef __ssize_t ssize_t;
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
typedef __clock_t clock_t;
typedef __time_t time_t;
typedef __clockid_t clockid_t;
typedef __timer_t timer_t;
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
typedef int int8_t __attribute__ ((__mode__ (__QI__)));
typedef int int16_t __attribute__ ((__mode__ (__HI__)));
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef int int64_t __attribute__ ((__mode__ (__DI__)));
typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
typedef int register_t __attribute__ ((__mode__ (__word__)));
typedef int __sig_atomic_t;
typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
typedef __sigset_t sigset_t;
typedef __suseconds_t suseconds_t;
typedef long int __fd_mask;
typedef struct
  {
    __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
  } fd_set;
typedef __fd_mask fd_mask;
typedef __blksize_t blksize_t;
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
typedef unsigned long int pthread_t;
typedef union
{
  char __size[56];
  long int __align;
} pthread_attr_t;
typedef struct __pthread_internal_list
{
  struct __pthread_internal_list *__prev;
  struct __pthread_internal_list *__next;
} __pthread_list_t;
typedef union
{
  struct __pthread_mutex_s
  {
    int __lock;
    unsigned int __count;
    int __owner;
    unsigned int __nusers;
    int __kind;
    int __spins;
    __pthread_list_t __list;
# 101 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4
  } __data;
typedef union
{
  char __size[4];
  int __align;
} pthread_mutexattr_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __futex;
    __extension__ unsigned long long int __total_seq;
    __extension__ unsigned long long int __wakeup_seq;
    __extension__ unsigned long long int __woken_seq;
    void *__mutex;
    unsigned int __nwaiters;
    unsigned int __broadcast_seq;
  } __data;
typedef union
{
  char __size[4];
  int __align;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef int pthread_once_t;
typedef union
{
  struct
  {
    int __lock;
    unsigned int __nr_readers;
    unsigned int __readers_wakeup;
    unsigned int __writer_wakeup;
    unsigned int __nr_readers_queued;
    unsigned int __nr_writers_queued;
    int __writer;
    int __shared;
    unsigned long int __pad1;
    unsigned long int __pad2;
    unsigned int __flags;
  } __data;
typedef union
{
  char __size[8];
  long int __align;
} pthread_rwlockattr_t;
typedef volatile int pthread_spinlock_t;
typedef union
{
  char __size[32];
  long int __align;
} pthread_barrier_t;
typedef union
{
  char __size[4];
  int __align;
} pthread_barrierattr_t;
typedef int wchar_t;
typedef union
  {
    union wait *__uptr;
    int *__iptr;
  } __WAIT_STATUS __attribute__ ((__transparent_union__));
typedef struct
  {
    int quot;
    int rem;
  } div_t;
typedef struct
  {
    long int quot;
    long int rem;
  } ldiv_t;
__extension__ typedef struct
  {
    long long int quot;
    long long int rem;
  } lldiv_t;
typedef int (*__compar_fn_t) (__const void *, __const void *);
typedef struct _IO_FILE FILE;
typedef struct _IO_FILE __FILE;
typedef struct _IO_FILE __FILE;
typedef struct
{
  int __count;
  union
  {
    unsigned int __wch;
    char __wchb[4];
  } __value;
typedef struct
{
  __off_t __pos;
  __mbstate_t __state;
} _G_fpos_t;
typedef struct
{
  __off64_t __pos;
  __mbstate_t __state;
} _G_fpos64_t;
typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
typedef __builtin_va_list __gnuc_va_list;
typedef void _IO_lock_t;
typedef struct _IO_FILE _IO_FILE;
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
typedef int __io_close_fn (void *__cookie);
typedef __gnuc_va_list va_list;
typedef _G_fpos_t fpos_t;
typedef float float_t;
typedef double double_t;
typedef enum
{
  _IEEE_ = -1,
  _SVID_,
  _XOPEN_,
  _POSIX_,
  _ISOC_
} _LIB_VERSION_TYPE;
typedef long A1;
typedef unsigned long BT;
typedef long I;
typedef long SB;
typedef unsigned long UI;
typedef char B;
typedef char C;
typedef char* Ptr;
typedef short S;
typedef short C2;
typedef unsigned char UC;
typedef unsigned short US;
typedef unsigned short U2;
typedef unsigned int UINT;
typedef int I4;
typedef double D;
typedef FILE* F;
typedef long double LD;
typedef struct {I k,flag,m,t,c,n,r,s[1];}* A;
typedef struct {A a,t;}TA;
typedef struct {A a,t;}TA;
typedef A (*AF)();
typedef A (*AF)();
typedef UI (*UF)();
typedef void (*VF)();
typedef int (*CMP)();
typedef A X;
typedef struct {X n,d;} Q;
typedef struct {D re,im;} Z;
typedef struct {D re,im;} Z;
typedef union {D d;UINT i[2];} DI;
typedef union {D d;UINT i[2];} DI;
typedef I SI;
typedef I SI;
typedef struct {I i;US n,go,source;C type;} CW;
typedef struct DS{
typedef struct DS{
 struct DS*dclnk;
 A dca;
 A dcf;
 A dcx;
 A dcy;
 A dcloc;
 A dcc;
 I dci;
 I dcj;
 I dcn;
 I dcm;
 I dcstop;
 C dctype;
 B dcsusp;
 C dcss;
} DST;
typedef DST* DC;
typedef struct {I e,p;X x;} DX;
typedef struct {A name,val;I flag,sn,next,prev;} L;
typedef struct {A name,val;I flag,sn,next,prev;} L;
typedef struct{A og,g;I ptr,flag;B sw0;} LS;
typedef struct{A og,g;I ptr,flag;B sw0;} LS;
typedef struct{UI hash;I sn;L*e;UC m;C flag,s[1];} NM;
typedef struct{UI hash;I sn;L*e;UC m;C flag,s[1];} NM;
typedef struct {I a,e,i,x;} P;
typedef struct {I a,e,i,x;} P;
typedef struct{
typedef struct{
 A name;
 A loc;
 I lc;
 I s;
 I t[2];
 C val;
 C unused[3];
} PM;
typedef struct{
 I n;
 I i;
 I s;
 B rec;
 B trunc;
 B wrapped;
 C unused[1];
} PM0;
typedef struct{
 I i;
 I n;
 UI h;
 I color;
 I parent;
 I left;
 I right;
 I order;
 I down;
 I up;
 I flag;
} SBU;
typedef struct {AF f1,f2;A f,g,h;I flag,mr,lr,rr,fdep;C id;} V;
typedef struct {DX re;DX im;} ZX;
typedef struct {DX re;DX im;} ZX;
typedef struct {
 C* adbreak;
 I arg;
 B asgn;
 B assert;
 I* breakfh;
 C breakfn[1024];
 B breakignore;
 I* breakmh;
 C* bx;
 A bxa;
 I bytes;
 I bytesmax;
 A cdarg;
 A cdhash;
 A cdhashl;
 I cdna;
 I cdnl;
 I cdns;
 A cdstr;
 CMP comp;
 int compgt;
 I compk;
 int complt;
 I compn;
 C* compsev;
 I compsi;
 I* compstv;
 I compswf;
 I compsxc;
 C* compsxv;
 I compsyc;
 I* compsyv;
 C* compv;
 A compw;
 D ct;
 UI ctmask;
 A curlocn;
 A curname;
 L* cursymb;
 I db;
 A dbalpha;
 I dbjump;
 A dbomega;
 A dbresult;
 C dbss;
 DC dbssd;
 A dbssexec;
 A dbstops;
 C dbsusact;
 A dbtrap;
 I dbuser;
 DC dcs;
 C diratts[7];
 C* dirbase;
 C dirmode[11];
 C dirnamebuf[1024];
 C dirrwx[3];
 struct stat dirstatbuf;
 struct stat dummy1;
 struct stat dummy2;
 I disp[7];
 I dlllasterror;
 B dotnames;
 void*dtoa;
 C etx[1+2000];
 I etxn;
 I etxn1;
 A evm;
 I fcalli;
 I fcalln;
 LS fcallg[1+10000L];
 I fdepi;
 I fdepn;
 A fill;
 C* fillv;
 C fillv0[sizeof(Z)];
 A flkd;
 I flkn;
 A fopa;
 A fopf;
 I fopn;
 D fuzz;
 I fxi;
 A fxpath;
 A* fxpv;
 I getlasterror;
 A global;
 I glock;
 void*heap;
 I hin;
 I* hiv;
 A iep;
 B iepdo;
 C jerr;
 I jerr1;
 AF lcp;
 I lleft;
 I lmon;
 A local;
 I locsize[2];
 I lright;
 A ltext;
 AF ltie;
 I* mfree[(0?63:31)];
 I mfreeb[(0?63:31)];
 I mfreet[(0?63:31)];
 I min;
 I mmax;
 I mtyo;
 C* mtyostr;
 I nfe;
 B nflag;
 B nla[256];
 I nlt;
 A nvra;
 A* nvrav;
 A nvrb;
 B* nvrbv;
 I nvrtop;
 I oleop;
 void*opbstr;
 I outeol;
 I outmaxafter;
 I outmaxbefore;
 I outmaxlen;
 C outseq[3];
 I parsercalls;
 A pma;
 I pmctr;
 B pmrec;
 PM0* pmu;
 PM* pmv;
 I pos[2];
 C pp[8];
 AF pre;
 I* rank;
 I redefined;
 int reginitflag;
 I rela;
 I relw;
 B retcomm;
 I rng;
 UF rngF[5];
 UI* rngfxsv;
 UF rngf;
 I rngI[5];
 I rngI0[5];
 I rngi;
 UI rngM[5];
 I rngS[5];
 A rngseed;
 UI* rngV[5];
 UI* rngV0[5];
 UI* rngv;
 I rngw;
 I sbfillfactor;
 I sbgap;
 A sbh;
 I* sbhv;
 I sbroot;
 A sbs;
 I sbsn;
 C* sbsv;
 A sbu;
 I sbun;
 SBU* sbuv;
 A sca;
 I scn;
 I* scv;
 int sdinited;
 I seclev;
 B sesm;
 A sf;
 DC sitop;
 A slist;
 I slisti;
 I slistn;
 I sm;
 void*smdowd;
 void*sminput;
 void*smoutput;
 void*smpoll;
 D spfor;
 B stch;
 A stloc;
 I stmax;
 A stnum;
 A stptr;
 B stswitched;
 I stused;
 A symb;
 I symindex;
 A symp;
 L* sympv;
 I tbase;
 C* th2buf;
 I th2bufn;
 UI timelimit;
 B tmonad;
 B tostdout;
 I transposeflag;
 D tssbase;
 A* tstack;
 A tstacka;
 TA* ttab;
 I ttabi;
 I ttabi0;
 B tsubst;
 I ttop;
 B xco;
 B xdefn;
 A xmod;
 I xmode;
} JST;
typedef JST* J;
typedef void* ( *JInitType) ();
typedef int ( *JDoType) (void*, C*);
typedef C* ( *JGetLocaleType)(void*);
typedef void ( *JSMType) (void*, void*);
typedef void ( *JFreeType) (void*);
typedef A ( *JgaType) (J jt, I t, I n, I r, I*s);
typedef void ( * outputtype)(J,int,C*);
typedef int ( * dowdtype) (J,int, A, A*);
typedef C* ( * inputtype) (J,C*);
typedef struct {VF f;I cv;} VA2;
typedef struct {VA2 p2[13];VA2 pins[7];VA2 ppfx[7];VA2 psfx[7];} VA;
typedef struct {VA2 p2[13];VA2 pins[7];VA2 ppfx[7];VA2 psfx[7];} VA;
typedef struct {VA2 p1[6];} UA;
typedef struct {VA2 p1[6];} UA;
typedef struct {I*a;S j;C mflag,unused;} MS;
typedef struct {I*a;S j;C mflag,unused;} MS;
typedef unsigned short int fexcept_t;
typedef struct
  {
    unsigned short int __control_word;
    unsigned short int __unused1;
    unsigned short int __status_word;
    unsigned short int __unused2;
    unsigned short int __tags;
    unsigned short int __unused3;
    unsigned int __eip;
    unsigned short int __cs_selector;
    unsigned int __opcode:11;
    unsigned int __unused4:5;
    unsigned int __data_offset;
    unsigned short int __data_selector;
    unsigned short int __unused5;
    unsigned int __mxcsr;
  }
typedef struct {C new,effect;} ST;