Index: trunk/Ohana/src/opihi/include/data.h
===================================================================
--- trunk/Ohana/src/opihi/include/data.h	(revision 40291)
+++ trunk/Ohana/src/opihi/include/data.h	(revision 40319)
@@ -50,4 +50,24 @@
   float **buffers;
 } MedImageType;
+
+/*** typedef structs used by the Neural Network functions (nnet_*) ***/
+typedef struct {
+  char *name;
+  int Nlayer; // Nlayers = input layer + output layer + hidden layers
+  int *Nnodes; // number of nodes per layer
+  float **weight; // a matrix between each layer
+  float **biases; // a vector for each layer
+
+  float **zvalue; // a vector of z values for each layer (= w*input + b)
+  float **svalue; // a vector of s values for each layer (= sigmoid(z))
+  float **sprime; // 
+  float **delta;  // 
+
+  float ** Nabla_b; // a vector of Nabla_b values for each layer
+  float **dNabla_b; // a vector of Nabla_b values for each layer
+
+  float ** Nabla_w; // a matrix of Nabla_w values for each layer
+  float **dNabla_w; // a matrix of Nabla_w values for each layer
+} Nnet;
 
 void InitData (void);
@@ -229,3 +249,39 @@
 int GetKapaChannelFromString (char *string);
 
+/*** Neural Network functions (nnet_*) ***/
+
+// in lib.data/nnet.c:
+void InitNnets ();
+void InitNnetData (Nnet *nnet, char *name);
+
+void FreeNnets ();
+void FreeNnetData (Nnet *nnet);
+
+Nnet *GetNnet (int where);
+Nnet *FindNnet (char *name);
+Nnet *CreateNnet (char *name, int Nlayer);
+void CreateNnetData (Nnet *nnet);
+
+int DeleteNnet (Nnet *nnet);
+void ListNnets ();
+
+// in cmd.data/nnet.c:
+int nnet_command (int argc, char **argv);
+
+// in cmd.data/nnet_commands.c:
+int nnet_init (int argc, char **argv);
+int nnet_list (int argc, char **argv);
+int nnet_delete (int argc, char **argv);
+int nnet_show (int argc, char **argv);
+int nnet_create (int argc, char **argv);
+int nnet_set (int argc, char **argv);
+int nnet_get (int argc, char **argv);
+
+// in cmd.data/nnet_train.c:
+int nnet_train (int argc, char **argv);
+void nnet_feedforward (Nnet *nnet);
+
+// in cmd.data/nnet_apply.c:
+int nnet_apply (int argc, char **argv);
+
 # endif
