(I've already looked at Swig, btw.  I'd like to do this one by hand.)

I have the following:

typedef struct {
  double x;
  double y;
  double z;
} VelocityRecord;

typedef struct {
  double x;
  double y;
  double z;
} PositionRecord;

typedef struct {
  int id;
  int type;
  PositionRecord position;
  VelocityRecord velocity;
} Player;

Player Players[10];


The number of Players is fixed ahead of time.  I want to be able to
access that data from Ruby.  Ideally, something like:

module Simulation
    attr_accessor :players  # Other stuff will be here
    class Player
        class VelocityRecord
            attr_accessor :x, :y :z
        end
        class PositionRecord
          attr_accessor :x, :y, :z
        end
    end
end