1 /*
   2  * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 package jdk.internal.nicl.types;
  25 
  26 public class Types {
  27     public final static Type BYTE = new Scalar('o');
  28     public final static Type SHORT = new Scalar('s');
  29     public final static Type INT = new Scalar('i');
  30     public final static Type LONG = new Scalar('l');
  31     public final static Type LONG_LONG = new Scalar('q');
  32     public final static Type FLOAT = new Scalar('f');
  33     public final static Type DOUBLE = new Scalar('d');
  34     public final static Type LONG_DOUBLE = new Scalar('e');
  35     public final static Type VOID = new Scalar('V');
  36     public final static Type CHAR = new Scalar('c');
  37     public final static Type BOOLEAN = new Scalar('B');
  38     public final static Type POINTER = new Pointer(null);
  39     public final static Type INT8 = new Scalar('i', Type.Endianness.NATIVE, 8);
  40     public final static Type INT16 = new Scalar('i', Type.Endianness.NATIVE, 16);
  41     public final static Type INT32 = new Scalar('i', Type.Endianness.NATIVE, 32);
  42     public final static Type INT64 = new Scalar('i', Type.Endianness.NATIVE, 64);
  43     public final static Type M64 = new Scalar('v', Type.Endianness.NATIVE, 64);
  44     public final static Type M128 = new Scalar('v', Type.Endianness.NATIVE, 128);
  45     public final static Type M256 = new Scalar('v', Type.Endianness.NATIVE, 256);
  46     public final static Type M512 = new Scalar('v', Type.Endianness.NATIVE, 512);
  47 
  48     public static class UNSIGNED {
  49         public final static Type BYTE = new Scalar('O');
  50         public final static Type SHORT = new Scalar('S');
  51         public final static Type INT = new Scalar('I');
  52         public final static Type LONG = new Scalar('L');
  53         public final static Type LONG_LONG = new Scalar('Q');
  54         public final static Type FLOAT = new Scalar('F');
  55         public final static Type DOUBLE = new Scalar('D');
  56         public final static Type LONG_DOUBLE = new Scalar('E');
  57         public final static Type INT8 = new Scalar('I', Type.Endianness.NATIVE, 8);
  58         public final static Type INT16 = new Scalar('I', Type.Endianness.NATIVE, 16);
  59         public final static Type INT32 = new Scalar('I', Type.Endianness.NATIVE, 32);
  60         public final static Type INT64 = new Scalar('I', Type.Endianness.NATIVE, 64);
  61     }
  62 
  63     public static class BE {
  64         public final static Type SHORT = new Scalar('s', Type.Endianness.BIG);
  65         public final static Type INT = new Scalar('i', Type.Endianness.BIG);
  66         public final static Type LONG = new Scalar('l', Type.Endianness.BIG);
  67         public final static Type LONG_LONG = new Scalar('q', Type.Endianness.BIG);
  68         public final static Type FLOAT = new Scalar('f', Type.Endianness.BIG);
  69         public final static Type DOUBLE = new Scalar('d', Type.Endianness.BIG);
  70         public final static Type LONG_DOUBLE = new Scalar('e', Type.Endianness.BIG);
  71         public final static Type INT16 = new Scalar('i', Type.Endianness.BIG, 16);
  72         public final static Type INT32 = new Scalar('i', Type.Endianness.BIG, 32);
  73         public final static Type INT64 = new Scalar('i', Type.Endianness.BIG, 64);
  74 
  75         public static class UNSIGNED {
  76             public final static Type SHORT = new Scalar('S', Type.Endianness.BIG);
  77             public final static Type INT = new Scalar('I', Type.Endianness.BIG);
  78             public final static Type LONG = new Scalar('L', Type.Endianness.BIG);
  79             public final static Type LONG_LONG = new Scalar('Q', Type.Endianness.BIG);
  80             public final static Type FLOAT = new Scalar('F', Type.Endianness.BIG);
  81             public final static Type DOUBLE = new Scalar('D', Type.Endianness.BIG);
  82             public final static Type LONG_DOUBLE = new Scalar('E', Type.Endianness.BIG);
  83             public final static Type INT16 = new Scalar('I', Type.Endianness.BIG, 16);
  84             public final static Type INT32 = new Scalar('I', Type.Endianness.BIG, 32);
  85             public final static Type INT64 = new Scalar('I', Type.Endianness.BIG, 64);
  86         }
  87     }
  88 
  89     public static class LE {
  90         public final static Type SHORT = new Scalar('s', Type.Endianness.LITTLE);
  91         public final static Type INT = new Scalar('i', Type.Endianness.LITTLE);
  92         public final static Type LONG = new Scalar('l', Type.Endianness.LITTLE);
  93         public final static Type LONG_LONG = new Scalar('q', Type.Endianness.LITTLE);
  94         public final static Type FLOAT = new Scalar('f', Type.Endianness.LITTLE);
  95         public final static Type DOUBLE = new Scalar('d', Type.Endianness.LITTLE);
  96         public final static Type LONG_DOUBLE = new Scalar('e', Type.Endianness.LITTLE);
  97         public final static Type INT16 = new Scalar('i', Type.Endianness.LITTLE, 16);
  98         public final static Type INT32 = new Scalar('i', Type.Endianness.LITTLE, 32);
  99         public final static Type INT64 = new Scalar('i', Type.Endianness.LITTLE, 64);
 100 
 101         public static class UNSIGNED {
 102             public final static Type SHORT = new Scalar('S', Type.Endianness.LITTLE);
 103             public final static Type INT = new Scalar('I', Type.Endianness.LITTLE);
 104             public final static Type LONG = new Scalar('L', Type.Endianness.LITTLE);
 105             public final static Type LONG_LONG = new Scalar('Q', Type.Endianness.LITTLE);
 106             public final static Type FLOAT = new Scalar('F', Type.Endianness.LITTLE);
 107             public final static Type DOUBLE = new Scalar('D', Type.Endianness.LITTLE);
 108             public final static Type LONG_DOUBLE = new Scalar('E', Type.Endianness.LITTLE);
 109             public final static Type INT16 = new Scalar('I', Type.Endianness.LITTLE, 16);
 110             public final static Type INT32 = new Scalar('I', Type.Endianness.LITTLE, 32);
 111             public final static Type INT64 = new Scalar('I', Type.Endianness.LITTLE, 64);
 112         }
 113     }
 114 }
--- EOF ---