├── .gitignore ├── LICENSE ├── README.md ├── examples ├── array_test.c ├── aspace │ └── aspace.c ├── cache │ ├── Makefile │ ├── cache.c │ ├── graph_data.py │ └── thinkplot.py ├── full_random.ipynb ├── lock │ ├── Makefile │ ├── array.c │ ├── cond.c │ ├── cond.h │ ├── example.c │ ├── lock.c │ ├── lock.h │ ├── lock.s │ ├── lock_bts.s │ ├── main.c │ ├── mutex.c │ ├── mutex.h │ ├── pmutex.c │ ├── semaphore.c │ ├── semaphore.h │ └── semlock.c ├── modf.c ├── palindrome.c ├── queue │ ├── Makefile │ ├── main.c │ ├── queue.c │ ├── queue.h │ ├── queue_cond.c │ ├── queue_mutex.c │ ├── queue_test.c │ ├── utils.c │ └── utils.h ├── rational │ └── rational.c ├── strfilter.c └── strsplit.c ├── exercises ├── ex01 │ ├── ex01.md │ └── hello.c ├── ex02.5 │ ├── bigint.c │ ├── ex02.5.md │ ├── find_track.c │ └── recurse.c ├── ex02 │ ├── aspace.c │ ├── ex02.md │ └── stack.c ├── ex03 │ ├── endswith.c │ └── ex03.md ├── ex04 │ ├── bigbadint.c │ ├── endswith.c │ ├── endswith.h │ ├── ex04.md │ ├── minunit.h │ └── test_endswith.c ├── ex05 │ ├── check_uniform.py │ ├── div.c │ ├── ex05.md │ ├── find_track.c │ ├── find_track_oo.c │ ├── lines.c │ ├── rand.c │ ├── rand.h │ ├── shapes.c │ ├── shapes.h │ ├── shapes_soln.c │ ├── test1.c │ ├── test2.c │ ├── test_shapes.c │ └── time_rand.c ├── ex06 │ ├── bad_list.c │ ├── ex06.md │ ├── good_list.c │ ├── list.c │ ├── mem_errors.c │ ├── proto_list.c │ └── sort_list.c ├── ex07 │ ├── ex07.md │ ├── hash.c │ └── list2.c ├── ex08 │ ├── ex08.md │ ├── ex_compile.c │ ├── matrix.c │ ├── matrix2.c │ └── matrix_soln.c ├── ex09 │ ├── ex09.md │ ├── fork.c │ ├── newshound.c │ ├── rssgossip.py │ └── rssgossip3.py ├── ex10 │ ├── echo_starter.c │ ├── ex10.md │ ├── signal_example.c │ ├── signal_example_soln.c │ └── tree.c ├── ex11 │ ├── advice_server.c │ ├── ex11.md │ ├── ikkp-server.c │ └── wiki_client.c ├── ex12 │ ├── Makefile │ ├── barrier.c │ ├── beer.c │ ├── counter.c │ ├── counter_array.c │ ├── ex12.md │ ├── mutex.c │ ├── mutex.h │ ├── read_write.c │ ├── utils.c │ └── utils.h ├── ex13 │ ├── Makefile │ ├── emma.txt │ ├── ex13.md │ ├── list_errors.c │ ├── mem_errors.c │ └── word_count.c └── web_server │ ├── Makefile │ ├── error.c │ ├── readline.c │ ├── str_cli08.c │ ├── str_echo08.c │ ├── tcpcli01.c │ ├── tcpserv01.c │ ├── unp.h │ ├── web_server.md │ ├── wraplib.c │ ├── wrapsock.c │ ├── wrapstdio.c │ ├── wrapunix.c │ └── writen.c ├── reading_questions └── thinkos.md └── solutions └── web_server ├── Makefile ├── error.c ├── readline.c ├── str_cli08.c ├── str_echo08.c ├── tcpcli01.c ├── tcpserv01.c ├── unp.h ├── wraplib.c ├── wrapsock.c ├── wrapstdio.c ├── wrapunix.c └── writen.c /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/README.md -------------------------------------------------------------------------------- /examples/array_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/array_test.c -------------------------------------------------------------------------------- /examples/aspace/aspace.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/aspace/aspace.c -------------------------------------------------------------------------------- /examples/cache/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/cache/Makefile -------------------------------------------------------------------------------- /examples/cache/cache.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/cache/cache.c -------------------------------------------------------------------------------- /examples/cache/graph_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/cache/graph_data.py -------------------------------------------------------------------------------- /examples/cache/thinkplot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/cache/thinkplot.py -------------------------------------------------------------------------------- /examples/full_random.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/full_random.ipynb -------------------------------------------------------------------------------- /examples/lock/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/lock/Makefile -------------------------------------------------------------------------------- /examples/lock/array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/lock/array.c -------------------------------------------------------------------------------- /examples/lock/cond.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/lock/cond.c -------------------------------------------------------------------------------- /examples/lock/cond.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/lock/cond.h -------------------------------------------------------------------------------- /examples/lock/example.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/lock/example.c -------------------------------------------------------------------------------- /examples/lock/lock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/lock/lock.c -------------------------------------------------------------------------------- /examples/lock/lock.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/lock/lock.h -------------------------------------------------------------------------------- /examples/lock/lock.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/lock/lock.s -------------------------------------------------------------------------------- /examples/lock/lock_bts.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/lock/lock_bts.s -------------------------------------------------------------------------------- /examples/lock/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/lock/main.c -------------------------------------------------------------------------------- /examples/lock/mutex.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/lock/mutex.c -------------------------------------------------------------------------------- /examples/lock/mutex.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/lock/mutex.h -------------------------------------------------------------------------------- /examples/lock/pmutex.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/lock/pmutex.c -------------------------------------------------------------------------------- /examples/lock/semaphore.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/lock/semaphore.c -------------------------------------------------------------------------------- /examples/lock/semaphore.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/lock/semaphore.h -------------------------------------------------------------------------------- /examples/lock/semlock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/lock/semlock.c -------------------------------------------------------------------------------- /examples/modf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/modf.c -------------------------------------------------------------------------------- /examples/palindrome.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/palindrome.c -------------------------------------------------------------------------------- /examples/queue/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/queue/Makefile -------------------------------------------------------------------------------- /examples/queue/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/queue/main.c -------------------------------------------------------------------------------- /examples/queue/queue.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/queue/queue.c -------------------------------------------------------------------------------- /examples/queue/queue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/queue/queue.h -------------------------------------------------------------------------------- /examples/queue/queue_cond.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/queue/queue_cond.c -------------------------------------------------------------------------------- /examples/queue/queue_mutex.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/queue/queue_mutex.c -------------------------------------------------------------------------------- /examples/queue/queue_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/queue/queue_test.c -------------------------------------------------------------------------------- /examples/queue/utils.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/queue/utils.c -------------------------------------------------------------------------------- /examples/queue/utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/queue/utils.h -------------------------------------------------------------------------------- /examples/rational/rational.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/rational/rational.c -------------------------------------------------------------------------------- /examples/strfilter.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/strfilter.c -------------------------------------------------------------------------------- /examples/strsplit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/examples/strsplit.c -------------------------------------------------------------------------------- /exercises/ex01/ex01.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex01/ex01.md -------------------------------------------------------------------------------- /exercises/ex01/hello.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex01/hello.c -------------------------------------------------------------------------------- /exercises/ex02.5/bigint.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex02.5/bigint.c -------------------------------------------------------------------------------- /exercises/ex02.5/ex02.5.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex02.5/ex02.5.md -------------------------------------------------------------------------------- /exercises/ex02.5/find_track.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex02.5/find_track.c -------------------------------------------------------------------------------- /exercises/ex02.5/recurse.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex02.5/recurse.c -------------------------------------------------------------------------------- /exercises/ex02/aspace.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex02/aspace.c -------------------------------------------------------------------------------- /exercises/ex02/ex02.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex02/ex02.md -------------------------------------------------------------------------------- /exercises/ex02/stack.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex02/stack.c -------------------------------------------------------------------------------- /exercises/ex03/endswith.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex03/endswith.c -------------------------------------------------------------------------------- /exercises/ex03/ex03.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex03/ex03.md -------------------------------------------------------------------------------- /exercises/ex04/bigbadint.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex04/bigbadint.c -------------------------------------------------------------------------------- /exercises/ex04/endswith.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex04/endswith.c -------------------------------------------------------------------------------- /exercises/ex04/endswith.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex04/endswith.h -------------------------------------------------------------------------------- /exercises/ex04/ex04.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex04/ex04.md -------------------------------------------------------------------------------- /exercises/ex04/minunit.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex04/minunit.h -------------------------------------------------------------------------------- /exercises/ex04/test_endswith.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex04/test_endswith.c -------------------------------------------------------------------------------- /exercises/ex05/check_uniform.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex05/check_uniform.py -------------------------------------------------------------------------------- /exercises/ex05/div.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex05/div.c -------------------------------------------------------------------------------- /exercises/ex05/ex05.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex05/ex05.md -------------------------------------------------------------------------------- /exercises/ex05/find_track.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex05/find_track.c -------------------------------------------------------------------------------- /exercises/ex05/find_track_oo.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex05/find_track_oo.c -------------------------------------------------------------------------------- /exercises/ex05/lines.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex05/lines.c -------------------------------------------------------------------------------- /exercises/ex05/rand.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex05/rand.c -------------------------------------------------------------------------------- /exercises/ex05/rand.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex05/rand.h -------------------------------------------------------------------------------- /exercises/ex05/shapes.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex05/shapes.c -------------------------------------------------------------------------------- /exercises/ex05/shapes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex05/shapes.h -------------------------------------------------------------------------------- /exercises/ex05/shapes_soln.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex05/shapes_soln.c -------------------------------------------------------------------------------- /exercises/ex05/test1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex05/test1.c -------------------------------------------------------------------------------- /exercises/ex05/test2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex05/test2.c -------------------------------------------------------------------------------- /exercises/ex05/test_shapes.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex05/test_shapes.c -------------------------------------------------------------------------------- /exercises/ex05/time_rand.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex05/time_rand.c -------------------------------------------------------------------------------- /exercises/ex06/bad_list.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex06/bad_list.c -------------------------------------------------------------------------------- /exercises/ex06/ex06.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex06/ex06.md -------------------------------------------------------------------------------- /exercises/ex06/good_list.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex06/good_list.c -------------------------------------------------------------------------------- /exercises/ex06/list.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex06/list.c -------------------------------------------------------------------------------- /exercises/ex06/mem_errors.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex06/mem_errors.c -------------------------------------------------------------------------------- /exercises/ex06/proto_list.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex06/proto_list.c -------------------------------------------------------------------------------- /exercises/ex06/sort_list.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex06/sort_list.c -------------------------------------------------------------------------------- /exercises/ex07/ex07.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex07/ex07.md -------------------------------------------------------------------------------- /exercises/ex07/hash.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex07/hash.c -------------------------------------------------------------------------------- /exercises/ex07/list2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex07/list2.c -------------------------------------------------------------------------------- /exercises/ex08/ex08.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex08/ex08.md -------------------------------------------------------------------------------- /exercises/ex08/ex_compile.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex08/ex_compile.c -------------------------------------------------------------------------------- /exercises/ex08/matrix.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex08/matrix.c -------------------------------------------------------------------------------- /exercises/ex08/matrix2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex08/matrix2.c -------------------------------------------------------------------------------- /exercises/ex08/matrix_soln.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex08/matrix_soln.c -------------------------------------------------------------------------------- /exercises/ex09/ex09.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex09/ex09.md -------------------------------------------------------------------------------- /exercises/ex09/fork.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex09/fork.c -------------------------------------------------------------------------------- /exercises/ex09/newshound.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex09/newshound.c -------------------------------------------------------------------------------- /exercises/ex09/rssgossip.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex09/rssgossip.py -------------------------------------------------------------------------------- /exercises/ex09/rssgossip3.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex09/rssgossip3.py -------------------------------------------------------------------------------- /exercises/ex10/echo_starter.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex10/echo_starter.c -------------------------------------------------------------------------------- /exercises/ex10/ex10.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex10/ex10.md -------------------------------------------------------------------------------- /exercises/ex10/signal_example.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex10/signal_example.c -------------------------------------------------------------------------------- /exercises/ex10/signal_example_soln.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex10/signal_example_soln.c -------------------------------------------------------------------------------- /exercises/ex10/tree.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex10/tree.c -------------------------------------------------------------------------------- /exercises/ex11/advice_server.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex11/advice_server.c -------------------------------------------------------------------------------- /exercises/ex11/ex11.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex11/ex11.md -------------------------------------------------------------------------------- /exercises/ex11/ikkp-server.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex11/ikkp-server.c -------------------------------------------------------------------------------- /exercises/ex11/wiki_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex11/wiki_client.c -------------------------------------------------------------------------------- /exercises/ex12/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex12/Makefile -------------------------------------------------------------------------------- /exercises/ex12/barrier.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex12/barrier.c -------------------------------------------------------------------------------- /exercises/ex12/beer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex12/beer.c -------------------------------------------------------------------------------- /exercises/ex12/counter.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex12/counter.c -------------------------------------------------------------------------------- /exercises/ex12/counter_array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex12/counter_array.c -------------------------------------------------------------------------------- /exercises/ex12/ex12.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex12/ex12.md -------------------------------------------------------------------------------- /exercises/ex12/mutex.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex12/mutex.c -------------------------------------------------------------------------------- /exercises/ex12/mutex.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex12/mutex.h -------------------------------------------------------------------------------- /exercises/ex12/read_write.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex12/read_write.c -------------------------------------------------------------------------------- /exercises/ex12/utils.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex12/utils.c -------------------------------------------------------------------------------- /exercises/ex12/utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex12/utils.h -------------------------------------------------------------------------------- /exercises/ex13/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex13/Makefile -------------------------------------------------------------------------------- /exercises/ex13/emma.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex13/emma.txt -------------------------------------------------------------------------------- /exercises/ex13/ex13.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex13/ex13.md -------------------------------------------------------------------------------- /exercises/ex13/list_errors.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex13/list_errors.c -------------------------------------------------------------------------------- /exercises/ex13/mem_errors.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex13/mem_errors.c -------------------------------------------------------------------------------- /exercises/ex13/word_count.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/ex13/word_count.c -------------------------------------------------------------------------------- /exercises/web_server/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/web_server/Makefile -------------------------------------------------------------------------------- /exercises/web_server/error.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/web_server/error.c -------------------------------------------------------------------------------- /exercises/web_server/readline.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/web_server/readline.c -------------------------------------------------------------------------------- /exercises/web_server/str_cli08.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/web_server/str_cli08.c -------------------------------------------------------------------------------- /exercises/web_server/str_echo08.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/web_server/str_echo08.c -------------------------------------------------------------------------------- /exercises/web_server/tcpcli01.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/web_server/tcpcli01.c -------------------------------------------------------------------------------- /exercises/web_server/tcpserv01.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/web_server/tcpserv01.c -------------------------------------------------------------------------------- /exercises/web_server/unp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/web_server/unp.h -------------------------------------------------------------------------------- /exercises/web_server/web_server.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/web_server/web_server.md -------------------------------------------------------------------------------- /exercises/web_server/wraplib.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/web_server/wraplib.c -------------------------------------------------------------------------------- /exercises/web_server/wrapsock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/web_server/wrapsock.c -------------------------------------------------------------------------------- /exercises/web_server/wrapstdio.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/web_server/wrapstdio.c -------------------------------------------------------------------------------- /exercises/web_server/wrapunix.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/web_server/wrapunix.c -------------------------------------------------------------------------------- /exercises/web_server/writen.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/exercises/web_server/writen.c -------------------------------------------------------------------------------- /reading_questions/thinkos.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/reading_questions/thinkos.md -------------------------------------------------------------------------------- /solutions/web_server/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/solutions/web_server/Makefile -------------------------------------------------------------------------------- /solutions/web_server/error.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/solutions/web_server/error.c -------------------------------------------------------------------------------- /solutions/web_server/readline.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/solutions/web_server/readline.c -------------------------------------------------------------------------------- /solutions/web_server/str_cli08.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/solutions/web_server/str_cli08.c -------------------------------------------------------------------------------- /solutions/web_server/str_echo08.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/solutions/web_server/str_echo08.c -------------------------------------------------------------------------------- /solutions/web_server/tcpcli01.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/solutions/web_server/tcpcli01.c -------------------------------------------------------------------------------- /solutions/web_server/tcpserv01.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/solutions/web_server/tcpserv01.c -------------------------------------------------------------------------------- /solutions/web_server/unp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/solutions/web_server/unp.h -------------------------------------------------------------------------------- /solutions/web_server/wraplib.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/solutions/web_server/wraplib.c -------------------------------------------------------------------------------- /solutions/web_server/wrapsock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/solutions/web_server/wrapsock.c -------------------------------------------------------------------------------- /solutions/web_server/wrapstdio.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/solutions/web_server/wrapstdio.c -------------------------------------------------------------------------------- /solutions/web_server/wrapunix.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/solutions/web_server/wrapunix.c -------------------------------------------------------------------------------- /solutions/web_server/writen.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllenDowney/ExercisesInC/HEAD/solutions/web_server/writen.c --------------------------------------------------------------------------------