int
main(int, char **)
{
int u = geteuid();
struct passwd *pw = getpwuid(u);
if (pw)
printf("%s\n", pw->pw_name);
else
printf("%d\n", u);
return 0;
}
07070100000069000081a40000000000000000000000014c91a24f00001e0a000000000000000000000000000000000000001700000000src/web-src/index.roff
.\"
.\" plumbing - C++ wrapper facades for Berkeley sockets
.\" Copyright (C) 2009, 2010 Peter Miller
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License, version 3, as
.\" published by the Free Software Foundation.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
.\" General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see .
.\"
.ad l
.hy 0
.so etc/version.so
.nf
Plumbing \*(v)
Plumbing \*(v)
The plumbing project provides a library which may be used to implement
lightweight C++ wrapper facades for Berkeley sockets for single threaded
applications.
-
There is full documentation of all API functions.
This is the interface users of the library may use.
-
There is full documentation of all internal functions.
This includes all of the functions internal to the library,
for plumbing developers to use.
-
The above documentation is generated from the source files,
via Doxygen.
There are several ways to obtain this software,
either as source code or as pre-compiled binaries.
|
The Master Sources
The following files are available for download from this web site:
|
|
SourceForge
The best possible download speed for the source tarball will be
from the SourceForge download pages.
|
|
Ubuntu Packages
If you use Ubuntu Linux, there are pre-built packages available for
installation using the normal sudo apt-get install method, from this package archive (PPA).
Instructions are available there for how to manually add the PPA
to your /etc/apt/sources.list file, but the following
commands are sufficient on recent versions of Ubuntu:
sudo add-apt-repository ppa:pmiller-opensource/ppa
sudo apt-get update
sudo apt-get install plumbing-dev
|
|
The Bleeding Edge
Vii is developed and maintained using
Aegis,
a transaction based software configuration management system.
Vii developers may access the latest development changes through the
Aegis web interface.
|
.\" ------------------------------------------------------------------------
.\" ------------------------------------------------------------------------
This page is hosted by SourceForge.
This page has been accessed approximately
times since
.ds MO1 Jan
.ds MO2 Feb
.ds MO3 Mar
.ds MO4 Apr
.ds MO5 May
.ds MO6 Jun
.ds MO7 Jul
.ds MO8 Aug
.ds MO9 Sep
.ds MO10 Oct
.ds MO11 Nov
.ds MO12 Dec
.nr y4 \n[yr]+1900
\n[dy]-\*[MO\n[mo]]-\n[y4].
The font is called “Down The Drain”
and is available from many sites on the web. You can search
Google for them.
.\" vim: set tw=8 sw=4 et
0707010000006a000081a40000000000000000000000014c91a24f000009aa000000000000000000000000000000000000001800000000src/web-src/module.cook
/*
* plumbing - C++ wrapper facades for Berkeley sockets
* Copyright (C) 2009, 2010 Peter Miller
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License, version 3, as published
* by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see .
*/
html-files +=
[fromto web-src/%0%.roff web-site/%0%.html
[match_mask web-src/%0%.roff [source_files]]
]
web-site/plumbing.png
web-site/plumbing.64.png
web-site/plumbing.128.png
web-site/[project_minus].README
web-site/[project_minus].pdf
web-site/download.png
web-site/documentation.png
;
web-src/%.roff.d: web-src/%.roff
set no-cascade
{
c_incl -nc -ns -eia -r -nrec
[addprefix "-I" [search_list]]
-prefix "'cascade web-src/"%".roff ='"
-suffix "';'"
[resolve web-src/%.roff]
[prepost "-rlp=" "" [search_list]] /* remove leading path */
-o [target];
}
#include-cooked [addsuffix ".d" [match_mask web-src/%.roff [source_files]]]
web-site/%.html: web-src/%.roff: etc/version.so
set shallow
{
roffpp
[addprefix "-I" [search_list]]
[resolve web-src/%.roff]
| groff -Tascii -t -P-bcu -man
> [target];
/* validate [target]; */
}
%0%: %0%.uue
{
uudecode -o [target] [resolve %0%.uue];
}
web-src/%1.%2.png: web-src/%1.png
{
convert [resolve web-src/%1.png] -scale %2 [target];
}
web-site/%.png: web-src/%.png
set shallow
{
cp [resolve web-src/%.png] [target];
}
web-site/[project_minus].README: README
set shallow
{
cp [resolve README] [target];
}
web-site/[project_minus].pdf: etc/reference.pdf
set shallow
{
cp [resolve etc/reference.pdf] [target];
}
web-site/download.png: etc/drain-text.sh
set shallow
{
sh [resolve etc/drain-text.sh] Download [target];
}
web-site/documentation.png: etc/drain-text.sh
set shallow
{
sh [resolve etc/drain-text.sh] Documentation [target];
}
cascade web-src/index.roff = web-site/download.png web-site/documentation.png;
/* vim: set tw=8 sw=4 et */
0707010000006b000081a40000000000000000000000014c91a24f00002552000000000000000000000000000000000000001d00000000src/web-src/plumbing.png.uue
#
# plumbing - C++ wrapper facades for Berkeley sockets
# Copyright (C) 2009, 2010 Peter Miller
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License, version 3, as published by the
# Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program. If not, see .
#
begin 644 plumbing.png
MB5!.1PT*&@H````-24A$4@```D<```)'"`0````P2CI\`````7-21T(`KLX<
MZ0````)B2T=$`/^'C\R_````"7!(67,```L3```+$P$`FIP8````!W1)344'
MV0('`3H)0T6`=```&(I)1$%4>-KMW5URXS@216%AHM94M?_']J8P#UW=Y;8E
M$2`!,`%\QQ'3$RZ9(B'FX4WP1^FQ.3\?:,]'?CK6R]<X'2TIGP!.II017JW]V.3Y"/0
MT=WY8F92HY'A'!SQ/T-P+1OE1Y:)7JHH_ZNBU*0!AG0$K=F%D9&*(!T-._*O
M3;HX,F5_+Q]!.CK=JJF>LKPH&8&.-&DA1J5&1A[*!CHBHT"YB)+H"-6MVCZ4
MN>%:+GHVTJ1$1Y"-FHS'=9?(27OBS!K"R>@?)3G?)AWA3:NF/HYR8GKSZG1J
MY*4DZ0AHV+3FW_][1N=2DG2$RR6XXSBDP]?G4PV=E$1'^-*JH5Y&N5GK1DET
M!-FH<`S2P6_STV75^862Z`@X*:/OK\B7!(2'0$-VZX^!P>71M(1,#QG:MKH"#ALU?*GG_:Y2--&1]MBQ[ZFB,]2
MZO$EF:^6Z7.C(Y#12VGDP>])2'2T69DA!?YT"(F.0-JWO'-^*B1*HB-LF8WN
MKGP9B8Z6QJZ\0CKS*=(1J"!0T^;SH2-LTZI%JG="HB,@D)`R(=$1-&IQU\EY
M-CK"!JW:/)(D)#H""`ETA#U;-4*B(X"00$<82YHB&[T3$B71D78$83X_0J(C
MX!8A:=KH"')C\*;-9TA'DY$,P1+C04AT!!`2Z`A_\LP_/X1$2+'Y80CV::?2
MH]V,SYQ5G)^,SD=^/'YRM70T>WG'S$''K]EA+.HT*B/1$8:*:"6I$!(=87H1
M'0EICUDF0J*CR8@_FW!-'-__=J?);D*B(S1548NE[-O`$1(=35O\JZ[/SA4P,I*/0$<+%5']E4&]+DK,TX\E(='1),2=S#Z3
M=OH\3.1JXD0@(=340NDD)KN1R=A7OW;^_NC,O3
M9"1"&H>;1&Y*.V<+(P4:BVOZ_+XUZ>$V%ND('072^L+#]_,P<614EG>>I23Y
MB([PDA979M^-1DEHV>)Z$P1G=^"5'F;2;P*EY#H:$)5C5#1^#;T
MSUQ5[C(^WT=(Y*`C7#[VII*E11-2/(1'4U&V65_8V5T
M)2'U^:Z14B41$AVA>C=[?>H]#RZ+^NUX+:2^#68:EL<(B8ZVR4+WE$[+]WPF
MI!%;E0Z5E$-^YH1$1^&RT=W%DAMNRW
M(1_1T9;9*%8+D2YO3PPAI5+S0=;F2<8^;-:_]A>1^Y9DXN^E5*]DHX*\,^_'RW[Z'ZU
M./>SN8M-.AJ6CKZ635[FXRLKE5(EG2F\XV4?W<$6__MT3XV+=,3(>%=.9RZ?
MO)[`CAYSESRF33K:)QVMDHV>-Q116HGW2CJZ>RT'_PSJ1UDZ%^^$].Z+
M+6,(R15(=#1=-BI53JF4TJ5MB%8H=4U;M%MK68>.)J(^]1Q+J[9(XB>DDJ;M
MJY(T;'2$RDS4]F_3"1E]_TW$0JD3TM]*TK#1T=*TV8'Z?2?LRDU%K9#B;!/K
MT-%RB6AD<<0\;M<+:8_#&QWAE(P5/I=:R4_?624IR@3
M-Z#2$2ZW:"4:*I=*OO%)W%&%)!_1$4ZW:&V44K.$NG>*6R:K"0ETU%$TQZ]I
MG6M*Q+92.+]6[9:8LRB2PDUJ&C0NVAY#D(SK:,A^E"AGU4=Z[*[*?*6D'(J,GQ.+:06(>.AN>C-&`'3"_STGL9IE/;J6&3C^AH@60T_KB?#EI%
M#9M\1$?;Y*/4M2S2J5>M*R3YB(X(*946=[M[^(^^/^-(2'GY3T(^HB-"&KSK
MI].OJWF6]#SS,NL(23ZBHT9"&KGSMQ#2*C*:;VU!1P/*(&)-I!/_L@[R$1UM
M+:04K@3.)*GYTH9\1$>8HA#2X>_3LEE)/J(C0IJJ*-,224,^HB/\+H7HQ5`^
MA[1:6;,4'ZT:W2T$&?N3UOYS)3[U^@(=G'Y"'1$1K4I8?4BGFWSM&MT
M)%'8&EF6CJ!\`3I:K+Q-8;_:IMFFL[5K=$2=`!VA/WM<@[T.\A$=3UV"O
MWJZ!CK1I`!V!C&PAZ&C+5FU'G%VC(P"@H]4:A2L'R^13`!T!T&K3$:14T!$<
M76/BSGXZ`@`Z`N1;.@("8/:(C@`TPNP1'4UW5#[:9X4$T!$0C,AB%H3H"'(J
MZ`@`Z`B8!I/9=`3<`//0$9;&[!$=`0`=.29_13P`'0$!(6%!1]B8Z`)PU1$=8<%L!#H"
M@I`;OPYTY.@,T!&N8A+`P:`6,T=TI!RV:=5B53OWT!$<#!">'X9@5#GXVJ-[
MLI$1I",RZAC*Q?V:@X%KCNAH8TKVKDPNLA'HZ)Y&[5T19%(:,O[S'*SH"$&.
MV';7A(.33?X6EIKS1BYN@S3O0WST.YV7*N+FO5$^%7LA'H:)-LE#N4
MQ34M[7YE3M*J:=;V3$5CEB_;SYR-?'K2T8!L-*X@:M/2:OFH1D;QLY&9(SKJ
M((A[WC6?+.#UVF1HUF2C&X^W#JOS92.?F72T6"Y*OW]VS!3.J$E'>%$08TO!
MD?7J#[3@=$=*E'3)?:$(BMJ>ME/3Z`2ZUHL=<
M.-%_,EV45]WWT_9GGF$T]H:4CWQVKNSZ'-MZ,C*-+1UU$-)_"^4X(;4ND3PD
M);T62BY*;.8,)/=+:,T_)W3A;6->3`#'2&@&/.)]\R;C`T=038*I*)YFS39
MZ`AS1^%VJGOVV1Q`1GDQ&;&/="0;-LK%]$1
M)CCFSI*,Y5?0=,BK'5=G:L$OOVG9=TP(R8A_IB*Z&++W?908IH*!E(SK"
M0;GFA;=M?AFQ#QUAVFRTDHID(SK:HH4:DXWRT&-[NGE,92,ZPK(M5>LEY>E'
M2#:BHZ5%$*E$(Q]1JU.@(FXKLM91\TYE&C8Y07?@IU-KL)2/9
MB([@6!T",J*C9=)/NI`\U,']\B&5049TA)MDM+>D
M3&&/PW5'T[=T,A$9T1&""XEDR$BSAM"-%Z[("'0$J@DB(]F(CG!"2.J&C.@(
M("/0T2@^0O1*\A$9K8E4F,J(CG"O_/%1%
MNXXV&6G69*-/15+VIC1$1M(1&=U('I2)UE<=&=$1FK1L.3.:_P@(SI:DWLS4B\A
MU2TW-7_W1[?MHJ(Y,'=4G8V>-QFIHYYR=Q7T:\5JEYH&+I&,I*.%,U*_XWO>
M:+ZJ9?:C(NEH.R7=D5M4DUPD'>&FC/0]'_6804IOG\`]3K7Y\A(>5$1'E-2[
M;>LMI!52$15IUA:C?L?-%(RJIOY!F$A$5T1%N
M55)O(:7!H]1O/:EH-DQE5^W.J;+8)N2
M6F6DM@EIG3PD%='1TOGHZ_S1F:+OH:3G0BI?\OB*)2+047/.I9#<7`+/GRKP
M6DGW5>J8U$9%=+1A/KHK(91FI+/B^9G:/QF\?G'IY)J#CN2CVVES^>(_!=U.
MOKEP)-NL-^A(/@HBI*ME_;FHGQ^&_3
MEB^]-PV!CAH6Q1S?1GLTCU0JC5^/OS[-(N7"]T[-1ML>1TBK\O\G(Z4!0J(@T-'E?'1WR]:KBG\]_OJMI+^%5";>&B$1$.BH@Q#R;>]<
MT\2=;@#3X_%XI'R\G1[V`3K:LFFKJ>RC=7O>KOUZ/'XGI,^-V_/EI1<:^V7G
M0("L/T\35O':H^GL'/1CRX=_^2ZW_'6BT<,9G.B7CJ9,234WY%Y=HU]56J(B
MT-&8)%5PNG]DX];^*0%$@SOQ-,@N*6GL`\WRQ;4QQ0PZFC(?Q552#K,V`!UM
MGI(>)Y\^+1N!CA;-1]\?UQ]%2:P#.MJ&/PU3[Z_'/EX3V0AT)!^%:=S*$A(9
M@8XV)0V34C;8H"/Y*$9.2@.V`Z"C97+2W:T:&8&.MJ"D64JN!@+HZ.YV[?Z<
M)!LA(NY9"]&ZE28J@([0I#T;):7CX",;@8[P5&3IB4K.:XF,0$?HT,!IX4!'
M"*>E=LA&B(HS:X,;L^/?](6,0$?0>`&:M;O4DPI4E"N6UZ)UDXU`1Q+12TV=
M7=J9I9`1Z(B(.C1OK_^6P)J;_95C:"="3M--?0F>@(P"@(P!T!`!T!(".,`"ST:`C`*`C
M`'0$S1U`1XH?H",`H"/TQVTBH",`H*.U$&Y`1P`P$,\[DIH`Z0@`Z`@`'4$C
M!]`1`#H"`#K2=OW&==F@(P"@(P!T!`!T!(".`(".`-`1?N,<.D!'H$G0$4:2
MFBS%A9"@(T@W`!T!H",`H",`=`0`=`2`C@"`CE"/*X]`1P!`1P#H"$TY>YN(
M[@QT!`!T-"MR#$!'!`70$0#0T;8IQI5'H"-<)AD"T!'N25EB#.@(`.@(`!TA
M9+L&T!&6$A/%@8[07"'.K8&.L%2[YLHCT!&T5P`=D1%`1P!`1VMB,AMT!`!T
MA/9\9&?70$>@).`M/PQ!:0G?OPZIX9FWC_S39!3H:"7]Y,FWD))`1U(0)0%T
M1$/:-D3%CIAO^^-3'TX^^(M\\@.FI``'ANU'P)DUQY?-TR'H"!W2F(`#.L)$
M,LINTP4=8523E@Z%1DB@(W3,1K7+^KXTLT>@(PP1T/?EL0^BX;JC#=JWUWHR
M^0TZFCRII)#KEP[6,!,2Z$C+-%I(:>*M`!VA2D7_+?S<]?W300.6O_S_5*E4
M^0AQ,)5].1>E806=7KS[YY\K^F[Q#*EZ/UKH%I*.)\M'[]JA-3LHGWYV,(!TM)*2:,G^?
MDWHDF'QRJP`ZFC0AU15]?E/RY5I*'31$1:"C#97TY_6I4`JY4!7YXG8`<3%W
M5%S*9Z^*SD5GN])A'LH7+FLLG\%R;@W2T30IZ7P^R<5))3=?9X".2&F(\)(R+0$2G1$'`:4]D-VJITXTTA_UV'%IC,AG046$:E)^'/7NPH#P%T
M5*6E\L)/%