how do i drive the h bridge to control a motor?
In order to make a mosfet "turn on", it's neccesary to raise the voltage between the gate and source above a certain limit;  Whether that's a positive value or negative depends on if you have a P-Channel or N-Channel mosfet.

This part has two of each;  For the N-Channel mosfets, the gate has to be driven to about 3V above the source, which would be the N1S/N2S pins on the package;  If that pin is common to the ground on your microcontroller, you'll set the N1G or N2G pins High to turn the corresponding leg "on".

For P-Channel Mosfets, you have to bring the gate to a voltage that is lower than the source; which on this package is the P1S/P2S pin.  If the source is common with the +5 voltage on your microcontroller; when the P1G or P2G pins are HIGH, then the leg is "off", turning them "on" means driving the pin LOW.  

If you are hoping to run the h-bridge on a voltage that is greater than the rail-to-rail voltage of your microcontroller, you will need some much more clever circuit to deal with one of those voltages. 

When setting an H-Bridge, it's important to make sure you're setting all of the legs in the right state and in the right order;  For instance, if you turned on P1G and N1G legs at the same time, there would only be about 100m&Omega; of resistence between the positive and negative rails; This high current "shoot through" state will almost instantly burn up the H-Bridge.  

To make matters worse, N-Channel Mosfets respond Much faster than P-Channel mosfets (electrons move faster than holes), so even if you set the gates properly, you might accidentally have a brief shoot through while the P-Channel switch is still turning off, but the N-Channel switch has already turned on.  For this particular part, both mosfets turn on in about 2ns, but the P-Channel has an "off" delay of around 50ns, which is about three times longer than the N-Channel of 17ns.  So to be on the safe side; your mosfet needs to wait around 55ns after turning one side off before turning the other side on.

The actual states you'll be interested in:

"Off" *
N1G = N2G = LOW
P1G = P2G = HIGH

"forward"
N1G = P1G = LOW
N2G = P2G = HIGH

"reverse"
N1G = P1G = HIGH
N2G = P2G = LOW

"stop" **
N1G = N2G = HIGH
P1G = P2G = HIGH


*: For the reasons stated above, you should always go "through" the "off" state, for at least 55ns when transitioning from any state to any other state;  In order to make sure that these are the "default" state when the microcontroller is powering up, it's common to add pullup and pulldown resistors in the 100K&Omega; to 1M&Omega; range from gates to drains;  It doesn't look like this feature is integrated into this part, so you'll need to add it yourself

**: The "stop" state works by passing the back emf generated by the moving motor through the N-Channel legs;  The current flows freely so its energy can be absorbed by the part;  this could also be achieved using all LOW values; which would shunt the back emf through the P-Channel, but in many casese, N-Channel mosfets are a bit more durable than P-Channel equivalents (which is reflected in this datasheet by a slightly lower on-state resistance).