<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://borwinius.de/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://borwinius.de/wiki/feed.php">
        <title>Borwinius Wissensdatenbank linux:programmierung</title>
        <description></description>
        <link>https://borwinius.de/wiki/</link>
        <image rdf:resource="https://borwinius.de/wiki/lib/tpl/drupal_garland_blue/images/favicon.ico" />
       <dc:date>2026-06-15T10:22:14+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://borwinius.de/wiki/doku.php?id=linux:programmierung:allerrors&amp;rev=1702229115&amp;do=diff"/>
                <rdf:li rdf:resource="https://borwinius.de/wiki/doku.php?id=linux:programmierung:alterkram&amp;rev=1702229115&amp;do=diff"/>
                <rdf:li rdf:resource="https://borwinius.de/wiki/doku.php?id=linux:programmierung:checkemailaddress&amp;rev=1702229115&amp;do=diff"/>
                <rdf:li rdf:resource="https://borwinius.de/wiki/doku.php?id=linux:programmierung:getarray&amp;rev=1702229115&amp;do=diff"/>
                <rdf:li rdf:resource="https://borwinius.de/wiki/doku.php?id=linux:programmierung:getcpucores&amp;rev=1702229115&amp;do=diff"/>
                <rdf:li rdf:resource="https://borwinius.de/wiki/doku.php?id=linux:programmierung:getgecos&amp;rev=1702229115&amp;do=diff"/>
                <rdf:li rdf:resource="https://borwinius.de/wiki/doku.php?id=linux:programmierung:httpget&amp;rev=1702229115&amp;do=diff"/>
                <rdf:li rdf:resource="https://borwinius.de/wiki/doku.php?id=linux:programmierung:myspawn&amp;rev=1702229115&amp;do=diff"/>
                <rdf:li rdf:resource="https://borwinius.de/wiki/doku.php?id=linux:programmierung:optionparser&amp;rev=1702229115&amp;do=diff"/>
                <rdf:li rdf:resource="https://borwinius.de/wiki/doku.php?id=linux:programmierung:parseconfig&amp;rev=1702229115&amp;do=diff"/>
                <rdf:li rdf:resource="https://borwinius.de/wiki/doku.php?id=linux:programmierung:sndmail&amp;rev=1702229115&amp;do=diff"/>
                <rdf:li rdf:resource="https://borwinius.de/wiki/doku.php?id=linux:programmierung:start&amp;rev=1702229115&amp;do=diff"/>
                <rdf:li rdf:resource="https://borwinius.de/wiki/doku.php?id=linux:programmierung:zerlegehttp&amp;rev=1702229115&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://borwinius.de/wiki/lib/tpl/drupal_garland_blue/images/favicon.ico">
        <title>Borwinius Wissensdatenbank</title>
        <link>https://borwinius.de/wiki/</link>
        <url>https://borwinius.de/wiki/lib/tpl/drupal_garland_blue/images/favicon.ico</url>
    </image>
    <item rdf:about="https://borwinius.de/wiki/doku.php?id=linux:programmierung:allerrors&amp;rev=1702229115&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-10T18:25:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux:programmierung:allerrors</title>
        <link>https://borwinius.de/wiki/doku.php?id=linux:programmierung:allerrors&amp;rev=1702229115&amp;do=diff</link>
        <description>alle Linuxfehlermeldungen


//zeige alle Fehler an / richard@borwinius.de 
#include &lt;stdio.h&gt;

int main(void)
{
int i;

for (i=0;i&lt;150;i++)
    {
    printf(&quot;Fehlernummer: %04d Fehler: %s\n&quot;,i,strerror(i));
    }
return 0;
}</description>
    </item>
    <item rdf:about="https://borwinius.de/wiki/doku.php?id=linux:programmierung:alterkram&amp;rev=1702229115&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-10T18:25:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux:programmierung:alterkram</title>
        <link>https://borwinius.de/wiki/doku.php?id=linux:programmierung:alterkram&amp;rev=1702229115&amp;do=diff</link>
        <description>alter Kram

Optionparser ...

zerlegeHTTP ...

alleLinuxfehler ...

HTTPget ...

sndMail ...

GetCPUCores ...

mySpawn ...

getArray ...

parseConfig ...

checkemailaddress ...

getgecos ...</description>
    </item>
    <item rdf:about="https://borwinius.de/wiki/doku.php?id=linux:programmierung:checkemailaddress&amp;rev=1702229115&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-10T18:25:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux:programmierung:checkemailaddress</title>
        <link>https://borwinius.de/wiki/doku.php?id=linux:programmierung:checkemailaddress&amp;rev=1702229115&amp;do=diff</link>
        <description>Checke Emailadresse

	*  E_Mailadresse darf nicht kürzer als 7 Zeichen sein
	*  muss ein @ enthalten
	*  muss mindestens ein Zeichen vor dem @ haben
	*  muss mindestens ein Zeichen zwischen dem @ und dem Punkt haben
	*  muss einen Punkt enthalten, der nicht am Ende steht</description>
    </item>
    <item rdf:about="https://borwinius.de/wiki/doku.php?id=linux:programmierung:getarray&amp;rev=1702229115&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-10T18:25:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux:programmierung:getarray</title>
        <link>https://borwinius.de/wiki/doku.php?id=linux:programmierung:getarray&amp;rev=1702229115&amp;do=diff</link>
        <description>GetArray

