diff --git a/libc/kernel/common/linux/atm.h b/libc/kernel/common/linux/atm.h
new file mode 100644
index 0000000..c9bcd70
--- /dev/null
+++ b/libc/kernel/common/linux/atm.h
@@ -0,0 +1,161 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef _LINUX_ATM_H
+#define _LINUX_ATM_H
+
+#include <linux/compiler.h>
+#include <linux/atmapi.h>
+#include <linux/atmsap.h>
+#include <linux/atmioc.h>
+
+#define ATM_CELL_SIZE 53  
+#define ATM_CELL_PAYLOAD 48  
+#define ATM_AAL0_SDU 52  
+#define ATM_MAX_AAL34_PDU 65535  
+#define ATM_AAL5_TRAILER 8  
+#define ATM_MAX_AAL5_PDU 65535  
+#define ATM_MAX_CDV 9999  
+#define ATM_NOT_RSV_VCI 32  
+
+#define ATM_MAX_VPI 255  
+#define ATM_MAX_VPI_NNI 4096  
+#define ATM_MAX_VCI 65535  
+
+#define ATM_NO_AAL 0  
+#define ATM_AAL0 13  
+#define ATM_AAL1 1  
+#define ATM_AAL2 2  
+#define ATM_AAL34 3  
+#define ATM_AAL5 5  
+
+#define __SO_ENCODE(l,n,t) ((((l) & 0x1FF) << 22) | ((n) << 16) |   sizeof(t))
+#define __SO_LEVEL_MATCH(c,m) (((c) >> 22) == ((m) & 0x1FF))
+#define __SO_NUMBER(c) (((c) >> 16) & 0x3f)
+#define __SO_SIZE(c) ((c) & 0x3fff)
+
+#define SO_SETCLP __SO_ENCODE(SOL_ATM,0,int)
+
+#define SO_CIRANGE __SO_ENCODE(SOL_ATM,1,struct atm_cirange)
+
+#define SO_ATMQOS __SO_ENCODE(SOL_ATM,2,struct atm_qos)
+
+#define SO_ATMSAP __SO_ENCODE(SOL_ATM,3,struct atm_sap)
+
+#define SO_ATMPVC __SO_ENCODE(SOL_ATM,4,struct sockaddr_atmpvc)
+
+#define SO_MULTIPOINT __SO_ENCODE(SOL_ATM, 5, int)
+
+#define ATM_HDR_GFC_MASK 0xf0000000
+#define ATM_HDR_GFC_SHIFT 28
+#define ATM_HDR_VPI_MASK 0x0ff00000
+#define ATM_HDR_VPI_SHIFT 20
+#define ATM_HDR_VCI_MASK 0x000ffff0
+#define ATM_HDR_VCI_SHIFT 4
+#define ATM_HDR_PTI_MASK 0x0000000e
+#define ATM_HDR_PTI_SHIFT 1
+#define ATM_HDR_CLP 0x00000001
+
+#define ATM_PTI_US0 0  
+#define ATM_PTI_US1 1  
+#define ATM_PTI_UCES0 2  
+#define ATM_PTI_UCES1 3  
+#define ATM_PTI_SEGF5 4  
+#define ATM_PTI_E2EF5 5  
+#define ATM_PTI_RSV_RM 6  
+#define ATM_PTI_RSV 7  
+
+#define ATM_NONE 0  
+#define ATM_UBR 1
+#define ATM_CBR 2
+#define ATM_VBR 3
+#define ATM_ABR 4
+#define ATM_ANYCLASS 5  
+
+#define ATM_MAX_PCR -1  
+
+struct atm_trafprm {
+ unsigned char traffic_class;
+ int max_pcr;
+ int pcr;
+ int min_pcr;
+ int max_cdv;
+ int max_sdu;
+
+ unsigned int icr;
+ unsigned int tbe;
+ unsigned int frtt : 24;
+ unsigned int rif : 4;
+ unsigned int rdf : 4;
+ unsigned int nrm_pres :1;
+ unsigned int trm_pres :1;
+ unsigned int adtf_pres :1;
+ unsigned int cdf_pres :1;
+ unsigned int nrm :3;
+ unsigned int trm :3;
+ unsigned int adtf :10;
+ unsigned int cdf :3;
+ unsigned int spare :9;
+};
+
+struct atm_qos {
+ struct atm_trafprm txtp;
+ struct atm_trafprm rxtp __ATM_API_ALIGN;
+
+ unsigned char aal __ATM_API_ALIGN;
+};
+
+#define ATM_ITF_ANY -1  
+#define ATM_VPI_ANY -1
+#define ATM_VCI_ANY -1
+#define ATM_VPI_UNSPEC -2
+#define ATM_VCI_UNSPEC -2
+
+struct sockaddr_atmpvc {
+ unsigned short sap_family;
+ struct {
+ short itf;
+ short vpi;
+ int vci;
+ } sap_addr __ATM_API_ALIGN;
+};
+
+#define ATM_ESA_LEN 20  
+#define ATM_E164_LEN 12  
+
+#define ATM_AFI_DCC 0x39  
+#define ATM_AFI_ICD 0x47  
+#define ATM_AFI_E164 0x45  
+#define ATM_AFI_LOCAL 0x49   
+
+#define ATM_AFI_DCC_GROUP 0xBD  
+#define ATM_AFI_ICD_GROUP 0xC5  
+#define ATM_AFI_E164_GROUP 0xC3  
+#define ATM_AFI_LOCAL_GROUP 0xC7  
+
+#define ATM_LIJ_NONE 0  
+#define ATM_LIJ 1  
+#define ATM_LIJ_RPJ 2  
+#define ATM_LIJ_NJ 3  
+
+struct sockaddr_atmsvc {
+ unsigned short sas_family;
+ struct {
+ unsigned char prv[ATM_ESA_LEN];
+ char pub[ATM_E164_LEN+1];
+
+ char lij_type;
+ uint32_t lij_id;
+ } sas_addr __ATM_API_ALIGN;
+};
+
+typedef unsigned short atm_backend_t;
+#endif
