diff --git a/tests/pointer/1.0/IGraph.hal b/tests/pointer/1.0/IGraph.hal
new file mode 100644
index 0000000..0853745
--- /dev/null
+++ b/tests/pointer/1.0/IGraph.hal
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.tests.pointer@1.0;
+
+interface IGraph {
+
+  struct Node {
+    int32_t data;
+  };
+  struct Edge {
+    ref<Node> left;
+    ref<Node> right;
+  };
+  struct Graph {
+    vec<Node> nodes;
+    vec<Edge> edges;
+  };
+
+  struct Theta {
+    int32_t data;
+  };
+  struct Alpha {
+    ref<Theta> s_ptr;
+  };
+  struct Beta {
+    ref<Theta> s_ptr;
+  };
+  struct Gamma {
+    ref<Alpha> a_ptr;
+    ref<Beta> b_ptr;
+  };
+
+  passANode(Node n);
+  passAGraph(Graph g);
+  passTwoGraphs(ref<Graph> g1, ref<Graph> g2);
+  giveAGraph() generates (Graph g);
+  passAGamma(Gamma c);
+  passASimpleRef(ref<Alpha> a);
+  passASimpleRefS(ref<Theta> s);
+  giveASimpleRef() generates (ref<Alpha> a);
+
+  getErrors() generates (int32_t errors);
+};