Beispiel für ein Char-Array und ermittlung der Elemente



//einfaches Beispiel zur Behandlung eine char-Array 
#include &lt;stdio.h&gt;

int main(void) {

    unsigned short i=0;
    char *p[]={&quot;eins&quot;,&quot;zwei&quot;,&quot;drei&quot;,&quot;vier&quot;};
        
    printf(&quot;Anzahl der Elemente: %d\n&quot;, sizeof(p)/sizeof(int));
        
    for (i=0;i&lt;(sizeof(p)/sizeof(int));i++)
         {
            printf(&quot;p%d: %s\n&quot;,i,p[i]);
	 }

    return 0;
}</description>
    </item>
    <item rdf:about="https://borwinius.de/wiki/doku.php?id=linux:programmierung:getcpucores&amp;rev=1702229115&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-10T18:25:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux:programmierung:getcpucores</title>
        <link>https://borwinius.de/wiki/doku.php?id=linux:programmierung:getcpucores&amp;rev=1702229115&amp;do=diff</link>
        <description>GetCPUCores

Gib mir die Anzahl der CPU-Kerne:



#include &lt;stdio.h&gt;
#include &lt;unistd.h&gt;
//----------------------------------------------
int GetCores(void)
{
	return  sysconf( _SC_NPROCESSORS_ONLN );
}
//----------------------------------------------
void main(void)
{
	printf (&quot;Cores: %d \n&quot;,GetCores());
return;
}
//----------------------------------------------</description>
    </item>
    <item rdf:about="https://borwinius.de/wiki/doku.php?id=linux:programmierung:getgecos&amp;rev=1702229115&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-10T18:25:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux:programmierung:getgecos</title>
        <link>https://borwinius.de/wiki/doku.php?id=linux:programmierung:getgecos&amp;rev=1702229115&amp;do=diff</link>
        <description>GetGecos

lies die GecosInfos aus der /etc/passwd aus.



