Why using /sys/class/gpio can't change level on expansion header

I am trying to use an external interrupt to trigger a level a "level
up follow by level down"
The interrupt is working and using the user button GPIO

my question is if i have to tell Linux v2.6.33 something special in
order to be allow to use the header as GPIO pins ??
Beagleboard rev. C4

here is a simplified psudo code - real code is c:
open fd1 = /sys/class/gpio/export
echo 168 > fd1
open fd2 = /sys/class/gpio/gpio168/direction
echo out > fd2
open fd3 = /sys/class/gpio/gpio168/value
while(1)
wait for interrupt
echo 1 > fd3
then
echo 0 > fd3

it works on the leds and user button, but no matter what header gpio i
use nothing happens
Could it be a problem with the multiplexing??

Any help og example code would be greatly appriciated

regards

I am trying to use an external interrupt to trigger a level a "level
up follow by level down"
The interrupt is working and using the user button GPIO

my question is if i have to tell Linux v2.6.33 something special in
order to be allow to use the header as GPIO pins ??
Beagleboard rev. C4

here is a simplified psudo code - real code is c:
open fd1 = /sys/class/gpio/export
echo 168 > fd1
open fd2 = /sys/class/gpio/gpio168/direction
echo out > fd2
open fd3 = /sys/class/gpio/gpio168/value
while(1)
wait for interrupt
echo 1 > fd3
then
echo 0 > fd3

it works on the leds and user button, but no matter what header gpio i
use nothing happens
Could it be a problem with the multiplexing??

Maybe:
http://elinux.org/BeagleBoardPinMux

Looks like you can do it in the kernel, or on startup in U-boot