+ char buffer[256];
+ ssize_t bytes_written;
+ int fd;
+
+ fd = open("/sys/class/gpio/export", O_WRONLY);
+ if (-1 == fd) {
+ fprintf(stderr, "Failed to open export for writing!\n");
+ return;
+ }
+
+ bytes_written = snprintf(buffer, 256, "%d", mPin);
+ write(fd, buffer, bytes_written);
+ close(fd);
+
+ snprintf(buffer, 256, "/sys/class/gpio/gpio%d/direction", mPin);
+ fd = open(buffer, O_WRONLY);
+ if (-1 == fd) {
+ fprintf(stderr, "Failed to set gpio direction.\n");
+ }
+
+ write(fd, "out", 3);
+ close(fd);