#include &lt;pwd.h&gt;
#include &lt;stdint.h&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;unistd.h&gt;
#include &lt;string.h&gt;
#include &lt;errno.h&gt;
//---------------------------------------
void string_split(char * string, char sep, char *** r_array_string, int * r_size) {
    int i, k, len, size;
    char ** array_string;
    
    // Number of substrings
    size = 1, len = strlen(string);
    for(i = 0; i &lt; len; i++) {
	if(string[i] == sep) {
	    s…</description>
    </item>
    <item rdf:about="https://borwinius.de/wiki/doku.php?id=linux:programmierung:httpget&amp;rev=1702229115&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-10T18:25:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux:programmierung:httpget</title>
        <link>https://borwinius.de/wiki/doku.php?id=linux:programmierung:httpget&amp;rev=1702229115&amp;do=diff</link>
        <description>HTTPGET

Aufruf mit httpget meinwebserver /meineseite.html

Geht nicht mit Proxy.



/* http://cplus.kompf.de/artikel/httpget.html
 * httpget.c
 * Kompilierung durch gcc httpget.c -o httpget
 * Demoprogramm zur Programmierung von Netzwerkclients
 * Es wird ein GET request via http an einen Webserver
 * gesendet und das Ergebnis auf der Konsole ausgegeben. */ 
#include &lt;stdio.h&gt; 
#include &lt;errno.h&gt; 
#include &lt;sys/types.h&gt; 
#include &lt;sys/socket.h&gt; 
#include &lt;netinet/in.h&gt; 
#include &lt;netdb.h&gt; 
#inc…</description>
    </item>
    <item rdf:about="https://borwinius.de/wiki/doku.php?id=linux:programmierung:myspawn&amp;rev=1702229115&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-10T18:25:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux:programmierung:myspawn</title>
        <link>https://borwinius.de/wiki/doku.php?id=linux:programmierung:myspawn&amp;rev=1702229115&amp;do=diff</link>
        <description>mySpawn

Beispiel für die Anwendung von posix_spawn()



// test von posix_spawn /rb
#include &lt;stdio.h&gt;
#include &lt;unistd.h&gt;

int mySpawn(char *,char *,char *); 
//----------------------------------------------------
int main(int argc, char *argv[])
{
    int ret = 0;
    char *prog = &quot;/usr/bin/avscan&quot;;
    char *arg = &quot;--batch&quot;;
    char *buf = &quot;/install/avira/eicar.com&quot;;
    //char *buf = &quot;/etc/fstab&quot;;
    ret =  mySpawn(prog,arg,buf);
    printf(&quot;exitstatus von avscan: %d\n&quot;,ret);
return 0;
}
…</description>
    </item>
    <item rdf:about="https://borwinius.de/wiki/doku.php?id=linux:programmierung:optionparser&amp;rev=1702229115&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-10T18:25:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux:programmierung:optionparser</title>
        <link>https://borwinius.de/wiki/doku.php?id=linux:programmierung:optionparser&amp;rev=1702229115&amp;do=diff</link>
        <description>Optionparser

Skelett eines Programms dass mit Optionen gestartet wird:



// skeleton eines Optionparser / richard@borwinius.de 
//gcc optionparser.c -o optionparser 
#include &lt;stdio.h&gt; 
#include &lt;getopt.h&gt; 
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;


void usage(char *prog)
{
 printf(&quot;usage of %s with arguments :\n&quot;,prog);
 printf(&quot;%s -a xxx -b yyyy -c -h\nor\n&quot;,prog);
 printf(&quot;%s --arg_a xxx --arg_b yyy --arg_c --help\n&quot;,prog);
 return ;
}


int main (int argc, char** argv)
{
int i;
static char*…</description>
    </item>
    <item rdf:about="https://borwinius.de/wiki/doku.php?id=linux:programmierung:parseconfig&amp;rev=1702229115&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-10T18:25:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux:programmierung:parseconfig</title>
        <link>https://borwinius.de/wiki/doku.php?id=linux:programmierung:parseconfig&amp;rev=1702229115&amp;do=diff</link>
        <description>ParseConfig


#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
//einfaches Parserprogramm

char *get_config(char *name, FILE *file) {

    char buffer[200];
    char a_name[100];
    static char value[100];
    size_t i,len;

    rewind(file);
    while (!feof(file)) {
        fscanf(file,&quot; %200[^\n]&quot;,buffer);
        if (';' == buffer[0] )
            continue;
        sscanf(buffer,&quot; %99[^ =] = %99[^\n]&quot;,a_name,value);
        len = strlen(a_name);
        for (i=0;i&lt;len;i++)
            if ('_' == a_na…</description>
    </item>
    <item rdf:about="https://borwinius.de/wiki/doku.php?id=linux:programmierung:sndmail&amp;rev=1702229115&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-10T18:25:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux:programmierung:sndmail</title>
        <link>https://borwinius.de/wiki/doku.php?id=linux:programmierung:sndmail&amp;rev=1702229115&amp;do=diff</link>
        <description>SndMail

kleine Funktion um Mails ohne Authentifizierung innerhalb einer Organisation zu versenden.



//kleines mailprogramm ohne SMTP-Authentifizierung / richard@borwinius.de
// gcc sndmail.c -o sndmail -Wall
#include &lt;stdio.h&gt;
#include &lt;errno.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;netinet/in.h&gt;
#include &lt;netdb.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;
#include &lt;unistd.h&gt;

int MySnd(char *SMTPsrv,char *From,char *To,char *ReplyTo,
	    char *Subject, char *Mail)
{
    str…</description>
    </item>
    <item rdf:about="https://borwinius.de/wiki/doku.php?id=linux:programmierung:start&amp;rev=1702229115&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-10T18:25:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux:programmierung:start</title>
        <link>https://borwinius.de/wiki/doku.php?id=linux:programmierung:start&amp;rev=1702229115&amp;do=diff</link>
        <description>Programmierung

zeige mir an welche externen Funktionen ein Programmverwendet:
nm --undefined-only meinProgramm
zeige mir welche shared Libs mein Programm benötigt:
ldd meinProgramm
Zeige mir alle strings in einem Programm:
strings meinProgramm
Zeige mir den Hexdump:</description>
    </item>
    <item rdf:about="https://borwinius.de/wiki/doku.php?id=linux:programmierung:zerlegehttp&amp;rev=1702229115&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-10T18:25:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux:programmierung:zerlegehttp</title>
        <link>https://borwinius.de/wiki/doku.php?id=linux:programmierung:zerlegehttp&amp;rev=1702229115&amp;do=diff</link>
        <description>zerlege einen HTTP-String


//Stringzerlegung mit strtok / richard@borwinius.de

#include &lt;string.h&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

//----------------------------------
int Stringzerleger(char* input,char *pat,char *pout) {
  int i,imax;
    
    imax = strlen(input);
    char *p[imax];
    
    printf(&quot;Orginal : %s\nZeichenlaenge: %d\n&quot;,input,imax);
    p[0] = strtok(input, pat);
    if (p[0]) {  
      printf(&quot;Token 0\t  : %s\n&quot;, p[0]);
      //pout = p[0];
      }
	  else	   {
	   pr…</description>
    </item>
</rdf:RDF>
