maa: change the linking of maa and make gpio functions match maa_ spec
[contrib/mraa.git] / api / gpio.h
1 /*
2  * Originally from mbed Microcontroller Library
3  * Copyright (c) 2006-2013 ARM Limited
4  * Copyright (c) 2014 Intel Corporation
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 #pragma once
20
21 #include <stdio.h>
22
23 #include "maa.h"
24
25 typedef struct {
26     int pin;
27     int pinMap;
28     char path[64];
29     FILE *value_fp;
30 } gpio_t;
31
32 typedef char gpio_mode_t[16];
33 typedef char gpio_dir_t[16];
34
35 maa_result_t maa_gpio_init(gpio_t *gpio, int pin);
36 int maa_gpio_set(int pin);
37 void maa_gpio_mode(gpio_t *gpio, gpio_mode_t mode);
38 void maa_gpio_dir(gpio_t *gpio, gpio_dir_t dir);
39
40 void maa_gpio_close(gpio_t *gpio);
41 int maa_gpio_read(gpio_t *gpio);
42 void maa_gpio_write(gpio_t *gpio, int value);