From: | "Simon 'corecode' Schubert" <corecode@xxxxxxxxxxxx> |
Date: | Mon, 17 Jan 2005 09:24:53 +0100 |
@@ -27,137 +28,165 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
+ *
* $FreeBSD: src/usr.bin/sasc/sasc.c,v 1.7.2.1 2000/06/30 09:47:52 ps Exp $
* $DragonFly: src/usr.bin/sasc/sasc.c,v 1.4 2005/01/05 00:34:36 cpressey Exp $
+ *
*/
+#include <sys/file.h> +#include <sys/ioctl.h> +#include <sys/types.h> + #include <err.h> -#include <stdlib.h> +#include <errno.h> #include <stdio.h> +#include <stdlib.h> #include <unistd.h> -#include <sys/file.h> -#include <sys/ioctl.h> + #include <machine/asc_ioctl.h>
-int -main(int argc, char **argv) +/* Check given numerical arguments */ +static int +getnum(const char *str) +{ + long val; + char *ep; + + val = strtol(str, &ep, 10); + if (errno) + err(1, "strtol failed: %s", str);
+ if (str == ep || *ep != '\0') + errx(1, "invalid value: %s", str); + + return((int)val); +} + +static void +asc_set(int fd, u_long asc_setting, int asc_value) { - char c; - int fd; + if (ioctl(fd, asc_setting, &asc_value) < 0) + err(1, "ioctl failed setting %d", asc_value); + + printf("Successfully set\n");
#define asc_set(fd, key, val) _asc_set(fd, key, val, #key) static void _asc_set(int fd, u_long asc_key, int asc_value, const char *asc_keyname) { ...
+static int +asc_get(int fd, u_long asc_setting) +{ + int asc_value; + + if (ioctl(fd, asc_setting, &asc_value) < 0) + err(1, "ioctl failed", asc_value);
cheers simon
-- /"\ \ / \ ASCII Ribbon Campaign / \ Against HTML Mail and News
Attachment:
PGP.sig
Description: This is a digitally signed message part