Skip to content

Instantly share code, notes, and snippets.

erichschroeter / HelloLibrary.cs
Last active Aug 21, 2021
A helloworld example of marshalling an array to C# created in C.
View HelloLibrary.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace HelloApp
class HelloLibrary
View Makefile
.PHONY: clean uninstall
prefix ?= /usr
exec_prefix ?= $(prefix)
bindir ?= $(exec_prefix)/bin
ETHERWAKE_src = ether-wake.c
ETHERWAKE_bin = ether-wake
ETHERWAKE_tgt = $(DESTDIR)$(bindir)/etherwake
erichschroeter /
Created Nov 28, 2012
Shell script implementation of a Queue.
# This script encapsulates the functionality of a queue. It requires there to be
# an input file with the data in the queue being separated on different lines.
erichschroeter / timer_unix.c
Last active Nov 9, 2018
Cross-platform timer example in C.
View timer_unix.c
#include <stdio.h>
#include <time.h>
#define PRINT_INTERVAL 1000 /* in milliseconds */
#define MILLI 0
#define MICRO 1
#define NANO 2
long diff_nano(struct timespec *start, struct timespec *end)
erichschroeter / termios_dbg.c
Created Jun 7, 2013
Debug statements for termios struct.
View termios_dbg.c
#include <stdio.h>
#include <sys/ioctl.h>
#include "termios_dbg.h"
#define CHECK_BIT(var, pos) ((var) & (1<<(pos)))
void ptermios_iflag(struct termios *tty)
printf("c_iflag=0x%x\n", tty->c_iflag);
erichschroeter / file_completion.patch
Created Oct 9, 2012
dmenu filename tab completion
View file_completion.patch
--- dmenu.c 2012-10-09 15:30:08.605004976 -0500
+++ dmenu.c 2012-10-09 15:46:59.318016781 -0500
@@ -5,6 +5,7 @@
#include <string.h>
#include <strings.h>
#include <unistd.h>
+#include <wordexp.h>
#include <X11/Xlib.h>
#include <X11/Xatom.h>
#include <X11/Xutil.h>
erichschroeter /
Created Nov 15, 2013
Print the battery percentage using colors for High, Medium, Low battery levels. Uses acpitool to parse for battery percentage level.
#!/usr/bin/env python
# coding=UTF-8
import sys, subprocess
p = subprocess.Popen(["acpitool", "-ab"], stdout=subprocess.PIPE)
output = p.communicate()[0]
# find the line with the battery percentage
o_cur = [l for l in output.splitlines() if '%' in l][0]
erichschroeter / 74x165.h
Last active Oct 10, 2015
Linux driver for 74x165 PISO chip.
View 74x165.h
#ifndef LINUX_SPI_74X165_H
#define LINUX_SPI_74X165_H
struct nxp_74x165_chip_platform_data {
/* number assigned to the first GPIO */
unsigned base;
/* GPIO used for latching chip(s) */
unsigned latch;
/* number of chips daisy chained */
unsigned daisy_chained;
View timestamp.c
#include <stdio.h>
#include <time.h>
void ptimestamp_micro(struct timespec *now, char *text)
long us = (now->tv_sec * 1000000) + (now->tv_nsec / 1000);
printf("%ld%s", us, text);
erichschroeter / generate.c
Last active Aug 29, 2015
Generate program for version header.
View generate.c
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <getopt.h>
#include <time.h>
#define VERSION_H \
"#ifndef %s_VERSION_H\n" \
"#define %s_VERSION_H\n" \